Vous n'êtes pas identifié(e).

#1 2024-08-27 20:53:53

antoine
Inscription : 2014-09-14
Messages : 10 969

[résolu] suppression de toutes les infrastructure

L'algo qui met à jour le domaine se déroule comme suit :

1- remettre toute la carte à 0
2- calculer tous les domaines
3- identifier toutes les infrastructures qui ne sont plus sur les domaines de leur propriétaire et les supprimer

Sauf que si par malheur cet algo est déclenché 2 fois en parallèle (par exemple à cause d'un déplacement qui se passe en même temps qu'une création d'infra ou abandon, ou rupture de serment, ... bref tout ce qui peut mettre une infrastructure comme invalide déclenche cet algo) ...

Et que si on a le thread 1 qui arrive à l'étape 3 au moment où le thread 2 est à l'étape 0.
Ben à ce moment là, toute la carte étant sans domaine, cela fait sauter toutes les infrastructures de la carte.

Donc je vais mettre en place un mécanisme de lock sur la base de donnée pour que l'étape 1 verrouille la carte et ne la deverouille qu'à l'étape 3.

Ce qui s'est passé à 18h25 était pas de chance mais c'est inquiétant que ça se produise dès le premier jour !


Marie, gouvernante du clan Samarie.
(HRP: Admin)

Hors ligne

#2 2024-08-27 22:40:16

HernfeltMayer
Inscription : 2023-07-28
Messages : 407

Re : [résolu] suppression de toutes les infrastructure

antoine a écrit :

L'algo qui met à jour le domaine se déroule comme suit :

1- remettre toute la carte à 0
2- calculer tous les domaines
3- identifier toutes les infrastructures qui ne sont plus sur les domaines de leur propriétaire et les supprimer

Sauf que si par malheur cet algo est déclenché 2 fois en parallèle (par exemple à cause d'un déplacement qui se passe en même temps qu'une création d'infra ou abandon, ou rupture de serment, ... bref tout ce qui peut mettre une infrastructure comme invalide déclenche cet algo) ...

Et que si on a le thread 1 qui arrive à l'étape 3 au moment où le thread 2 est à l'étape 0.
Ben à ce moment là, toute la carte étant sans domaine, cela fait sauter toutes les infrastructures de la carte.

Donc je vais mettre en place un mécanisme de lock sur la base de donnée pour que l'étape 1 verrouille la carte et ne la deverouille qu'à l'étape 3.

Ce qui s'est passé à 18h25 était pas de chance mais c'est inquiétant que ça se produise dès le premier jour !

DEBUG mode ON


Siostry Vespasia et toute sa clique, Aldric "Main-de-Sixte" Ravenswood, Amaury de Gavere, Le Denier, Maître Balthazar ou le Strolatz Wacław Kowalczyk.

Hors ligne

#3 2024-08-28 10:57:29

antoine
Inscription : 2014-09-14
Messages : 10 969

Re : [résolu] suppression de toutes les infrastructure

en théorie ça devrait plus arriver j'ai blindé le truc pour qu'un seul thread puisse passer à la fois


Marie, gouvernante du clan Samarie.
(HRP: Admin)

Hors ligne

Pied de page des forums

Propulsé par FluxBB