CAMPAIGN CLASSIC - Inkrementelle Abfrage erfasst alle Datensätze anstelle nur neuer

Beschreibung description

Der Kunde verfügt über mehrere inkrementelle Abfragen, die nicht erwartungsgemäß funktionieren. Anstatt nur neue Datensätze seit der letzten Ausführung aufzunehmen, greifen sie alle Datensätze jedes Mal auf - wie ein normales Abfrage -Aktivität.

Auflösung resolution

Der Schuldige ist der Bereinigung Arbeitsablauf.

Die Inkrementelle Abfrage Workflow funktioniert auf diese Weise:

  1. Verlaufstabelle mit Ergebnissen aus früheren Iterationen verwalten
  2. Rufen Sie ALLE Zeilen aus der Zielabfrage ab.
  3. Filtern aller in der Verlaufstabelle vorhandenen Zeilen
  4. Fügen Sie die verbleibenden Ergebnisse zur nächsten Iterationsfilterung in die Verlaufstabelle ein.

Der Name dieser Verlaufs-Arbeitstabelle weist die folgende Notation auf:

wkfhistoworkflowid activityName_

Jetzt für workflowIDs 0 (für Kunden, bei denen die Variable xtknewid Negative Sequenzen) sehen wir, dass es tatsächlich ist:

wkfhisto(uint)workflowid activityName_

Dies ist zwar für die Ausführung des Workflows geeignet.

Beispielsweise die inkrementelle Aktivität incremental1 von Workflow-ID=-1 erstellt eine Tabelle wkfhisto4294967295_incremental1.

Was verpasst wird, ist die Bereinigung Arbeitsablauf.

Hier finden Sie einen Code, der versucht, Arbeitstabellen gelöschter Workflows zu löschen.

Ein dedizierter Code listet hier alle wkfhisto*-Tabellen auf, extrahiert die workflowId aus ihren Namen (aus der obigen Konvention) und löscht sie alle außer denen, deren workflowIDs in der xtkworkflow-Tabelle gefunden werden.

Die uint Teil.

Es versucht also, einen Workflow mit der ID 4294967295 nachzuschlagen, anstatt ihn zurück an int zu senden. Da dieser Workflow nicht gefunden wird, wird diese Tabelle gelöscht. Wenn dieser Workflow das nächste Mal ausgeführt wird, wird die Inkrementelle Abfrage -Aktivität findet keine existierende Verlaufstabelle und erstellt sie, indem sie sich dies als die erste Ausführung überhaupt vorstellt.

Fehlerbehebung:

Die Behebung dieses Problems ist in der Adobe Campaign Classic-Version 20.1.1 (Build 9122 und höher) verfügbar.

Problemumgehungen, die Kunden verwenden können:

Problemumgehung 1: Beenden Sie den Bereinigungs-Workflow und führen Sie ihn zwischenzeitlich aus, um die Datenbank und die Festplatte zu bereinigen, bis die Korrektur ausgeführt und verfügbar ist. Nicht empfohlen, wenn Sie kein geplantes Upgrade durchführen.

Problemumgehung 2: Stellen Sie sicher, dass die Variable Inkrementelle Abfrage -Aktivität betroffen ist und sie umgehen kann, indem Sie dasselbe tun wie die Inkrementelle Abfrage erstellt ein beständiges Schema, in dem die Verlaufstabelle gespeichert werden soll. Verwenden Sie eine Kombination aus Abfrage und Daten aktualisieren -Aktivitäten, um das Verhalten zu imitieren. Dies muss für alle Workflows durchgeführt werden, die eine inkrementelle Abfrage erfordern.

Problemumgehung 3: Stellen Sie sicher, dass die Variable Inkrementelle Abfrage Dies wirkt sich auf die Aktivität aus und kann umgangen werden, indem dem betreffenden Schema ein Audit-Feld (tsCreated/tsLastModified) hinzugefügt wird. Ihre inkrementelle Abfrage wird dann in eine normale Abfrageaktivität mit einer WHERE-Klausel wie tscreated GetDate().

Problemumgehung 4:

  • Erstellen Sie eine neue Sequenz "xtknewworkflowid"und initialisieren Sie sie in eine Sequenz, die weit von den aktuellen workflowId-Bereichen entfernt ist.
  • Ändern Sie das xtkworkflow-Schema, um dies zu verwenden. pkSequence
  • Bitten Sie den Kunden, alle betroffenen Workflows zu klonen und die ursprünglichen zu löschen.
  • Sobald der Kunde für ein Upgrade bereit ist, entfernen Sie diese Fehlerbehebung, indem Sie zu xtknewId für die Workflow-Erstellung (um unerwünschte Überraschungen zu vermeiden).
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f