Logical replication timeout problem

Started by Fabrice Chapuisover 4 years ago200 messageshackers
Jump to latest
#1Fabrice Chapuis
fabrice636861@gmail.com

Hi,

Logical replication is configured on one instance in version 10.18. Timeout
errors occur regularly and the worker process exit with an exit code 1

2021-09-16 12:06:50 CEST [24881]: [1-1] user=postgres,db=foo,client=[local]
LOG: duration: 1281408.171 ms statement: COPY schem.tab (col1, col2) FROM
stdin;
2021-09-16 12:07:11 CEST [12161]: [1-1] user=,db=,client= LOG: automatic
analyze of table "foo.schem.tab" system usage: CPU: user: 4.13 s, system:
0.55 s, elapsed: 9.58 s
2021-09-16 12:07:50 CEST [3770]: [2-1] user=,db=,client= ERROR:
terminating logical replication worker due to timeout
2021-09-16 12:07:50 CEST [12546]: [11-1] user=,db=,client= LOG: worker
process: logical replication worker for subscription 24106654 (PID 3770)
exited with exit code 1
2021-09-16 12:07:50 CEST [13872]: [1-1] user=,db=,client= LOG: logical
replication apply worker for subscription "subxxxx" has started
2021-09-16 12:07:50 CEST [13873]: [1-1]
user=repuser,db=foo,client=127.0.0.1 LOG: received replication command:
IDENTIFY_SYSTEM

Why this happen?

Thanks a lot for your help

Fabrice

#2Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#1)
Re: Logical replication timeout problem

On Fri, Sep 17, 2021 at 3:29 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

Hi,

Logical replication is configured on one instance in version 10.18. Timeout errors occur regularly and the worker process exit with an exit code 1

2021-09-16 12:06:50 CEST [24881]: [1-1] user=postgres,db=foo,client=[local] LOG: duration: 1281408.171 ms statement: COPY schem.tab (col1, col2) FROM stdin;
2021-09-16 12:07:11 CEST [12161]: [1-1] user=,db=,client= LOG: automatic analyze of table "foo.schem.tab" system usage: CPU: user: 4.13 s, system: 0.55 s, elapsed: 9.58 s
2021-09-16 12:07:50 CEST [3770]: [2-1] user=,db=,client= ERROR: terminating logical replication worker due to timeout
2021-09-16 12:07:50 CEST [12546]: [11-1] user=,db=,client= LOG: worker process: logical replication worker for subscription 24106654 (PID 3770) exited with exit code 1
2021-09-16 12:07:50 CEST [13872]: [1-1] user=,db=,client= LOG: logical replication apply worker for subscription "subxxxx" has started
2021-09-16 12:07:50 CEST [13873]: [1-1] user=repuser,db=foo,client=127.0.0.1 LOG: received replication command: IDENTIFY_SYSTEM

Can you share the publisher-side log as well?

--
With Regards,
Amit Kapila.

#3Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#2)
Re: Logical replication timeout problem

the publisher and the subscriber run on the same postgres instance.

Regards,
Fabrice

On Fri, Sep 17, 2021 at 12:26 PM Amit Kapila <amit.kapila16@gmail.com>
wrote:

Show quoted text

On Fri, Sep 17, 2021 at 3:29 PM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

Hi,

Logical replication is configured on one instance in version 10.18.

Timeout errors occur regularly and the worker process exit with an exit
code 1

2021-09-16 12:06:50 CEST [24881]: [1-1]

user=postgres,db=foo,client=[local] LOG: duration: 1281408.171 ms
statement: COPY schem.tab (col1, col2) FROM stdin;

2021-09-16 12:07:11 CEST [12161]: [1-1] user=,db=,client= LOG:

automatic analyze of table "foo.schem.tab" system usage: CPU: user: 4.13 s,
system: 0.55 s, elapsed: 9.58 s

2021-09-16 12:07:50 CEST [3770]: [2-1] user=,db=,client= ERROR:

terminating logical replication worker due to timeout

2021-09-16 12:07:50 CEST [12546]: [11-1] user=,db=,client= LOG: worker

process: logical replication worker for subscription 24106654 (PID 3770)
exited with exit code 1

2021-09-16 12:07:50 CEST [13872]: [1-1] user=,db=,client= LOG: logical

replication apply worker for subscription "subxxxx" has started

2021-09-16 12:07:50 CEST [13873]: [1-1]

user=repuser,db=foo,client=127.0.0.1 LOG: received replication command:
IDENTIFY_SYSTEM

Can you share the publisher-side log as well?

--
With Regards,
Amit Kapila.

#4Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#3)
Re: Logical replication timeout problem

On Fri, Sep 17, 2021 at 8:08 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

the publisher and the subscriber run on the same postgres instance.

Okay, but there is no log corresponding to operations being performed
by the publisher. By looking at current logs it is not very clear to
me what might have caused this. Did you try increasing
wal_sender_timeout and wal_receiver_timeout?

--
With Regards,
Amit Kapila.

#5Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#4)
Re: Logical replication timeout problem

Hi Amit,

We can replay the problem: we load a table of several Gb in the schema of
the publisher, this generates the worker's timeout after one minute from
the end of this load. The table on which this load is executed is not
replicated.

2021-09-16 12:06:50 CEST [24881]: [1-1]
user=postgres,db=db012a00,client=[local] LOG: duration: 1281408.171 ms
statement: COPY db.table (col1, col2) FROM stdin;

