agora inbox for [email protected]help / color / mirror / Atom feed
[PATCH 17/21] *an old and "deleted [has] happened" 25+ messages / 3 participants [nested] [flat]
* [PATCH 17/21] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --jI8keyz6grp/JLjh Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* [PATCH 17/18] *an old and "deleted [has] happened" @ 2021-02-06 21:17 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Justin Pryzby @ 2021-02-06 21:17 UTC (permalink / raw) Heikki missed this in 6b387179baab8d0e5da6570678eefbe61f3acc79 --- doc/src/sgml/protocol.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3763b4b995..a51f2c9920 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -6928,8 +6928,8 @@ Delete </term> <listitem> <para> - Identifies the following TupleData message as a old tuple. - This field is present if the table in which the delete has + Identifies the following TupleData message as an old tuple. + This field is present if the table in which the delete happened has REPLICA IDENTITY set to FULL. </para> </listitem> -- 2.17.0 --lc9FT7cWel8HagAv Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0018-doc-review-for-pg_stat_progress_create_index.patch" ^ permalink raw reply [nested|flat] 25+ messages in thread
* Deadlock between logrep apply worker and tablesync worker @ 2023-01-22 19:59 Tom Lane <[email protected]> 0 siblings, 1 reply; 25+ messages in thread From: Tom Lane @ 2023-01-22 19:59 UTC (permalink / raw) To: [email protected] On my machine, the src/test/subscription/t/002_types.pl test usually takes right about 1.5 seconds: $ time make check PROVE_FLAGS=--timer PROVE_TESTS=t/002_types.pl ... [14:22:12] t/002_types.pl .. ok 1550 ms ( 0.00 usr 0.00 sys + 0.70 cusr 0.25 csys = 0.95 CPU) [14:22:13] I noticed however that sometimes (at least one try in ten, for me) it takes about 2.5 seconds: [14:22:16] t/002_types.pl .. ok 2591 ms ( 0.00 usr 0.00 sys + 0.69 cusr 0.28 csys = 0.97 CPU) [14:22:18] and I've even seen 3.5 seconds. I dug into this and eventually identified the cause: it's a deadlock between a subscription's apply worker and a tablesync worker that it's spawned. Sometimes the apply worker calls wait_for_relation_state_change (to wait for the tablesync worker to finish) while it's holding a lock on pg_replication_origin. If that's the case, then when the tablesync worker reaches process_syncing_tables_for_sync it is able to perform UpdateSubscriptionRelState and reach the transaction commit below that; but when it tries to do replorigin_drop_by_name a little further down, it blocks on acquiring ExclusiveLock on pg_replication_origin. So we have an undetected deadlock. We escape that because wait_for_relation_state_change has a 1-second timeout, after which it rechecks GetSubscriptionRelState and is able to see the committed relation state change; so it continues, and eventually releases its transaction and the lock, permitting the tablesync worker to finish. I've not tracked down the exact circumstances in which the apply worker ends up holding a problematic lock, but it seems likely that it corresponds to cases where its main loop has itself called replorigin_drop_by_name, a bit further up, for some other concurrent tablesync operation. (In all the cases I've traced through, the apply worker is herding multiple tablesync workers when this happens.) I experimented with having the apply worker release its locks before waiting for the tablesync worker, as attached. This passes check-world and it seems to eliminate the test runtime instability, but I wonder whether it's semantically correct. This whole business of taking table-wide ExclusiveLock on pg_replication_origin looks like a horrid kluge that we should try to get rid of, not least because I don't see any clear documentation of what hazard it's trying to prevent. Another thing that has a bad smell about it is the fact that process_syncing_tables_for_sync uses two transactions in the first place. There's a comment there claiming that it's for crash safety, but I can't help suspecting it's really because this case becomes a hard deadlock without that mid-function commit. It's not great in any case that the apply worker can move on in the belief that the tablesync worker is done when in fact the latter still has catalog state updates to make. And I wonder what we're doing with having both of them calling replorigin_drop_by_name ... shouldn't that responsibility belong to just one of them? So I think this whole area deserves a hard look, and I'm not at all sure that what's attached is a good solution. regards, tom lane Attachments: [text/x-diff] hack-to-prevent-logrep-worker-deadlocks.patch (1.2K, ../../[email protected]/2-hack-to-prevent-logrep-worker-deadlocks.patch) download | inline diff: diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index 4647837b82..bb45c2107f 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -539,15 +539,27 @@ process_syncing_tables_for_apply(XLogRecPtr current_lsn) LWLockRelease(LogicalRepWorkerLock); /* - * Enter busy loop and wait for synchronization worker to - * reach expected state (or die trying). + * If we have a transaction, we must commit it to release + * any locks we have (it's quite likely we hold lock on + * pg_replication_origin, which the sync worker will need + * to update). Then start a new transaction so we can + * examine catalog state. */ - if (!started_tx) + if (started_tx) + { + CommitTransactionCommand(); + StartTransactionCommand(); + } + else { StartTransactionCommand(); started_tx = true; } + /* + * Enter busy loop and wait for synchronization worker to + * reach expected state (or die trying). + */ wait_for_relation_state_change(rstate->relid, SUBREL_STATE_SYNCDONE); } ^ permalink raw reply [nested|flat] 25+ messages in thread
* Re: Deadlock between logrep apply worker and tablesync worker @ 2023-01-23 06:08 Amit Kapila <[email protected]> parent: Tom Lane <[email protected]> 0 siblings, 0 replies; 25+ messages in thread From: Amit Kapila @ 2023-01-23 06:08 UTC (permalink / raw) To: Tom Lane <[email protected]>; +Cc: [email protected] On Mon, Jan 23, 2023 at 1:29 AM Tom Lane <[email protected]> wrote: > > Another thing that has a bad smell about it is the fact that > process_syncing_tables_for_sync uses two transactions in the first > place. There's a comment there claiming that it's for crash safety, > but I can't help suspecting it's really because this case becomes a > hard deadlock without that mid-function commit. > > It's not great in any case that the apply worker can move on in > the belief that the tablesync worker is done when in fact the latter > still has catalog state updates to make. And I wonder what we're > doing with having both of them calling replorigin_drop_by_name > ... shouldn't that responsibility belong to just one of them? > Originally, it was being dropped at one place only (via tablesync worker) but we found a race condition as mentioned in the comments in process_syncing_tables_for_sync() before the start of the second transaction which leads to this change. See the report and discussion about that race condition in the email [1]. [1] - https://www.postgresql.org/message-id/[email protected]... -- With Regards, Amit Kapila. ^ permalink raw reply [nested|flat] 25+ messages in thread
end of thread, other threads:[~2023-01-23 06:08 UTC | newest] Thread overview: 25+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/21] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2021-02-06 21:17 [PATCH 17/18] *an old and "deleted [has] happened" Justin Pryzby <[email protected]> 2023-01-22 19:59 Deadlock between logrep apply worker and tablesync worker Tom Lane <[email protected]> 2023-01-23 06:08 ` Re: Deadlock between logrep apply worker and tablesync worker Amit Kapila <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox