Expand my Community achievements bar.

Sequence issue

Avatar

Level 3

Hello everyone !

I have a reccurent problem in my platform... I'm sending nearly 6 millions of email every day, so i'm generating much logs ! I'm monitoring my ID sequence to don't have problems with the loop at 2 billion, but I have a problem that I don't understand.

My sequence in the data table "XtkNewId" is named "XtkJobLogId" and it seems OK, currently at 1,800,000,000. I already cleaned the old logs for the next loop at 2 billions.

Here is my problem :

"10/08/2017 15:11:47 La génération des identifiants de la séquence 'XtkJobLogId' est incohérente. Erreur à la position 94 dans la chaîne 'INSERT INTO XtkJobLog (iJobLogId, iJobId, iLogType, tsLog, iError, sObject, sMessage) VALUES ($(id:XtkJobLogId), $(l), $(s), $(curdate), $(l), $(sz), $(sz[512]))'."

Translated in english :

"10/08/2017 15:11:47 ID generation of the sequence 'XtkJobLogId' is inconsistent. Error at position 94 in the 'INSERT INTO XtkJobLog (iJobLogId, iJobId, iLogType, tsLog, iError, sObject, sMessage) VALUES ($(id:XtkJobLogId), $(l), $(s), $(curdate), $(l), $(sz), $(sz[512]))'."

I do not understand the error message. What's meaning "inconsistent" about id sequence ?

Did someone had the same problem ? Do someone have a solution ?

Thanks a lot by advance,

Alexander

7 Replies

Avatar

Level 10

Hello Alexander,

You should submit a ticket at Adobe Campaign support team, because such error with database insertions errors are always tricky...

I got a similar bug for an another AC object insert/update in a specific AC build past year, with a value overflow; AC product team resolved it by providing an hotfix and they reacted promptly; it is why I recommend you to submit a ticket.

In the meanwhile, waiting for the hotfix, I have raised the size of the column in DB and of course set the same raised value in the schema (extended schema for this workaround of course).

But perhaps I am wrong and your issue is not the same case at all, so sorry in advance if I mislead you and Adobe support with this hypothesis.

To my mind, I guess the error you are facing with is linked to the size of the sMessage parameter in some cases.

sMessage is defined as 512 varchar length in DB (same in @message in Adobe Campaign XML schema xtk:kobLog).
And if the AC source code doesn't manage correctly strings length over than 512 char, it generates an overflow/not truncated so the position 94 means that the values parameter are incorrect.

One thing you can do for pointing out for which the sMessage parameter length below; but it the variable parameter in the insert exceeds the size of sMessage length max 512, the SQL exception is raised so you can't see the right occurrence generating the error. But it can helps sometimes to see what kind of messages are close to the max value.

1276836_pastedImage_0.png

Regarding the xtkNewId sequences management (automatic cycle/ set to 1000 or set to negative numbers depending on the sequence), I recommend you to create a monitoring workflow as is:

1276837_pastedImage_2.png

1276850_pastedImage_3.png

It helps greatly to be alerted by reaching thresholds, and also to analyze excessive consumption in some cases and be warned. In my example, it is xtkNewId sequence of xtkNewId, but you can put xtkJobLogId or xtkWorkflowLogId if you want to monitor them.

Regards
Jean-Serge

Avatar

Level 3

Hello Jean-Serge,

[FR Version]

Merci pour votre réponse rapide. J'ai essayé de regarder, mais cela ne semble pas venir de là. En effet, l'erreur semble se produire sur XtkJobLog, et plus précisément lors de l'insertion du champ JobId via l'identifiant de séquence XtkJobLogId. Je ne sais pas pourquoi, l'ID s'incrémente correctement en base, mais il se trouve qu'un message d'erreur vient à s'afficher... je ne comprends pas pourquoi.

Je vais faire un ticket sur le support d'Adobe, mais je ne suis pas sûr d'avoir une réponse à mon problème.

Ce que je ne comprends pas, c'est la nature du message d'erreur, Séquence d'identifiant incohérent... C'est un message que je n'ai jamais rencontré auparavant.

Votre problème rencontrait le même message d'erreur alors que le soucis venait d'un autre champ ?!

Cordialement.

