[Bucardo-general] Replication failure because of duplicate key violation

Sai Prasad spchinna25 at gmail.com
Fri Feb 14 11:24:48 UTC 2020


Hi all,

I've configured two RHEL machines with redundancy configuration (master-
master setup) with below software versions.


Database version             : PostgreSQL 9.5

Bucardo version               : Bucardo 5.4


Database replication goes smoothly till some point of time, After that
replication stops all of sudden. I could see below kind of statements in
bucardo log.









*(22825) [Wed Feb 12 12:10:05 2020] KID (database_sync) Conflicts for
public.interface: 4(22825) [Wed Feb 12 12:10:05 2020] KID (database_sync)
Conflicts have been resolved(22825) [Wed Feb 12 12:10:05 2020] KID
(database_sync) Warning! Aborting due to exception for public.interface:?
Error was DBD::Pg::db pg_putcopyend failed: ERROR:  duplicate key value
violates unique constraint "interface_nodeid_ifindex_unique_idx"\nDETAIL:
 Key (nodeid, ifindex)=(81, 1) already exists.\nCONTEXT:  COPY interface,
line 2 at /usr/share/perl5/vendor_perl/Bucardo.pm line 9879.(22825) [Wed
Feb 12 12:10:05 2020] KID (database_sync) Kid has died, error is:
DBD::Pg::db pg_putcopyend failed: ERROR:  duplicate key value violates
unique constraint "interface_nodeid_ifindex_unique_idx"\nDETAIL:  Key
(nodeid, ifindex)=(81, 1) already exists.\nCONTEXT:  COPY interface, line 2
at /usr/share/perl5/vendor_perl/Bucardo.pm line 9879. Line: 5041 Main DB
state: ? Error: none DB database_node1 state: ? Error: none DB
database_node2 state: 23505 Error: 7 DBI::db=HASH(0x2e1a708)->disconnect
invalidates 9 active statement handles (either destroy statement handles or
call finish on them before disconnecting) at
/usr/share/perl5/vendor_perl/Bucardo.pm line
2756.DBI::db=HASH(0x2e1a828)->disconnect invalidates 9 active statement
handles (either destroy statement handles or call finish on them before
disconnecting) at /usr/share/perl5/vendor_perl/Bucardo.pm line 2756.(22825)
[Wed Feb 12 12:10:05 2020] KID (database_sync) Kid 22825 exiting at
cleanup_kid. Sync "database_sync" public.interface Reason: DBD::Pg::db
pg_putcopyend failed: ERROR:  duplicate key value violates unique
constraint "interface_nodeid_ifindex_unique_idx"\nDETAIL:  Key (nodeid,
ifindex)=(81, 1) already exists.\nCONTEXT:  COPY interface, line 2 at
/usr/share/perl5/vendor_perl/Bucardo.pm line 9879. Line: 5041 Main DB
state: ? Error: none DB database_node1 state: ? Error: none DB
database_node2 state: 23505 Error: 7 (46164) [Wed Feb 12 12:10:05 2020] MCP
Starting check_sync_health*


Below are the steps I followed for creation of syncs.

bucardo add database
bucardo add table all --db="$database"_node1 --herd="$database"_herd
bucardo add sequence all --db="$database"_node1 --herd="$database"_herd
bucardo add dbgoup "$database"_group
bucardo add dbgroup "$database"_group "$database"_node1:source
bucardo add dbgroup "$database"_group "$database"_node2:source
bucardo add sync "$database"_sync herd="$database_herd"_herd
dbs="$database"_group conflict_strategy=bucardo_latest onetimecopy=2
stayalive=1 kidsalive=1 autokick=1
systemctl enable bucardo.service
systemctl daemon-reload



Could you please help me with your findings for the issue.

Can my sequences in my db responsible for creation of  duplicate entries in
database?


BR,

Sai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://bucardo.org/pipermail/bucardo-general/attachments/20200214/13de9293/attachment.htm>


More information about the Bucardo-general mailing list