cubicweb #15538303 massive store master / slave api [validation pending]

Le master initialise les slaves en leur attribuant un identifiant

Dans la table cwmassive_initialized, on rajoute une colonne "store_id"

Les stores slaves écrivent dans cwmassive_initialized quand ils rencontrent un nouveau type d'entité / relation en précisant leur identifiant dans la colonne "store_id".

Les stores slaves écrivent non pas dans xxx_relation_tmp mais xxx_relation_tmp_<store_id>. Idem pour les tables d'entité.

Le master, à la fin, récupère le contenu de cw_massive_initialized et va parcourir les tables temporaires créées par les slaves, drop les contraintes sur les tables d'entité / relation correspondantes, fusionne les données insérées par les slaves, les insère dans les tables cibles (cw_xxx et xxx_relation), restore les contraintes et les métadonnées.

prioritynormal
typeenhancement
done in3.24.0
load left0.000
closed by<not specified>
patch[massive store] Store entities in temporary table as well [applied][massive store] Use a slave specific table for relation insertion in the massive store [applied][massive store] Reintroduce methods that are necessary to properly handle master/slave configuration [applied]