2021-09-16 12:07:11 CEST [12161]: [1-1] user=,db=,client= LOG: automatic
analyze of table "db.table " system usage: CPU: user: 4.13 s, system: 0.55
s, elapsed: 9.58 s

2021-09-16 12:07:50 CEST [3770]: [2-1] user=,db=,client= ERROR:
terminating logical replication worker due to timeout

Before increasing value for wal_sender_timeout and wal_receiver_timeout I
thought to further investigate the mechanisms leading to this timeout.

Thanks for your help

Fabrice

On Sun, Sep 19, 2021 at 6:25 AM Amit Kapila <amit.kapila16@gmail.com> wrote:

Show quoted text

On Fri, Sep 17, 2021 at 8:08 PM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

the publisher and the subscriber run on the same postgres instance.

Okay, but there is no log corresponding to operations being performed
by the publisher. By looking at current logs it is not very clear to
me what might have caused this. Did you try increasing
wal_sender_timeout and wal_receiver_timeout?

--
With Regards,
Amit Kapila.

#6Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#5)
Re: Logical replication timeout problem

On Mon, Sep 20, 2021 at 4:10 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

Hi Amit,

We can replay the problem: we load a table of several Gb in the schema of the publisher, this generates the worker's timeout after one minute from the end of this load. The table on which this load is executed is not replicated.

2021-09-16 12:06:50 CEST [24881]: [1-1] user=postgres,db=db012a00,client=[local] LOG: duration: 1281408.171 ms statement: COPY db.table (col1, col2) FROM stdin;

2021-09-16 12:07:11 CEST [12161]: [1-1] user=,db=,client= LOG: automatic analyze of table "db.table " system usage: CPU: user: 4.13 s, system: 0.55 s, elapsed: 9.58 s

2021-09-16 12:07:50 CEST [3770]: [2-1] user=,db=,client= ERROR: terminating logical replication worker due to timeout

Before increasing value for wal_sender_timeout and wal_receiver_timeout I thought to further investigate the mechanisms leading to this timeout.

The basic problem here seems to be that WAL Sender is not able to send
a keepalive or any other message for the configured
wal_receiver_timeout. I am not sure how that can happen but can you
once try by switching autovacuum = off? I wanted to ensure that
WALSender is not blocked due to the background process autovacuum.

--
With Regards,
Amit Kapila.

#7Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#6)
Re: Logical replication timeout problem

On Mon, Sep 20, 2021 at 5:21 PM Amit Kapila <amit.kapila16@gmail.com> wrote:

On Mon, Sep 20, 2021 at 4:10 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

Hi Amit,

We can replay the problem: we load a table of several Gb in the schema of the publisher, this generates the worker's timeout after one minute from the end of this load. The table on which this load is executed is not replicated.

2021-09-16 12:06:50 CEST [24881]: [1-1] user=postgres,db=db012a00,client=[local] LOG: duration: 1281408.171 ms statement: COPY db.table (col1, col2) FROM stdin;

2021-09-16 12:07:11 CEST [12161]: [1-1] user=,db=,client= LOG: automatic analyze of table "db.table " system usage: CPU: user: 4.13 s, system: 0.55 s, elapsed: 9.58 s

2021-09-16 12:07:50 CEST [3770]: [2-1] user=,db=,client= ERROR: terminating logical replication worker due to timeout

Before increasing value for wal_sender_timeout and wal_receiver_timeout I thought to further investigate the mechanisms leading to this timeout.

The basic problem here seems to be that WAL Sender is not able to send
a keepalive or any other message for the configured
wal_receiver_timeout. I am not sure how that can happen but can you
once try by switching autovacuum = off? I wanted to ensure that
WALSender is not blocked due to the background process autovacuum.

The other thing we can try out is to check the data in pg_locks on
publisher during one minute after the large copy is finished. This we
can try out both with and without autovacuum.

--
With Regards,
Amit Kapila.

#8Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#6)
Re: Logical replication timeout problem

By passing the autovacuum parameter to off the problem did not occur right
after loading the table as in our previous tests. However, the timeout
occurred later. We have seen the accumulation of .snap files for several Gb.

...
-rw-------. 1 postgres postgres 16791226 Sep 20 15:26
xid-1238444701-lsn-2D2B-F5000000.snap
-rw-------. 1 postgres postgres 16973268 Sep 20 15:26
xid-1238444701-lsn-2D2B-F6000000.snap
-rw-------. 1 postgres postgres 16790984 Sep 20 15:26
xid-1238444701-lsn-2D2B-F7000000.snap
-rw-------. 1 postgres postgres 16988112 Sep 20 15:26
xid-1238444701-lsn-2D2B-F8000000.snap
-rw-------. 1 postgres postgres 16864593 Sep 20 15:26
xid-1238444701-lsn-2D2B-F9000000.snap
-rw-------. 1 postgres postgres 16902167 Sep 20 15:26
xid-1238444701-lsn-2D2B-FA000000.snap
-rw-------. 1 postgres postgres 16914638 Sep 20 15:26
xid-1238444701-lsn-2D2B-FB000000.snap
-rw-------. 1 postgres postgres 16782471 Sep 20 15:26
xid-1238444701-lsn-2D2B-FC000000.snap
-rw-------. 1 postgres postgres 16963667 Sep 20 15:27
xid-1238444701-lsn-2D2B-FD000000.snap
...

