Le parametre USE_ORACLE_SEQUENCE ne concerne que les bases Oracle.
Sur une base MySQL il n’y a pas de séquence au sens Oracle mais, en théorie, il ne devrait pas pouvoir y avoir de pb de duplicate key sur le row ID à moins d’être dans un cas particulier d’usage non prévu.
Pouvez vous préciser dans quel contexte vous avez ces erreurs ?
Merci
Après déploiement de code et vidage de cache, le code de création mentionné dans le premier post fonctionne comme attendu.
(L’objet est créé dans le postCreate d’un autre objet)
Le lendemain, la création ne fonctionne plus à cause du problème de duplicate key.
Ce comportement s’est reproduit plusieurs fois.
Lundi matin, détection du bug.
Lundi soir, j’ajoute des logs sans toucher au code de création pour essayer d’identifier le bug. Je déploie le code et la création fonctionne.
Mardi matin, le bug revient.
Mardi soir, je change le code de création et j’ajoute
OK je note que votre problème se produit dans le cas d’une création par code d’un objet B dans le postCreate d’un objet A.
Et je comprends que visiblement le pb ne se produit pas systématiquement et que ce n’est pas directement lié à la manière dont le code est écrit.
Est-ce que, aux moments où le pb s’est manifesté, il y avait une forte charge sur cet objet (nombreuses sessions utilisateur et/ou traitements d’imports en masse, …) ?
Indépendamment de cela pourriez vous nous indiquer si votre version 3.0 est bien à à jour de ses patches de maintenance. Pour cela pouvez vous nous envoyer le résultat d’un appel sur /health de votre instance ?
Merci
Je ne sais pas il y avait combien d’utilisateurs connectés quand le problème s’est manifesté, mais il y a en général pas plus de 5 personnes connectées en même temps.
Vous utilisez visiblement la release de maintenance 3.0 M28 datée du 10/03/2016
La release actuelle sur la branche 3.0 est la M35 (avec dernier commit au 24/11/2017
Entre votre release et ce dernier commit il y a eu pas moins de 308 commits (!) sur cette branche.
Et en faisant une comparaison entre ce dernier commit et votre release on trouve de très nombreuses différences notables, notamment sur le “coeur” du moteur Simplicité (en particulier sur l’object loader et l’object manager, ce dernier s’occupant, entre autre, de la gestion de la création row IDs).
Dans ce contexte nous vous suggérons donc de commencer par upgrader. Si le problème que vous remontez persiste nous investiguerons plus avant.
En attendant nous pouvons vous mettre à disposition une instance 3.0 (sur MySQL) à jour afin que vous y testiez votre paramétrage.