[EN Version]

Thank you for your prompt response. I tried to look, but that does not seem to come from there. Indeed, the error seems to occur on XtkJobLog, and more precisely when inserting the JobId field via the sequence identifier XtkJobLogId. I do not know why, the ID increments correctly in base, but an error message comes up ... I do not understand why.

I'm going to make a ticket on Adobe's support, but I'm not sure I have an answer to my problem.

What I do not understand is the nature of the error message, Inconsistent identifier sequence ... This is a message I have never encountered before.

Did your problem encounter the same error message when the issue came from another field ?!

Regards.

Avatar

Level 10

Hi Alexander,

[FR version]

L'identifiant de séquence est obtenu avant l'appel à la fonction d'insert (fonction GetNewIds), c'est pour cela qu'en base la séquence est augmentée sans erreur, avant que l'appel à l'insertion soit effectué.

Je pense que le support va demander à passer en mode verbose avec filtre wdbc sur le serveur s'ils ne trouvent pas d'éléments avec votre web.log.

Et ce serait mieux que vous ayez une idée du process / traitement batch qui génère l'erreur d'insertion, comme cela vous ne passez en mode verbose que le traitement suspecté de générer l'erreur. Et ainsi vous aurez le détail de la requête SQL, plus exactement les valeurs de paramètres.
Par exemple, si cela se produit pendant la remontée des logs de tracking, le support Adobe aimerait avoir quelques traces détaillées ainsi en redémarrant votre service de tracking avec ces options :
nlserver tracking -verbose -tracefilter:wdbc -instance:instanceName

Mais vous avez raison, je n'avais pas le même message d'erreur exactement, pour ma part c'était une violation de contrainte d'intégrité SQL, pas un message d'erreur applicatif.
Donc seul le support pourra vous aider efficacement, je pense. Désolé de ne pouvoir faire mieux à ce stade.

Cordialement.
Jean-Serge

[EN version]

Sequence Id value is obtained (by GetNewIds function) before the insert call, it explains why the sequence id is correctly raised.

Adobe support would probably ask you to run the process(es) on verbose mode with tracefilter wdbc on the server.

If a batch process is suspected, only run this process in verbose mode. And so you will get the SQL details (parameters values).

Example with tracking process:
nlserver tracking -verbose -tracefilter:wdbc -instance:instanceName

But you are right, I didn't have the same error message, for my own issue it was a SQL integrity constraint violation, not an applicative error message.
Hence only Adobe support will help you efficiently, to my mind. Sorry to not being able to help you more at the time being.

Regards
J-Serge

Avatar

Level 3

Jean-Serge,

Merci beaucoup pour votre retour. Je vais essayer de passer le service en verbose sur le serveur pour avoir plus précisement le problème.

Je pense que c'est effectivement à l'appel de la fonction GetNewXtkJobLogId dans mon cas qu'il y a un problème. Si seulement je savais à quoi correspondait le problème d'"incohérence" de la séquence !

Je vais essayer de préciser tout cela à Adobe en essayant de ne pas avoir une réponse du type:

"Montez la version de votre serveur"
"Il faut prendre du consulting pour que nous puissions vous aider"

il s'agit ici d'une séquence native de sur croix...

En tout cas merci beaucoup pour le temps que vous avez pris pour moi, et si  vous avez besoin sur d'autre sujets, n'hésitez pas à m'en faire part.

Cordialement,

Alexandre ROUILLARD

Avatar

Level 10

Bonjour Alexandre,

Avez-vous pu résoudre votre problème ?

Florent

Avatar

Level 3

Bonjour Florent,

Malheureusement non... le problème n'est pas résolu à l'heure actuelle. j'ai ouvert un ticket d'importance haute du coté du support, mais nous n'avons pas eu de retour depuis 15 jours... J'ai essayé d'investiguer sur plusieurs pistes possibles, mais je n'arrive pas à trouver l'origine du problème.

Avez-vous déjà observé ce genre de problème ?

A disposition pour échanger sur le sujet,

Cordialement,

Avatar

Level 10

Bonjour Alexandre,

Désolé pour la réponse tardive j'ai dû m'absenter quelques semaines. Avez-vous eu un retour du support depuis ?

Florent