2021-09-20 17:11:29 CEST [12687]: [1283-1] user=,db=,client= LOG:
checkpoint starting: time
2021-09-20 17:11:31 CEST [12687]: [1284-1] user=,db=,client= LOG:
checkpoint complete: wrote 13 buffers (0.0%); 0 WAL file(s) added, 0
removed, 0 recycled; write=1.713 s, sync=0.001 s, total=1.718 s
; sync files=12, longest=0.001 s, average=0.001 s; distance=29 kB,
estimate=352191 kB
2021-09-20 17:12:43 CEST [59986]: [2-1] user=,db=,client= ERROR:
terminating logical replication worker due to timeout
2021-09-20 17:12:43 CEST [12546]: [1068-1] user=,db=,client= LOG: worker
process: logical replication worker for subscription 24215702 (PID 59986)
exited with exit code 1
2021-09-20 17:12:43 CEST [39945]: [1-1] user=,db=,client= LOG: logical
replication apply worker for subscription "sub" has started
2021-09-20 17:12:43 CEST [39946]: [1-1] user=repuser,db=db,client=127.0.0.1
LOG: received replication command: IDENTIFY_SYSTEM

Regards,

Fabrice

On Mon, Sep 20, 2021 at 1:51 PM Amit Kapila <amit.kapila16@gmail.com> wrote:

Show quoted text

On Mon, Sep 20, 2021 at 4:10 PM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

Hi Amit,

We can replay the problem: we load a table of several Gb in the schema

of the publisher, this generates the worker's timeout after one minute from
the end of this load. The table on which this load is executed is not
replicated.

2021-09-16 12:06:50 CEST [24881]: [1-1]

user=postgres,db=db012a00,client=[local] LOG: duration: 1281408.171 ms
statement: COPY db.table (col1, col2) FROM stdin;

2021-09-16 12:07:11 CEST [12161]: [1-1] user=,db=,client= LOG:

automatic analyze of table "db.table " system usage: CPU: user: 4.13 s,
system: 0.55 s, elapsed: 9.58 s

2021-09-16 12:07:50 CEST [3770]: [2-1] user=,db=,client= ERROR:

terminating logical replication worker due to timeout

Before increasing value for wal_sender_timeout and wal_receiver_timeout

I thought to further investigate the mechanisms leading to this timeout.

The basic problem here seems to be that WAL Sender is not able to send
a keepalive or any other message for the configured
wal_receiver_timeout. I am not sure how that can happen but can you
once try by switching autovacuum = off? I wanted to ensure that
WALSender is not blocked due to the background process autovacuum.

--
With Regards,
Amit Kapila.

#9Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#8)
Re: Logical replication timeout problem

On Mon, Sep 20, 2021 at 9:43 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

By passing the autovacuum parameter to off the problem did not occur right after loading the table as in our previous tests. However, the timeout occurred later. We have seen the accumulation of .snap files for several Gb.

...
-rw-------. 1 postgres postgres 16791226 Sep 20 15:26 xid-1238444701-lsn-2D2B-F5000000.snap
-rw-------. 1 postgres postgres 16973268 Sep 20 15:26 xid-1238444701-lsn-2D2B-F6000000.snap
-rw-------. 1 postgres postgres 16790984 Sep 20 15:26 xid-1238444701-lsn-2D2B-F7000000.snap
-rw-------. 1 postgres postgres 16988112 Sep 20 15:26 xid-1238444701-lsn-2D2B-F8000000.snap
-rw-------. 1 postgres postgres 16864593 Sep 20 15:26 xid-1238444701-lsn-2D2B-F9000000.snap
-rw-------. 1 postgres postgres 16902167 Sep 20 15:26 xid-1238444701-lsn-2D2B-FA000000.snap
-rw-------. 1 postgres postgres 16914638 Sep 20 15:26 xid-1238444701-lsn-2D2B-FB000000.snap
-rw-------. 1 postgres postgres 16782471 Sep 20 15:26 xid-1238444701-lsn-2D2B-FC000000.snap
-rw-------. 1 postgres postgres 16963667 Sep 20 15:27 xid-1238444701-lsn-2D2B-FD000000.snap
...

Okay, still not sure why the publisher is not sending keep_alive
messages in between spilling such a big transaction. If you see, we
have logic in WalSndLoop() wherein each time after sending data we
check whether we need to send a keep-alive message via function
WalSndKeepaliveIfNecessary(). I think to debug this problem further
you need to add some logs in function WalSndKeepaliveIfNecessary() to
see why it is not sending keep_alive messages when all these files are
being created.

Did you change the default value of
wal_sender_timeout/wal_receiver_timeout? What is the value of those
variables in your environment? Did you see the message "terminating
walsender process due to replication timeout" in your server logs?

--
With Regards,
Amit Kapila.

#10Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#9)
Re: Logical replication timeout problem

If I understand, the instruction to send keep alive by the wal sender has
not been reached in the for loop, for what reason?
...
* Check for replication timeout. */
WalSndCheckTimeOut();

/* Send keepalive if the time has come */
WalSndKeepaliveIfNecessary();
...

The data load is performed on a table which is not replicated, I do not
understand why the whole transaction linked to an insert is copied to snap
files given that table does not take part of the logical replication.
We are going to do a test by modifying parameters
wal_sender_timeout/wal_receiver_timeout from 1' to 5'. The problem is that
these parameters are global and changing them will also impact the physical
replication.

Concerning the walsender timeout, when the worker is started again after a
timeout, it will trigger a new walsender associated with it.

