J'utilise SymetricDS et symétrique parfois soulever une erreur:SymmetricDS mise à jour d'erreur double clé
INFO [slave] [DefaultDatabaseWriter] [slave-data-loader-1] Failed to process update event in batch 298578.
ERROR [slave] [DataLoaderService] [slave-data-loader-1] Failed to load batch 000-298578 StackTraceKey [UniqueKeyException:4114584735]
ERROR [master][AcknowledgeService] [master-push-default-5] The outgoing batch 001-298578 failed: ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « primary_key_constaint_name » Détail : La clé existe déjà.
J'ai essayé de détecter et de conflits corrects par insertion dans sym_conflict cette ligne:
insert into sym_conflict(conflict_id, source_node_group_id, target_node_group_id, detect_type resolve_type, ping_back)
values('master-win', 'master', 'slave', 'USE_CHANGED_DATA', 'INGORE', 'SINGLE_ROW');
mais cela ne travail. Sur la documentation ont trouvé ceci:
USE_CHANGED_DATA: Indique que la clé primaire plus toutes les données qui ont changé sur le système source seront utilisées pour détecter un conflit. S'il existe une ligne avec les mêmes anciennes valeurs sur le système cible que sur le système source pour les colonnes modifiées sur le système source, aucun conflit n'est détecté pendant une mise à jour ou une suppression. Si une ligne existe déjà pendant une insertion, un conflit a été détecté.
Comment symétrique peut détecter les conflits PK sur une mise à jour et l'ignorer? Merci.
Merci, mais cela ne fonctionne pas dans mon symétrique (3.8), réessayer symétrique et échoue à chaque fois – lolusab
avez-vous supprimé les données de sym_conflict? –
oui J'ai supprimé des données dans 'sym_conflict',' sym_conflit' est vide. Le lot sortant échoue toujours. – lolusab