=== Applying patches on top of PostgreSQL commit ID 74b41f5a77b8586356d02227c92e7e47380ac228 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Fri Oct 3 19:22:21 UTC 2025 On branch cf/5189 nothing to commit, working tree clean === using 'git am' to apply patch ./v9-0001-pg_replication_origin_session_setup-pid-parameter.patch === Applying: pg_replication_origin_session_setup: pid parameter Using index info to reconstruct a base tree... M contrib/test_decoding/Makefile M contrib/test_decoding/expected/replorigin.out M contrib/test_decoding/meson.build M contrib/test_decoding/sql/replorigin.sql M doc/src/sgml/func/func-admin.sgml M src/backend/catalog/system_functions.sql M src/backend/replication/logical/origin.c M src/include/catalog/pg_proc.dat Falling back to patching base and 3-way merge... Auto-merging src/backend/replication/logical/origin.c CONFLICT (content): Merge conflict in src/backend/replication/logical/origin.c Auto-merging contrib/test_decoding/meson.build CONFLICT (content): Merge conflict in contrib/test_decoding/meson.build Auto-merging contrib/test_decoding/expected/replorigin.out CONFLICT (content): Merge conflict in contrib/test_decoding/expected/replorigin.out Auto-merging contrib/test_decoding/Makefile CONFLICT (content): Merge conflict in contrib/test_decoding/Makefile error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 pg_replication_origin_session_setup: pid parameter When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Unstaged changes after reset: M contrib/test_decoding/Makefile M contrib/test_decoding/expected/replorigin.out M contrib/test_decoding/meson.build M src/backend/replication/logical/origin.c Removing contrib/test_decoding/expected/repl_origin.out Removing contrib/test_decoding/specs/repl_origin.spec === using patch(1) to apply patch ./v9-0001-pg_replication_origin_session_setup-pid-parameter.patch === patching file contrib/test_decoding/Makefile Hunk #1 FAILED at 9. 1 out of 1 hunk FAILED -- saving rejects to file contrib/test_decoding/Makefile.rej patching file contrib/test_decoding/expected/repl_origin.out patching file contrib/test_decoding/expected/replorigin.out Hunk #1 FAILED at 41. 1 out of 1 hunk FAILED -- saving rejects to file contrib/test_decoding/expected/replorigin.out.rej patching file contrib/test_decoding/meson.build Hunk #1 FAILED at 64. 1 out of 1 hunk FAILED -- saving rejects to file contrib/test_decoding/meson.build.rej patching file contrib/test_decoding/specs/repl_origin.spec patching file contrib/test_decoding/sql/replorigin.sql Hunk #1 succeeded at 29 with fuzz 2 (offset 3 lines). patching file doc/src/sgml/func/func-admin.sgml Hunk #1 FAILED at 1315. Hunk #2 FAILED at 1323. 2 out of 2 hunks FAILED -- saving rejects to file doc/src/sgml/func/func-admin.sgml.rej patching file src/backend/catalog/system_functions.sql Hunk #1 succeeded at 657 with fuzz 2 (offset 7 lines). Hunk #2 FAILED at 758. 1 out of 2 hunks FAILED -- saving rejects to file src/backend/catalog/system_functions.sql.rej patching file src/backend/replication/logical/origin.c Hunk #1 succeeded at 1175 with fuzz 1 (offset 8 lines). Hunk #2 FAILED at 1189. Hunk #3 FAILED at 1201. Hunk #4 FAILED at 1382. 3 out of 4 hunks FAILED -- saving rejects to file src/backend/replication/logical/origin.c.rej patching file src/include/catalog/pg_proc.dat Hunk #1 FAILED at 12235. 1 out of 1 hunk FAILED -- saving rejects to file src/include/catalog/pg_proc.dat.rej Unstaged changes after reset: M contrib/test_decoding/sql/replorigin.sql M src/backend/catalog/system_functions.sql M src/backend/replication/logical/origin.c Removing contrib/test_decoding/Makefile.rej Removing contrib/test_decoding/expected/repl_origin.out Removing contrib/test_decoding/expected/replorigin.out.rej Removing contrib/test_decoding/meson.build.rej Removing contrib/test_decoding/specs/repl_origin.spec Removing doc/src/sgml/func/func-admin.sgml.rej Removing src/backend/catalog/system_functions.sql.rej Removing src/backend/replication/logical/origin.c.rej Removing src/include/catalog/pg_proc.dat.rej === using 'git apply' to apply patch ./v9-0001-pg_replication_origin_session_setup-pid-parameter.patch === Applied patch to 'contrib/test_decoding/Makefile' with conflicts. Falling back to direct application... Applied patch to 'contrib/test_decoding/expected/replorigin.out' with conflicts. Applied patch to 'contrib/test_decoding/meson.build' with conflicts. Falling back to direct application... Applied patch to 'contrib/test_decoding/sql/replorigin.sql' cleanly. Applied patch to 'doc/src/sgml/func/func-admin.sgml' cleanly. Applied patch to 'src/backend/catalog/system_functions.sql' cleanly. Applied patch to 'src/backend/replication/logical/origin.c' with conflicts. Applied patch to 'src/include/catalog/pg_proc.dat' cleanly. U contrib/test_decoding/Makefile U contrib/test_decoding/expected/replorigin.out U contrib/test_decoding/meson.build U src/backend/replication/logical/origin.c diff --cc contrib/test_decoding/Makefile index acbcaed2feb,8aa80054944..00000000000 --- a/contrib/test_decoding/Makefile +++ b/contrib/test_decoding/Makefile @@@ -9,7 -9,7 +9,11 @@@ REGRESS = ddl xact rewrite toast permis ISOLATION = mxact delayed_startup ondisk_startup concurrent_ddl_dml \ oldest_xmin snapshot_transfer subxact_without_top concurrent_stream \ twophase_snapshot slot_creation_error catalog_change_snapshot \ ++<<<<<<< ours + skip_snapshot_restore invalidation_distribution parallel_session_origin ++======= + skip_snapshot_restore invalidation_distribution repl_origin ++>>>>>>> theirs REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf ISOLATION_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf diff --cc contrib/test_decoding/expected/replorigin.out index 29a9630c900,cb9d63e20c1..00000000000 --- a/contrib/test_decoding/expected/replorigin.out +++ b/contrib/test_decoding/expected/replorigin.out @@@ -43,7 -43,7 +43,11 @@@ ERROR: duplicate key value violates un DETAIL: Key (roname)=(regress_test_decoding: regression_slot) already exists. -- ensure inactive origin cannot be set as session one if pid is specified SELECT pg_replication_origin_session_setup('regress_test_decoding: regression_slot', -1); ++<<<<<<< ours +ERROR: cannot use PID -1 for inactive replication origin with ID 1 ++======= + ERROR: replication origin with ID 1 is inactive but PID -1 was specified ++>>>>>>> theirs --ensure deletions work (once) SELECT pg_replication_origin_create('regress_test_decoding: temp'); pg_replication_origin_create diff --cc contrib/test_decoding/meson.build index 99310555e6c,6d687eeb2d7..00000000000 --- a/contrib/test_decoding/meson.build +++ b/contrib/test_decoding/meson.build @@@ -64,7 -64,7 +64,11 @@@ tests += 'slot_creation_error', 'skip_snapshot_restore', 'invalidation_distribution', ++<<<<<<< ours + 'parallel_session_origin', ++======= + 'repl_origin', ++>>>>>>> theirs ], 'regress_args': [ '--temp-config', files('logical.conf'), diff --cc src/backend/replication/logical/origin.c index bcd5d9aad62,a88b0e6d1ea..00000000000 --- a/src/backend/replication/logical/origin.c +++ b/src/backend/replication/logical/origin.c @@@ -1189,11 -1189,12 +1189,20 @@@ replorigin_session_setup(RepOriginId no errhint("Increase \"max_active_replication_origins\" and try again."))); else if (session_replication_state == NULL) { ++<<<<<<< ours + if (acquired_by) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot use PID %d for inactive replication origin with ID %d", + acquired_by, node))); ++======= + /* The origin is not used but PID is specified */ + if(acquired_by) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("replication origin with ID %d is inactive but PID %d was specified", + node, acquired_by))); ++>>>>>>> theirs /* initialize new slot */ session_replication_state = &replication_states[free_slot];