postgres 55680 12546 0 Sep20 ? 00:00:02 postgres: aq: bgworker:
logical replication worker for subscription 24651602
postgres 55681 12546 0 Sep20 ? 00:00:00 postgres: aq: wal sender
process repuser 127.0.0.1(57930) idle

Kind Regards

Fabrice

On Tue, Sep 21, 2021 at 8:38 AM Amit Kapila <amit.kapila16@gmail.com> wrote:

Show quoted text

On Mon, Sep 20, 2021 at 9:43 PM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

By passing the autovacuum parameter to off the problem did not occur

right after loading the table as in our previous tests. However, the
timeout occurred later. We have seen the accumulation of .snap files for
several Gb.

...
-rw-------. 1 postgres postgres 16791226 Sep 20 15:26

xid-1238444701-lsn-2D2B-F5000000.snap

-rw-------. 1 postgres postgres 16973268 Sep 20 15:26

xid-1238444701-lsn-2D2B-F6000000.snap

-rw-------. 1 postgres postgres 16790984 Sep 20 15:26

xid-1238444701-lsn-2D2B-F7000000.snap

-rw-------. 1 postgres postgres 16988112 Sep 20 15:26

xid-1238444701-lsn-2D2B-F8000000.snap

-rw-------. 1 postgres postgres 16864593 Sep 20 15:26

xid-1238444701-lsn-2D2B-F9000000.snap

-rw-------. 1 postgres postgres 16902167 Sep 20 15:26

xid-1238444701-lsn-2D2B-FA000000.snap

-rw-------. 1 postgres postgres 16914638 Sep 20 15:26

xid-1238444701-lsn-2D2B-FB000000.snap

-rw-------. 1 postgres postgres 16782471 Sep 20 15:26

xid-1238444701-lsn-2D2B-FC000000.snap

-rw-------. 1 postgres postgres 16963667 Sep 20 15:27

xid-1238444701-lsn-2D2B-FD000000.snap

...

Okay, still not sure why the publisher is not sending keep_alive
messages in between spilling such a big transaction. If you see, we
have logic in WalSndLoop() wherein each time after sending data we
check whether we need to send a keep-alive message via function
WalSndKeepaliveIfNecessary(). I think to debug this problem further
you need to add some logs in function WalSndKeepaliveIfNecessary() to
see why it is not sending keep_alive messages when all these files are
being created.

Did you change the default value of
wal_sender_timeout/wal_receiver_timeout? What is the value of those
variables in your environment? Did you see the message "terminating
walsender process due to replication timeout" in your server logs?

--
With Regards,
Amit Kapila.

#11Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#10)
Re: Logical replication timeout problem

On Tue, Sep 21, 2021 at 1:52 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

If I understand, the instruction to send keep alive by the wal sender has not been reached in the for loop, for what reason?
...
* Check for replication timeout. */
WalSndCheckTimeOut();

/* Send keepalive if the time has come */
WalSndKeepaliveIfNecessary();
...

Are you sure that these functions have not been called? Or the case is
that these are called but due to some reason the keep-alive is not
sent? IIUC, these are called after processing each WAL record so not
sure how is it possible in your case that these are not reached?

The data load is performed on a table which is not replicated, I do not understand why the whole transaction linked to an insert is copied to snap files given that table does not take part of the logical replication.

It is because we don't know till the end of the transaction (where we
start sending the data) whether the table will be replicated or not. I
think specifically for this purpose the new 'streaming' feature
introduced in PG-14 will help us to avoid writing data of such tables
to snap/spill files. See 'streaming' option in Create Subscription
docs [1]https://www.postgresql.org/docs/devel/sql-createsubscription.html.

We are going to do a test by modifying parameters wal_sender_timeout/wal_receiver_timeout from 1' to 5'. The problem is that these parameters are global and changing them will also impact the physical replication.

Do you mean you are planning to change from 1 minute to 5 minutes? I
agree with the global nature of parameters and I think your approach
to finding out the root cause is good here because otherwise, under
some similar or more heavy workload, it might lead to the same
situation.

Concerning the walsender timeout, when the worker is started again after a timeout, it will trigger a new walsender associated with it.

Right, I know that but I was curious to know if the walsender has
exited before walreceiver.

[1]: https://www.postgresql.org/docs/devel/sql-createsubscription.html

--
With Regards,
Amit Kapila.

#12Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#11)
Re: Logical replication timeout problem

IIUC, these are called after processing each WAL record so not

sure how is it possible in your case that these are not reached?

I don't know, as you say, to highlight the problem we would have to debug
the WalSndKeepaliveIfNecessary function

I was curious to know if the walsender has exited before walreceiver

During the last tests we made we didn't observe any timeout of the wal
sender process.

Do you mean you are planning to change from 1 minute to 5 minutes?

We set wal_sender_timeout/wal_receiver_timeout to 5' and launch new test.
The result is surprising and rather positive there is no timeout any more
in the log and the 20Gb of snap files are removed in less than 5 minutes.
How to explain that behaviour, why the snap files are consumed suddenly so
quickly.
I choose the value arbitrarily for wal_sender_timeout/wal_receiver_timeout
parameters, are theses values appropriate from your point of view?

Best Regards

Fabrice

On Tue, Sep 21, 2021 at 11:52 AM Amit Kapila <amit.kapila16@gmail.com>
wrote:

Show quoted text

On Tue, Sep 21, 2021 at 1:52 PM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

If I understand, the instruction to send keep alive by the wal sender

has not been reached in the for loop, for what reason?

