Skip to main content

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 är 1 — standard när fältet saknas. Sätt den till 0 fö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 DataPublisher fixades så att anslutningens livscykel körs inom en enda transaktion, radantalsrapporteringen korrigerades, och USE 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 i DataModifier korrigerades till retries < 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 i DataProfiler och DataOrganizer.
  • Slutförande av uppladdning. Uppladdningar avslutas nu explicit (flush_data(close=True)) så att blobnotifieringar utlöses med korrekta innehållslängder.

Uppgraderingsnoteringar​

  1. 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.
  2. 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.
  3. Övervaka <zone>-parked-köerna. Revisionsloggning görs om fem gånger och parkerar sedan meddelandet; parkerade meddelanden görs inte om automatiskt.
  4. Ett meddelande utan objectUrl rapporterar nu misslyckande, där det tidigare rapporterade framgång.
  5. Revisionsloggning är begränsad till landningszonen; tidsstämplar bär millisekunder så att filer som landar inom samma sekund kan ordnas.