DLS (Data Lake Service) – v3 Versionsnoteringar
Version: 3.2
Ersätter: release/v25.10.4
3.2-linjen gör om hur en landad fil lämnas vidare. Externa lagringsutlösare är borta, profilering körs som standard efter att en fil landat, och en misslyckad revisionslogg är nu synlig i stället för tyst frånvarande. Se Vad förändras i 3.2 för helhetsbilden, och avsnittet Landning där för detaljerna kring meddelandeflödet.
🚀 Funktioner
- Överlämning i pipelinen och flödesstabilitet. Externa utlösare för blobskapande i lagringen ersattes med chunkpublicering i processen (
queue:qpublisher) och direkt slutförandemeddelande (queue:qfileready,queue:qmodifyfile,queue:qprofile). Det tar bort det externa beroendet ur överlämningsvägen och snabbar upp överlämningen nedströms. - Profilering körs som standard. Efter en lyckad organisering med godkänd revisionslogg postas filen till modify-kön och lämnas vidare, och dessutom till profile-kön när
targetData.enableProfilerär1— standard när fältet saknas. Sätt den till0för att undanta en källa. - Transaktions- och uppladdningsmotståndskraft. Strikt transaktionsatomicitet per fil upprätthålls över alla filnivåer, och chunkströmning är
zlib-komprimerad för att eliminera minnestillväxt vid uppladdningar med hög volym. - Styrning och revisionsspår. Revisionsmetadata sparas innan filuppladdningen; revisionsloggningen uppgraderades till millisekundsprecision med lagerrelativa sökvägar; och misslyckade meddelanden dirigeras till automatiska parkeringsköer (
<zone>-parked). - Säkerhet och behörighetsuppgifter. Lade till Snowflake-nyckelparsautentisering (JWT), dynamisk upplösning av behörighetsuppgifter via AWS Secrets Manager och Azure Key Vault, samt ett offlineverktyg för nyckelverifiering.
🐛 Buggfixar
- Transaktions- och exekveringsatomicitet. Transaktionshanteringen per fil i
DataPublisherfixades så att anslutningens livscykel körs inom en enda transaktion, radantalsrapporteringen korrigerades, ochUSE WAREHOUSE-exekvering begränsas nu strikt till Snowflake-mål. - Kö- och omförsöksdirigering. Trashcan-dirigeringen skickar nu misslyckade meddelanden till
queue:trashcan, och tröskellogiken för omförsök iDataModifierkorrigerades tillretries < 5. - Tidsstämpel- och sökvägsformatering. Fel i konvertering av händelsetider löstes med
_to_local_naive()för att förhindra tidszonsförskjutningsbuggar, dubbla snedstreck i konstruerade URL:er eliminerades, och lagerrelativ sökvägsformatering standardiserades. - Integritet i API-payload och headers. Backendens avvisande av form-data löstes genom att explicit sätta
Content-Type: application/json-headers iDataProfilerochDataOrganizer. - Slutförande av uppladdning. Uppladdningar avslutas nu explicit (
flush_data(close=True)) så att blobnotifieringar utlöses med korrekta innehållslängder.
Uppgraderingsnoteringar
objectUrlär nu en lagerrelativ sökväg, inte en fullständigt kvalificerad URL. Allt som läser den måste själv lägga till värden..gz-suffixet läggs på exakt ett ställe.queue:qfilereadyär borta ur den externa utlösarvägen — slutförande meddelas direkt. Starta modify- och profile-konsumenterna innan filflyttaren driftsätts, annars ansamlas meddelanden bakom den.- Övervaka
<zone>-parked-köerna. Revisionsloggning görs om fem gånger och parkerar sedan meddelandet; parkerade meddelanden görs inte om automatiskt. - Ett meddelande utan
objectUrlrapporterar nu misslyckande, där det tidigare rapporterade framgång. - Revisionsloggning är begränsad till landningszonen; tidsstämplar bär millisekunder så att filer som landar inom samma sekund kan ordnas.