...
* Check for replication timeout. */
WalSndCheckTimeOut();

/* Send keepalive if the time has come */
WalSndKeepaliveIfNecessary();
...

Are you sure that these functions have not been called? Or the case is
that these are called but due to some reason the keep-alive is not
sent? IIUC, these are called after processing each WAL record so not
sure how is it possible in your case that these are not reached?

The data load is performed on a table which is not replicated, I do not

understand why the whole transaction linked to an insert is copied to snap
files given that table does not take part of the logical replication.

It is because we don't know till the end of the transaction (where we
start sending the data) whether the table will be replicated or not. I
think specifically for this purpose the new 'streaming' feature
introduced in PG-14 will help us to avoid writing data of such tables
to snap/spill files. See 'streaming' option in Create Subscription
docs [1].

We are going to do a test by modifying parameters

wal_sender_timeout/wal_receiver_timeout from 1' to 5'. The problem is that
these parameters are global and changing them will also impact the physical
replication.

Do you mean you are planning to change from 1 minute to 5 minutes? I
agree with the global nature of parameters and I think your approach
to finding out the root cause is good here because otherwise, under
some similar or more heavy workload, it might lead to the same
situation.

Concerning the walsender timeout, when the worker is started again after

a timeout, it will trigger a new walsender associated with it.

Right, I know that but I was curious to know if the walsender has
exited before walreceiver.

[1] - https://www.postgresql.org/docs/devel/sql-createsubscription.html

--
With Regards,
Amit Kapila.

#13Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#12)
Re: Logical replication timeout problem

On Tue, Sep 21, 2021 at 9:12 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

IIUC, these are called after processing each WAL record so not

sure how is it possible in your case that these are not reached?

I don't know, as you say, to highlight the problem we would have to debug the WalSndKeepaliveIfNecessary function

I was curious to know if the walsender has exited before walreceiver

During the last tests we made we didn't observe any timeout of the wal sender process.

Do you mean you are planning to change from 1 minute to 5 minutes?

We set wal_sender_timeout/wal_receiver_timeout to 5' and launch new test. The result is surprising and rather positive there is no timeout any more in the log and the 20Gb of snap files are removed in less than 5 minutes.
How to explain that behaviour, why the snap files are consumed suddenly so quickly.

I think it is because we decide that the data in those snap files
doesn't need to be sent at xact end, so we remove them.

I choose the value arbitrarily for wal_sender_timeout/wal_receiver_timeout parameters, are theses values appropriate from your point of view?

It is difficult to say what is the appropriate value for these
parameters unless in some way we debug WalSndKeepaliveIfNecessary() to
find why it didn't send keep alive when it is expected. Would you be
able to make code changes and test or if you want I can make changes
and send the patch if you can test it? If not, is it possible that in
some way you send a reproducible test?

--
With Regards,
Amit Kapila.

#14Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#13)
Re: Logical replication timeout problem

If you would like I can test the patch you send to me.

Regards

Fabrice

On Wed, Sep 22, 2021 at 11:02 AM Amit Kapila <amit.kapila16@gmail.com>
wrote:

Show quoted text

On Tue, Sep 21, 2021 at 9:12 PM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

IIUC, these are called after processing each WAL record so not

sure how is it possible in your case that these are not reached?

I don't know, as you say, to highlight the problem we would have to

debug the WalSndKeepaliveIfNecessary function

I was curious to know if the walsender has exited before walreceiver

During the last tests we made we didn't observe any timeout of the wal

sender process.

Do you mean you are planning to change from 1 minute to 5 minutes?

We set wal_sender_timeout/wal_receiver_timeout to 5' and launch new

test. The result is surprising and rather positive there is no timeout any
more in the log and the 20Gb of snap files are removed in less than 5
minutes.

How to explain that behaviour, why the snap files are consumed suddenly

so quickly.

I think it is because we decide that the data in those snap files
doesn't need to be sent at xact end, so we remove them.

I choose the value arbitrarily for

wal_sender_timeout/wal_receiver_timeout parameters, are theses values
appropriate from your point of view?

It is difficult to say what is the appropriate value for these
parameters unless in some way we debug WalSndKeepaliveIfNecessary() to
find why it didn't send keep alive when it is expected. Would you be
able to make code changes and test or if you want I can make changes
and send the patch if you can test it? If not, is it possible that in
some way you send a reproducible test?

--
With Regards,
Amit Kapila.

#15Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#14)
Re: Logical replication timeout problem

On Wed, Sep 22, 2021 at 9:46 PM Fabrice Chapuis <fabrice636861@gmail.com> wrote:

If you would like I can test the patch you send to me.

Okay, please find an attached patch for additional logs. I would like
to see the logs during the time when walsender appears to be writing
to files. We might need to add more logs to find the exact problem but
let's start with this.

--
With Regards,
Amit Kapila.

Attachments:

log_keep_alive_1.patchapplication/octet-stream; name=log_keep_alive_1.patchDownload+4-0
#16Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#15)
Re: Logical replication timeout problem

Thanks for your patch, we are going to set up a lab in order to debug the
function.
Regards
Fabrice

On Thu, Sep 23, 2021 at 3:50 PM Amit Kapila <amit.kapila16@gmail.com> wrote:

Show quoted text

On Wed, Sep 22, 2021 at 9:46 PM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

If you would like I can test the patch you send to me.

Okay, please find an attached patch for additional logs. I would like
to see the logs during the time when walsender appears to be writing
to files. We might need to add more logs to find the exact problem but
let's start with this.

