replication synchrone

Emmanuel BEZAGU <[email protected]>
Newsgroups gmane.comp.db.postgresql.french
Message-ID <16114_1466172205_5764032D_16114_473_3_9c9da819-f7cf-1989-41bd-6e64ece9bdae@dgfip.finances.gouv.fr>
Bonjour,

je fais quelques tests de replication synchrone et je cherche à
vérifier que le commit sur le maître fait bien en sorte que la
donnée soit disponible immédiatement en lecture sur l'esclave :

1. insert et commit sur le serveur maître

2. vérification de la donnée juste insérée sur l'esclave

Les opération se font en OpenJDK 1.8.0-91 avec le driver jdbc
9.4.1208.

Maître et esclave sont en version 9.5.3 sous CentOS 6.5

J'ai positionné les paramétrages suivants.

Maître :

wal_level = hot_standby

synchronous_commit = on

archive_mode = on

archive_command = 'scp %p
[email protected]:/var/lib/pgsql/9.5/backups/%f '

synchronous_standby_names = 'cadawebcat'

Esclave :

wal_level = hot_standby

synchronous_commit = on

hot_standby = on

Dans le recovery.conf :

restore_command = 'cp /var/lib/pgsql/9.5/backups/%f "%p"'

standby_mode = on

primary_conninfo = 'application_name=cadawebcat host=10.156.217.200
port=5432 user=replication password=replicationpass'

Sur 10000 insertions/vérifications, j'ai environ 15 données que je
ne vois pas immédiatement sur l'esclave. La réplication ne semble
donc pas si synchrone que cela. Une idée ?

Pour info complémentaire, j'ai passé les logs de l'esclave en debug
:

< 2016-06-17 15:30:36.954 CEST >DEBUG:
StartTransactionCommand

< 2016-06-17 15:30:36.954 CEST >DEBUG: lie <unnamed> à
<unnamed>

< 2016-06-17 15:30:36.954 CEST >DEBUG:
CommitTransactionCommand

< 2016-06-17 15:30:36.963 CEST >DEBUG: sendtime 2016-06-17
15:30:03.152726+02 receipttime 2016-06-17 15:30:36.963286+02
replication apply delay 0 ms transfer latency 33810 ms

< 2016-06-17 15:30:36.963 CEST >DEBUG: sending write
4/2C14F6F8 flush 4/2C14F680 apply 4/2C14F680

< 2016-06-17 15:30:36.965 CEST >DEBUG: sending write
4/2C14F6F8 flush 4/2C14F6F8 apply 4/2C14F680

< 2016-06-17 15:30:36.965 CEST >DEBUG: record known xact
157607 latestObservedXid 157606

< 2016-06-17 15:30:36.965 CEST >CONTEXTE : xlog redo
Heap2/MULTI_INSERT: 1 tuples

< 2016-06-17 15:30:36.965 CEST >DEBUG: record known xact
157607 latestObservedXid 157607

< 2016-06-17 15:30:36.965 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.147224+02

< 2016-06-17 15:30:36.965 CEST >DEBUG: record known xact
157607 latestObservedXid 157607

< 2016-06-17 15:30:36.965 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.147224+02

< 2016-06-17 15:30:36.965 CEST >DEBUG: remove
KnownAssignedXid 157607

< 2016-06-17 15:30:36.965 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.147224+02

< 2016-06-17 15:30:36.966 CEST >DEBUG: analyse
<unnamed> : SELECT id FROM test WHERE
id='58be24ab-3490-11e6-48e6-8da21da751c4'

< 2016-06-17 15:30:36.966 CEST >DEBUG:
StartTransactionCommand

< 2016-06-17 15:30:36.966 CEST >DEBUG: lie <unnamed> à
<unnamed>

< 2016-06-17 15:30:36.966 CEST >DEBUG:
CommitTransactionCommand

< 2016-06-17 15:30:37.185 CEST >DEBUG: sendtime 2016-06-17
15:30:03.374971+02 receipttime 2016-06-17 15:30:37.185528+02
replication apply delay 0 ms transfer latency 33810 ms

< 2016-06-17 15:30:37.185 CEST >DEBUG: sending write
4/2C14F770 flush 4/2C14F6F8 apply 4/2C14F6F8

< 2016-06-17 15:30:37.192 CEST >DEBUG: sending write
4/2C14F770 flush 4/2C14F770 apply 4/2C14F6F8

< 2016-06-17 15:30:37.193 CEST >DEBUG: analyse
<unnamed> : SELECT id FROM test WHERE id='58be24ac-3490-11e6-6b4d-8da21da751c4'

< 2016-06-17 15:30:37.193 CEST >DEBUG:
StartTransactionCommand

< 2016-06-17 15:30:37.193 CEST >DEBUG: lie <unnamed> à
<unnamed>

< 2016-06-17 15:30:37.194 CEST >DEBUG:
CommitTransactionCommand

< 2016-06-17 15:30:37.200 CEST >DEBUG: record known xact
157608 latestObservedXid 157607

< 2016-06-17 15:30:37.200 CEST >CONTEXTE : xlog redo
Heap2/MULTI_INSERT: 1 tuples

< 2016-06-17 15:30:37.200 CEST >DEBUG: record known xact
157608 latestObservedXid 157608

< 2016-06-17 15:30:37.200 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.361395+02

< 2016-06-17 15:30:37.200 CEST >DEBUG: record known xact
157608 latestObservedXid 157608

< 2016-06-17 15:30:37.200 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.361395+02

< 2016-06-17 15:30:37.200 CEST >DEBUG: remove
KnownAssignedXid 157608

< 2016-06-17 15:30:37.200 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.361395+02

< 2016-06-17 15:30:37.206 CEST >DEBUG: sendtime 2016-06-17
15:30:03.395458+02 receipttime 2016-06-17 15:30:37.206025+02
replication apply delay 0 ms transfer latency 33810 ms

< 2016-06-17 15:30:37.206 CEST >DEBUG: sending write
4/2C14F7E8 flush 4/2C14F770 apply 4/2C14F770

< 2016-06-17 15:30:37.210 CEST >DEBUG: sending write
4/2C14F7E8 flush 4/2C14F7E8 apply 4/2C14F770

< 2016-06-17 15:30:37.210 CEST >DEBUG: record known xact
157609 latestObservedXid 157608

< 2016-06-17 15:30:37.210 CEST >CONTEXTE : xlog redo
Heap2/MULTI_INSERT: 1 tuples

< 2016-06-17 15:30:37.210 CEST >DEBUG: record known xact
157609 latestObservedXid 157609

< 2016-06-17 15:30:37.210 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.387602+02

< 2016-06-17 15:30:37.210 CEST >DEBUG: record known xact
157609 latestObservedXid 157609

< 2016-06-17 15:30:37.210 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.387602+02

< 2016-06-17 15:30:37.210 CEST >DEBUG: remove
KnownAssignedXid 157609

< 2016-06-17 15:30:37.210 CEST >CONTEXTE : xlog redo
Transaction/COMMIT: 2016-06-17 15:30:03.387602+02

< 2016-06-17 15:30:37.211 CEST >DEBUG: analyse
<unnamed> : SELECT id FROM test WHERE
id='58be4ba0-3490-11e6-6b0d-8da21da751c4'

La donnée 58be24ac-3490-11e6-6b4d-8da21da751c4 est une de celle que
je ne vois pas répliquée instantanément.

Merci pour votre aide.

Adoptez l'éco-attitude.

N'imprimez ce courriel que si c'est
vraiment nécessaire
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.