Skip to main content

DWA by Simplitics – v3 Versionsnoteringar

Version: 3.2 ErsÀtter: release/v25.6.2

3.2-motorn serialiserar mĂ„ljobb, registrerar varje kvalitetskontroll för sig, och taggar varje sats den skickar med det jobb som utfĂ€rdade den. Se Vad förĂ€ndras i 3.2 — avsnitten Datakvalitet och SpĂ„rbarhet tĂ€cker resonemanget bakom dessa Ă€ndringar.

🚀 Funktioner

  • Serialisering av mĂ„ljobb. Redis-lĂ„sbaserad serialisering av jobb (lock:<loadstep>) med reservköer för vĂ€ntande jobb förhindrar konflikter vid samtidig mĂ„lexekvering.
  • KvalitetsschemalĂ€ggning och spĂ„rning. QPI-motorn för kvalitetskontroller byggdes om med kadensmedveten schemalĂ€ggning (daily, hourly, monthly, adhoc), oberoende exekveringsspĂ„rning per kontroll, inbyggd frĂ„getaggning (QUERY_TAG, sqlcommenter) och OpenLineage-hĂ€ndelser för förĂ€ldrajobb.
  • Exekveringsposter per kontroll. Varje kontroll nycklas pĂ„ (qpi, runDttm) och registrerar sitt eget tillstĂ„nd och resultat genom sina egna start- och slutanrop — batchstatusen speglade tidigare endast den sista kontrollen i batchen. runDttm hĂ€mtas ur meddelandet och skrivs tillbaka pĂ„ det, sĂ„ en omkörd batch Ă„teranvĂ€nder samma körningsnyckel och start/slut förblir idempotenta. Vid slutförande rullar API:et MDQpi.LastRunTm framĂ„t.
  • Ett misslyckat test skiljs frĂ„n en trasig kontroll. En kontroll vars SQL kördes men vars testfall misslyckades registreras som Completed med resultState=fail och rapporteras; en kontroll vars SQL kastade fel registreras som Failed med det verkliga felet och stackspĂ„rningen, och batchen görs om. validate() kastar nu fel vid varje misslyckande i stĂ€llet för att returnera ett partiellt resultat.
  • Orkestrering och hygien. Filutlösare uppgraderades med Redis SHA256-deduplicering, och Ă„ldersmedvetna stĂ€dpass för containrar lades till för fastnade och avslutade arbetaruppgifter.

🐛 Buggfixar

  • Exekvering och resultathantering. setBatch-hanteringen av tomma resultatmĂ€ngder slĂ€pper nu DML-rĂ€knarrader med nollidentitet, och instĂ€llningar för databasdrivrutinen gjordes valfria för att förhindra startkrascher mot mĂ„l utan ODBC.
  • Uppgiftssekvensering och grindning. Grindningen av laddningsordning (identify_tasks_to_inititate) skrevs om sĂ„ att beroende uppgifter blockeras nĂ€r tidigare schemalagda ordningar Ă€r ofullstĂ€ndiga.
  • TillstĂ„ndsĂ„terstĂ€llning. Omstartshanteringen fixades, och kvarvarande state- och information-nycklar rensas innan uppgifter köas om, för att förhindra att inaktuell feltext propagerar in i nĂ€sta körning.
  • Köstabilitet. Redis-köoperationer hĂ€rdades med StrictRedis-keepalives och hĂ€lsokontroller, och loggningsbruset frĂ„n containerstĂ€dningen tystades.

Uppgraderingsnoteringar​

  1. Flytta varje arbetare till REDIS. Backends för SQS och Azure Storage Queue Àr borttagna; en driftsÀttning som lÀmnas kvar pÄ nÄgon av dem faller tyst igenom till en nullkö.
  2. FrÄgetaggning krÀver ingen konfiguration. Ett statiskt QUERY_TAG- eller APP-vÀrde som redan Àr satt bevaras, det kastas inte. Taggen landar i QUERY_TAG pÄ Snowflake, user_agent_entry pÄ Databricks, application_name pÄ PostgreSQL och ODBC-APP pÄ SQL Server, Synapse och Fabric, med en inledande sqlcommenter-kommentar pÄ alla mÄl.
  3. Kvalitetsdefinitioner skrivs inte lĂ€ngre av arbetaren — den Ă€ndpunkten Ă€r reserverad för att redigera dem.