Actions
Anomalie #5206
ferméConcurrence sur docperm
Début:
18/11/2014
Echéance:
% réalisé:
100%
Temps estimé:
Version source:
Solution proposée:
Ajouter un lock exclusif dans la méthode DocCtrl::computeDProfil()
$this->savePoint("docperm");
simpleQuery($this->dbaccess, "lock TABLE docperm in exclusive mode ");
foreach ($tuid as $ku => $uid) {
...
$perm->add();
...
}
$this->commitPoint("docperm");
Principaux fichiers impactés:
Class.DocCtrl.php
Complexité:
Contrôle:
Lancer un stress psur une action qui recalcule les profil
Thème:
Socle technique
Régression:
Description
L'erreur peut provenir lors d'accès concurrent entraînant un recalcul des profils.
exec_query :insert into docperm(docid,userid,upacl) values (E'338593',E'16',E'8')
[W] Dynacase:DbObj:docperm: [] : PostgreSQL Error : {DB0001} query error : ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « idx_perm » DETAIL: La
clé « (docid, userid)=(338593, 16) » existe déjà.
Actions
#1
Mis à jour par Éric Brison il y a plus de 11 ans
- Statut changé de Analysé à Intégré
- % réalisé changé de 0 à 100
Appliqué par commit dynacase-core|commit:85a03fb8772a22322b4d143f68747d396840c62b.
Actions