--
With Regards,
Amit Kapila.

#17tanghy.fnst@fujitsu.com
tanghy.fnst@fujitsu.com
In reply to: Fabrice Chapuis (#16)
RE: Logical replication timeout problem

On Friday, September 24, 2021 12:04 AM, Fabrice Chapuis <fabrice636861@gmail.com<mailto:fabrice636861@gmail.com>> wrote:

Thanks for your patch, we are going to set up a lab in order to debug the function.

Hi

I tried to reproduce this timeout problem on version10.18 but failed.

In my trial, I inserted large amounts of data at publisher, which took more than 1 minute to replicate.

And with the patch provided by Amit, I saw that the frequency of invoking

WalSndKeepaliveIfNecessary function is raised after I inserted data.

The test script is attached. Maybe you can try it on your machine and check if this problem could happen.

If I miss something in the script, please let me know.

Of course, it will be better if you can provide your script to reproduce the problem.

Regards

Tang

Attachments:

run.shapplication/octet-stream; name=run.shDownload
#18Fabrice Chapuis
fabrice636861@gmail.com
In reply to: tanghy.fnst@fujitsu.com (#17)
Re: Logical replication timeout problem

Thanks Tang for your script.
Our debugging environment will be ready soon. I will test your script and
we will try to reproduce the problem by integrating the patch provided by
Amit. As soon as I have results I will let you know.

Regards

Fabrice

On Thu, Sep 30, 2021 at 3:15 AM Tang, Haiying/唐 海英 <tanghy.fnst@fujitsu.com>
wrote:

Show quoted text

On Friday, September 24, 2021 12:04 AM, Fabrice Chapuis <
fabrice636861@gmail.com> wrote:

Thanks for your patch, we are going to set up a lab in order to debug

the function.

Hi

I tried to reproduce this timeout problem on version10.18 but failed.

In my trial, I inserted large amounts of data at publisher, which took
more than 1 minute to replicate.

And with the patch provided by Amit, I saw that the frequency of invoking

WalSndKeepaliveIfNecessary function is raised after I inserted data.

The test script is attached. Maybe you can try it on your machine and
check if this problem could happen.

If I miss something in the script, please let me know.

Of course, it will be better if you can provide your script to reproduce
the problem.

Regards

Tang

#19Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Fabrice Chapuis (#18)
Re: Logical replication timeout problem

Hello,
Our lab is ready now. Amit, I compile Postgres 10.18 with your patch.Tang,
I used your script to configure logical replication between 2 databases and
to generate 10 million entries in an unreplicated foo table. On a
standalone instance no error message appears in log.
I activate the physical replication between 2 nodes, and I got following
error:

2021-11-10 10:49:12.297 CET [12126] LOG: attempt to send keep alive message
2021-11-10 10:49:12.297 CET [12126] STATEMENT: START_REPLICATION 0/3000000
TIMELINE 1
2021-11-10 10:49:15.127 CET [12064] FATAL: terminating logical replication
worker due to administrator command
2021-11-10 10:49:15.127 CET [12036] LOG: worker process: logical
replication worker for subscription 16413 (PID 12064) exited with exit code
1
2021-11-10 10:49:15.155 CET [12126] LOG: attempt to send keep alive message

This message look like strange because no admin command have been executed
during data load.
I did not find any error related to the timeout.
The message coming from the modification made with the patch comes back all
the time: attempt to send keep alive message. But there is no "sent keep
alive message".

Why logical replication worker exit when physical replication is configured?

Thanks for your help

Fabrice

On Fri, Oct 8, 2021 at 9:33 AM Fabrice Chapuis <fabrice636861@gmail.com>
wrote:

Show quoted text

Thanks Tang for your script.
Our debugging environment will be ready soon. I will test your script and
we will try to reproduce the problem by integrating the patch provided by
Amit. As soon as I have results I will let you know.

Regards

Fabrice

On Thu, Sep 30, 2021 at 3:15 AM Tang, Haiying/唐 海英 <
tanghy.fnst@fujitsu.com> wrote:

On Friday, September 24, 2021 12:04 AM, Fabrice Chapuis <
fabrice636861@gmail.com> wrote:

Thanks for your patch, we are going to set up a lab in order to debug

the function.

Hi

I tried to reproduce this timeout problem on version10.18 but failed.

In my trial, I inserted large amounts of data at publisher, which took
more than 1 minute to replicate.

And with the patch provided by Amit, I saw that the frequency of invoking

WalSndKeepaliveIfNecessary function is raised after I inserted data.

The test script is attached. Maybe you can try it on your machine and
check if this problem could happen.

If I miss something in the script, please let me know.

Of course, it will be better if you can provide your script to reproduce
the problem.

Regards

Tang

#20Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#19)
Re: Logical replication timeout problem

On Thu, Nov 11, 2021 at 11:15 PM Fabrice Chapuis
<fabrice636861@gmail.com> wrote:

Hello,
Our lab is ready now. Amit, I compile Postgres 10.18 with your patch.Tang, I used your script to configure logical replication between 2 databases and to generate 10 million entries in an unreplicated foo table. On a standalone instance no error message appears in log.
I activate the physical replication between 2 nodes, and I got following error:

2021-11-10 10:49:12.297 CET [12126] LOG: attempt to send keep alive message
2021-11-10 10:49:12.297 CET [12126] STATEMENT: START_REPLICATION 0/3000000 TIMELINE 1
2021-11-10 10:49:15.127 CET [12064] FATAL: terminating logical replication worker due to administrator command
2021-11-10 10:49:15.127 CET [12036] LOG: worker process: logical replication worker for subscription 16413 (PID 12064) exited with exit code 1
2021-11-10 10:49:15.155 CET [12126] LOG: attempt to send keep alive message

This message look like strange because no admin command have been executed during data load.
I did not find any error related to the timeout.
The message coming from the modification made with the patch comes back all the time: attempt to send keep alive message. But there is no "sent keep alive message".

Why logical replication worker exit when physical replication is configured?

I am also not sure why that happened may be due to
max_worker_processes reaching its limit. This can happen because it
seems you configured both publisher and subscriber in the same
cluster. Tang, did you also see the same problem?

BTW, why are you bringing physical standby configuration into the
test? Does in your original setup where you observe the problem the
physical standbys were there?

--
With Regards,
Amit Kapila.

#21tanghy.fnst@fujitsu.com
tanghy.fnst@fujitsu.com
In reply to: Amit Kapila (#20)
#22Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#20)
#23Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Fabrice Chapuis (#22)
#24Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#23)
#25Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#24)
#26Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#25)
#27Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#26)
#28Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#27)
#29Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#28)
#30Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#29)
#31Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#30)
#32Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#31)
#33Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#32)
#34Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#32)
#35wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Fabrice Chapuis (#34)
#36Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#35)
#37wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#36)
#38Fabrice Chapuis
fabrice636861@gmail.com
In reply to: wangw.fnst@fujitsu.com (#37)
#39Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Fabrice Chapuis (#38)
#40Amit Kapila
amit.kapila16@gmail.com
In reply to: Fabrice Chapuis (#39)
#41wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#40)
#42Fabrice Chapuis
fabrice636861@gmail.com
In reply to: wangw.fnst@fujitsu.com (#41)
#43wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Fabrice Chapuis (#42)
#44wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#41)
#45Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#44)
#46Fabrice Chapuis
fabrice636861@gmail.com
In reply to: wangw.fnst@fujitsu.com (#44)
#47wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#45)
#48Ajin Cherian
itsajin@gmail.com
In reply to: wangw.fnst@fujitsu.com (#44)
#49wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Ajin Cherian (#48)
#50Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#49)
#51Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#47)
#52wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#50)
#53wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#51)
#54Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#52)
#55wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#54)
#56Peter Smith
smithpb2250@gmail.com
In reply to: wangw.fnst@fujitsu.com (#55)
#57Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#55)
#58Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#57)
#59wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#58)
#60Ajin Cherian
itsajin@gmail.com
In reply to: wangw.fnst@fujitsu.com (#59)
#61Masahiko Sawada
sawada.mshk@gmail.com
In reply to: wangw.fnst@fujitsu.com (#59)
#62Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#59)
#63wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Ajin Cherian (#60)
#64wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Masahiko Sawada (#61)
#65wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#62)
#66Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#65)
#67Masahiko Sawada
sawada.mshk@gmail.com
In reply to: wangw.fnst@fujitsu.com (#64)
#68Björn Harrtell
bjorn.harrtell@gmail.com
In reply to: Masahiko Sawada (#67)
#69wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Masahiko Sawada (#67)
#70Masahiko Sawada
sawada.mshk@gmail.com
In reply to: wangw.fnst@fujitsu.com (#69)
#71Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#70)
#72Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#71)
#73Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#72)
#74wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Masahiko Sawada (#73)
#75wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#66)
#76Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#74)
#77Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#76)
#78wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#77)
#79Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#78)
#80Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: Amit Kapila (#79)
#81wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#79)
#82Masahiko Sawada
sawada.mshk@gmail.com
In reply to: wangw.fnst@fujitsu.com (#81)
#83Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#82)
#84wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Masahiko Sawada (#82)
#85Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#84)
#86wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Hayato Kuroda (Fujitsu) (#85)
#87Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#86)
#88Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: Amit Kapila (#87)
#89wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#86)
#90Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#83)
#91wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#89)
#92Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#91)
#93shiy.fnst@fujitsu.com
shiy.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#91)
#94Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#92)
#95Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#94)
#96Euler Taveira
euler@eulerto.com
In reply to: Masahiko Sawada (#94)
#97Amit Kapila
amit.kapila16@gmail.com
In reply to: Euler Taveira (#96)
#98Euler Taveira
euler@eulerto.com
In reply to: Amit Kapila (#97)
#99Amit Kapila
amit.kapila16@gmail.com
In reply to: Euler Taveira (#98)
#100wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#99)
#101Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#100)
#102Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#101)
#103wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#102)
#104Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#103)
#105wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#104)
#106wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#104)
#107wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#106)
#108Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#106)
#109Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#108)
#110Euler Taveira
euler@eulerto.com
In reply to: Amit Kapila (#108)
#111Amit Kapila
amit.kapila16@gmail.com
In reply to: Euler Taveira (#110)
#112Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#109)
#113Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#112)
#114Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#111)
#115wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Masahiko Sawada (#113)
#116wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Euler Taveira (#110)
#117Masahiko Sawada
sawada.mshk@gmail.com
In reply to: wangw.fnst@fujitsu.com (#115)
#118wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Masahiko Sawada (#117)
#119wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#114)
#120Masahiko Sawada
sawada.mshk@gmail.com
In reply to: wangw.fnst@fujitsu.com (#119)
#121Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#120)
#122Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#121)
#123Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#122)
#124wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#122)
#125Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#123)
#126Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#125)
#127wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#124)
#128Zhijie Hou (Fujitsu)
houzj.fnst@fujitsu.com
In reply to: Masahiko Sawada (#120)
#129Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#127)
#130wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#129)
#131Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Zhijie Hou (Fujitsu) (#128)
#132Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#131)
#133Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#132)
#134Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#133)
#135Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#134)
#136wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Masahiko Sawada (#135)
#137Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#136)
#138Masahiko Sawada
sawada.mshk@gmail.com
In reply to: Amit Kapila (#137)
#139Euler Taveira
euler@eulerto.com
In reply to: Amit Kapila (#137)
#140Amit Kapila
amit.kapila16@gmail.com
In reply to: Euler Taveira (#139)
#141wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#140)
#142Amit Kapila
amit.kapila16@gmail.com
In reply to: Masahiko Sawada (#138)
#143Fabrice Chapuis
fabrice636861@gmail.com
In reply to: Amit Kapila (#99)
#144wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Fabrice Chapuis (#143)
#145Fabrice Chapuis
fabrice636861@gmail.com
In reply to: wangw.fnst@fujitsu.com (#144)
#146wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Fabrice Chapuis (#145)
#147Fabrice Chapuis
fabrice636861@gmail.com
In reply to: wangw.fnst@fujitsu.com (#144)
#148wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Fabrice Chapuis (#147)
#149Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: wangw.fnst@fujitsu.com (#148)
#150Amit Kapila
amit.kapila16@gmail.com
In reply to: Ashutosh Bapat (#149)
#151wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Ashutosh Bapat (#149)
#152wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#150)
#153Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: wangw.fnst@fujitsu.com (#151)
#154Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: wangw.fnst@fujitsu.com (#152)
#155Amit Kapila
amit.kapila16@gmail.com
In reply to: Ashutosh Bapat (#154)
#156Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: Amit Kapila (#155)
#157Amit Kapila
amit.kapila16@gmail.com
In reply to: Ashutosh Bapat (#156)
#158wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#157)
#159Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: wangw.fnst@fujitsu.com (#158)
#160Amit Kapila
amit.kapila16@gmail.com
In reply to: Ashutosh Bapat (#159)
#161Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: Amit Kapila (#160)
#162Amit Kapila
amit.kapila16@gmail.com
In reply to: Ashutosh Bapat (#161)
#163Peter Smith
smithpb2250@gmail.com
In reply to: wangw.fnst@fujitsu.com (#158)
#164Amit Kapila
amit.kapila16@gmail.com
In reply to: Peter Smith (#163)
#165Peter Smith
smithpb2250@gmail.com
In reply to: Amit Kapila (#164)
#166wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#162)
#167wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#164)
#168wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Peter Smith (#163)
#169Peter Smith
smithpb2250@gmail.com
In reply to: wangw.fnst@fujitsu.com (#166)
#170Amit Kapila
amit.kapila16@gmail.com
In reply to: Peter Smith (#169)
#171Zhijie Hou (Fujitsu)
houzj.fnst@fujitsu.com
In reply to: Peter Smith (#169)
#172Peter Smith
smithpb2250@gmail.com
In reply to: Zhijie Hou (Fujitsu) (#171)
#173wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Peter Smith (#172)
#174Peter Smith
smithpb2250@gmail.com
In reply to: wangw.fnst@fujitsu.com (#173)
#175Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#173)
#176Zhijie Hou (Fujitsu)
houzj.fnst@fujitsu.com
In reply to: Amit Kapila (#175)
#177Amit Kapila
amit.kapila16@gmail.com
In reply to: Zhijie Hou (Fujitsu) (#176)
#178wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#177)
#179shiy.fnst@fujitsu.com
shiy.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#178)
#180wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: shiy.fnst@fujitsu.com (#179)
#181Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#180)
#182wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Amit Kapila (#181)
#183wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: wangw.fnst@fujitsu.com (#182)
#184Amit Kapila
amit.kapila16@gmail.com
In reply to: wangw.fnst@fujitsu.com (#183)
#185Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: Amit Kapila (#184)
#186Amit Kapila
amit.kapila16@gmail.com
In reply to: Ashutosh Bapat (#185)
#187Ashutosh Bapat
ashutosh.bapat@enterprisedb.com
In reply to: Amit Kapila (#186)
#188Peter Smith
smithpb2250@gmail.com
In reply to: Amit Kapila (#184)
#189Amit Kapila
amit.kapila16@gmail.com
In reply to: Peter Smith (#188)
#190Amit Kapila
amit.kapila16@gmail.com
In reply to: Ashutosh Bapat (#187)
#191Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#190)
#192Andres Freund
andres@anarazel.de
In reply to: Amit Kapila (#191)
#193Amit Kapila
amit.kapila16@gmail.com
In reply to: Andres Freund (#192)
#194Andres Freund
andres@anarazel.de
In reply to: Amit Kapila (#193)
#195Andres Freund
andres@anarazel.de
In reply to: Andres Freund (#194)
#196Andres Freund
andres@anarazel.de
In reply to: Andres Freund (#195)
#197Amit Kapila
amit.kapila16@gmail.com
In reply to: Andres Freund (#196)
#198Amit Kapila
amit.kapila16@gmail.com
In reply to: Amit Kapila (#197)
#199Gregory Stark (as CFM)
stark.cfm@gmail.com
In reply to: Andres Freund (#196)
#200wangw.fnst@fujitsu.com
wangw.fnst@fujitsu.com
In reply to: Gregory Stark (as CFM) (#199)