=== Applying patches on top of PostgreSQL commit ID 7c82b4f711877b175142bb2b2a6e2c2ee2429441 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Wed Mar 26 09:13:35 UTC 2025 On branch cf/5323 nothing to commit, working tree clean === using 'git am' to apply patch ./v20250315-0001-Online-enabling-and-disabling-of-data-chec.patch === Applying: Online enabling and disabling of data checksums Using index info to reconstruct a base tree... M doc/src/sgml/func.sgml M doc/src/sgml/monitoring.sgml M src/backend/access/transam/xlog.c M src/backend/catalog/system_views.sql M src/backend/postmaster/launch_backend.c M src/backend/postmaster/postmaster.c M src/backend/storage/ipc/ipci.c M src/backend/utils/activity/pgstat_backend.c M src/backend/utils/activity/pgstat_io.c M src/backend/utils/activity/wait_event_names.txt M src/backend/utils/adt/pgstatfuncs.c M src/backend/utils/init/miscinit.c M src/backend/utils/init/postinit.c M src/backend/utils/misc/guc_tables.c M src/bin/pg_checksums/pg_checksums.c M src/bin/pg_upgrade/controldata.c M src/include/catalog/pg_proc.dat M src/include/miscadmin.h M src/include/storage/lwlocklist.h M src/include/storage/proc.h M src/test/perl/PostgreSQL/Test/Cluster.pm M src/test/regress/expected/rules.out M src/test/regress/expected/stats.out M src/tools/pgindent/typedefs.list Falling back to patching base and 3-way merge... Auto-merging src/tools/pgindent/typedefs.list Auto-merging src/test/regress/expected/stats.out CONFLICT (content): Merge conflict in src/test/regress/expected/stats.out Auto-merging src/test/regress/expected/rules.out Auto-merging src/test/perl/PostgreSQL/Test/Cluster.pm Auto-merging src/include/storage/proc.h CONFLICT (content): Merge conflict in src/include/storage/proc.h Auto-merging src/include/storage/lwlocklist.h CONFLICT (content): Merge conflict in src/include/storage/lwlocklist.h Auto-merging src/include/miscadmin.h CONFLICT (content): Merge conflict in src/include/miscadmin.h Auto-merging src/include/catalog/pg_proc.dat Auto-merging src/bin/pg_upgrade/controldata.c Auto-merging src/bin/pg_checksums/pg_checksums.c Auto-merging src/backend/utils/misc/guc_tables.c CONFLICT (content): Merge conflict in src/backend/utils/misc/guc_tables.c Auto-merging src/backend/utils/init/postinit.c Auto-merging src/backend/utils/init/miscinit.c CONFLICT (content): Merge conflict in src/backend/utils/init/miscinit.c Auto-merging src/backend/utils/adt/pgstatfuncs.c Auto-merging src/backend/utils/activity/wait_event_names.txt CONFLICT (content): Merge conflict in src/backend/utils/activity/wait_event_names.txt Auto-merging src/backend/utils/activity/pgstat_io.c Auto-merging src/backend/utils/activity/pgstat_backend.c Auto-merging src/backend/storage/ipc/ipci.c CONFLICT (content): Merge conflict in src/backend/storage/ipc/ipci.c Auto-merging src/backend/postmaster/postmaster.c Auto-merging src/backend/postmaster/launch_backend.c Auto-merging src/backend/catalog/system_views.sql Auto-merging src/backend/access/transam/xlog.c Auto-merging doc/src/sgml/monitoring.sgml Auto-merging doc/src/sgml/func.sgml error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Online enabling and disabling of data checksums 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 doc/src/sgml/func.sgml M doc/src/sgml/glossary.sgml M doc/src/sgml/monitoring.sgml M doc/src/sgml/ref/pg_checksums.sgml M doc/src/sgml/wal.sgml M src/backend/access/rmgrdesc/xlogdesc.c M src/backend/access/transam/xlog.c M src/backend/access/transam/xlogfuncs.c M src/backend/backup/basebackup.c M src/backend/catalog/system_functions.sql M src/backend/catalog/system_views.sql M src/backend/postmaster/Makefile M src/backend/postmaster/bgworker.c M src/backend/postmaster/launch_backend.c M src/backend/postmaster/meson.build M src/backend/postmaster/postmaster.c M src/backend/replication/logical/decode.c M src/backend/storage/ipc/ipci.c M src/backend/storage/ipc/procsignal.c M src/backend/storage/page/README M src/backend/storage/page/bufpage.c M src/backend/utils/activity/pgstat_backend.c M src/backend/utils/activity/pgstat_io.c M src/backend/utils/activity/wait_event_names.txt M src/backend/utils/adt/pgstatfuncs.c M src/backend/utils/init/miscinit.c M src/backend/utils/init/postinit.c M src/backend/utils/misc/guc_tables.c M src/bin/pg_checksums/pg_checksums.c M src/bin/pg_upgrade/controldata.c M src/include/access/xlog.h M src/include/access/xlog_internal.h M src/include/catalog/pg_control.h M src/include/catalog/pg_proc.dat M src/include/commands/progress.h M src/include/miscadmin.h M src/include/storage/bufpage.h M src/include/storage/checksum.h M src/include/storage/lwlocklist.h M src/include/storage/proc.h M src/include/storage/procsignal.h M src/include/utils/backend_progress.h M src/test/Makefile M src/test/meson.build M src/test/perl/PostgreSQL/Test/Cluster.pm M src/test/regress/expected/rules.out M src/test/regress/expected/stats.out M src/test/subscription/t/013_partition.pl M src/tools/pgindent/typedefs.list Removing src/backend/postmaster/datachecksumsworker.c Removing src/include/postmaster/datachecksumsworker.h Removing src/test/checksum/ === using patch(1) to apply patch ./v20250315-0001-Online-enabling-and-disabling-of-data-chec.patch === patch: unrecognized option `--no-backup-if-mismatch' usage: patch [-bCcEeflNnRstuv] [-B backup-prefix] [-D symbol] [-d directory] [-F max-fuzz] [-i patchfile] [-o out-file] [-p strip-count] [-r rej-name] [-V t | nil | never | none] [-x number] [-z backup-ext] [--posix] [origfile [patchfile]] patch <patchfile === using 'git apply' to apply patch ./v20250315-0001-Online-enabling-and-disabling-of-data-chec.patch === Applied patch to 'doc/src/sgml/func.sgml' cleanly. Applied patch to 'doc/src/sgml/glossary.sgml' cleanly. Applied patch to 'doc/src/sgml/monitoring.sgml' cleanly. Applied patch to 'doc/src/sgml/ref/pg_checksums.sgml' cleanly. Applied patch to 'doc/src/sgml/wal.sgml' cleanly. Applied patch to 'src/backend/access/rmgrdesc/xlogdesc.c' cleanly. Applied patch to 'src/backend/access/transam/xlog.c' cleanly. Applied patch to 'src/backend/access/transam/xlogfuncs.c' cleanly. Applied patch to 'src/backend/backup/basebackup.c' cleanly. Applied patch to 'src/backend/catalog/system_functions.sql' cleanly. Applied patch to 'src/backend/catalog/system_views.sql' cleanly. Applied patch to 'src/backend/postmaster/Makefile' cleanly. Applied patch to 'src/backend/postmaster/bgworker.c' cleanly. Falling back to direct application... Applied patch to 'src/backend/postmaster/launch_backend.c' cleanly. Applied patch to 'src/backend/postmaster/meson.build' cleanly. Applied patch to 'src/backend/postmaster/postmaster.c' cleanly. Applied patch to 'src/backend/replication/logical/decode.c' cleanly. Applied patch to 'src/backend/storage/ipc/ipci.c' with conflicts. Applied patch to 'src/backend/storage/ipc/procsignal.c' cleanly. Applied patch to 'src/backend/storage/page/README' cleanly. Applied patch to 'src/backend/storage/page/bufpage.c' cleanly. Applied patch to 'src/backend/utils/activity/pgstat_backend.c' cleanly. Applied patch to 'src/backend/utils/activity/pgstat_io.c' cleanly. Applied patch to 'src/backend/utils/activity/wait_event_names.txt' with conflicts. Applied patch to 'src/backend/utils/adt/pgstatfuncs.c' cleanly. Applied patch to 'src/backend/utils/init/miscinit.c' with conflicts. Applied patch to 'src/backend/utils/init/postinit.c' cleanly. Applied patch to 'src/backend/utils/misc/guc_tables.c' with conflicts. Applied patch to 'src/bin/pg_checksums/pg_checksums.c' cleanly. Applied patch to 'src/bin/pg_upgrade/controldata.c' cleanly. Applied patch to 'src/include/access/xlog.h' cleanly. Applied patch to 'src/include/access/xlog_internal.h' cleanly. Applied patch to 'src/include/catalog/pg_control.h' cleanly. Applied patch to 'src/include/catalog/pg_proc.dat' cleanly. Applied patch to 'src/include/commands/progress.h' cleanly. Applied patch to 'src/include/miscadmin.h' with conflicts. Falling back to direct application... Applied patch to 'src/include/storage/bufpage.h' cleanly. Applied patch to 'src/include/storage/checksum.h' cleanly. Applied patch to 'src/include/storage/lwlocklist.h' with conflicts. Applied patch to 'src/include/storage/proc.h' with conflicts. Applied patch to 'src/include/storage/procsignal.h' cleanly. Applied patch to 'src/include/utils/backend_progress.h' cleanly. Applied patch to 'src/test/Makefile' cleanly. Falling back to direct application... Falling back to direct application... Falling back to direct application... Falling back to direct application... Falling back to direct application... Falling back to direct application... Falling back to direct application... Falling back to direct application... Applied patch to 'src/test/meson.build' cleanly. Applied patch to 'src/test/perl/PostgreSQL/Test/Cluster.pm' cleanly. Applied patch to 'src/test/regress/expected/rules.out' cleanly. Applied patch to 'src/test/regress/expected/stats.out' with conflicts. Applied patch to 'src/test/subscription/t/013_partition.pl' cleanly. Applied patch to 'src/tools/pgindent/typedefs.list' cleanly. U src/backend/storage/ipc/ipci.c U src/backend/utils/activity/wait_event_names.txt U src/backend/utils/init/miscinit.c U src/backend/utils/misc/guc_tables.c U src/include/miscadmin.h U src/include/storage/lwlocklist.h U src/include/storage/proc.h U src/test/regress/expected/stats.out diff --cc src/backend/storage/ipc/ipci.c index 2fa045e6b0f,e7761a3ddb6..00000000000 --- a/src/backend/storage/ipc/ipci.c +++ b/src/backend/storage/ipc/ipci.c @@@ -149,7 -150,7 +151,11 @@@ CalculateShmemSize(int *num_semaphores size = add_size(size, WaitEventCustomShmemSize()); size = add_size(size, InjectionPointShmemSize()); size = add_size(size, SlotSyncShmemSize()); ++<<<<<<< ours + size = add_size(size, AioShmemSize()); ++======= + size = add_size(size, DataChecksumsWorkerShmemSize()); ++>>>>>>> theirs /* include additional requested shmem from preload libraries */ size = add_size(size, total_addin_request); diff --cc src/backend/utils/activity/wait_event_names.txt index 9fa12a555e8,b1b5cdcf36c..00000000000 --- a/src/backend/utils/activity/wait_event_names.txt +++ b/src/backend/utils/activity/wait_event_names.txt @@@ -348,7 -348,7 +350,11 @@@ WALSummarizer "Waiting to read or updat DSMRegistry "Waiting to read or update the dynamic shared memory registry." InjectionPoint "Waiting to read or update information related to injection points." SerialControl "Waiting to read or update shared <filename>pg_serial</filename> state." ++<<<<<<< ours +AioWorkerSubmissionQueue "Waiting to access AIO worker submission queue." ++======= + DataChecksumsWorker "Waiting for data checksumsworker." ++>>>>>>> theirs # # END OF PREDEFINED LWLOCKS (DO NOT CHANGE THIS LINE) diff --cc src/backend/utils/init/miscinit.c index 43b4dbccc3d,a071ba6f455..00000000000 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@@ -293,8 -293,11 +293,16 @@@ GetBackendTypeDesc(BackendType backendT case B_CHECKPOINTER: backendDesc = gettext_noop("checkpointer"); break; ++<<<<<<< ours + case B_IO_WORKER: + backendDesc = gettext_noop("io worker"); ++======= + case B_DATACHECKSUMSWORKER_LAUNCHER: + backendDesc = "datachecksumsworker launcher"; + break; + case B_DATACHECKSUMSWORKER_WORKER: + backendDesc = "datachecksumsworker worker"; ++>>>>>>> theirs break; case B_LOGGER: backendDesc = gettext_noop("logger"); diff --cc src/backend/utils/misc/guc_tables.c index 989825d3a9c,5c00e6a5bf6..00000000000 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@@ -5397,13 -5308,14 +5393,24 @@@ struct config_enum ConfigureNamesEnum[ }, { ++<<<<<<< ours + {"io_method", PGC_POSTMASTER, RESOURCES_IO, + gettext_noop("Selects the method for executing asynchronous I/O."), + NULL + }, + &io_method, + DEFAULT_IO_METHOD, io_method_options, + NULL, assign_io_method, NULL ++======= + {"data_checksums", PGC_INTERNAL, PRESET_OPTIONS, + gettext_noop("Shows whether data checksums are turned on for this cluster."), + NULL, + GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE | GUC_RUNTIME_COMPUTED + }, + &data_checksums, + DATA_CHECKSUMS_OFF, data_checksums_options, + NULL, NULL, show_data_checksums ++>>>>>>> theirs }, /* End-of-list marker */ diff --cc src/include/miscadmin.h index 603d0424354,133e7fde290..00000000000 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@@ -390,7 -392,9 +393,13 @@@ extern PGDLLIMPORT BackendType MyBacken #define AmWalReceiverProcess() (MyBackendType == B_WAL_RECEIVER) #define AmWalSummarizerProcess() (MyBackendType == B_WAL_SUMMARIZER) #define AmWalWriterProcess() (MyBackendType == B_WAL_WRITER) ++<<<<<<< ours +#define AmIoWorkerProcess() (MyBackendType == B_IO_WORKER) ++======= + #define AmDataChecksumsWorkerProcess() \ + (MyBackendType == B_DATACHECKSUMSWORKER_LAUNCHER || \ + MyBackendType == B_DATACHECKSUMSWORKER_WORKER) ++>>>>>>> theirs #define AmSpecialWorkerProcess() \ (AmAutoVacuumLauncherProcess() || \ diff --cc src/include/storage/lwlocklist.h index 932024b1b0b,afe39db753c..00000000000 --- a/src/include/storage/lwlocklist.h +++ b/src/include/storage/lwlocklist.h @@@ -83,4 -83,4 +83,8 @@@ PG_LWLOCK(49, WALSummarizer PG_LWLOCK(50, DSMRegistry) PG_LWLOCK(51, InjectionPoint) PG_LWLOCK(52, SerialControl) ++<<<<<<< ours +PG_LWLOCK(53, AioWorkerSubmissionQueue) ++======= + PG_LWLOCK(53, DataChecksumsWorker) ++>>>>>>> theirs diff --cc src/include/storage/proc.h index f51b03d3822,17fb0decaff..00000000000 --- a/src/include/storage/proc.h +++ b/src/include/storage/proc.h @@@ -447,11 -447,10 +447,16 @@@ extern PGDLLIMPORT PGPROC *PreparedXact * Background writer, checkpointer, WAL writer, WAL summarizer, and archiver * run during normal operation. Startup process and WAL receiver also consume * 2 slots, but WAL writer is launched only after startup has exited, so we - * only need 6 slots. + * only need 6 slots to cover these. The DataChecksums worker and launcher + * can consume 2 slots when data checksums are enabled or disabled. */ ++<<<<<<< ours +#define MAX_IO_WORKERS 32 +#define NUM_AUXILIARY_PROCS (6 + MAX_IO_WORKERS) + ++======= + #define NUM_AUXILIARY_PROCS 8 ++>>>>>>> theirs /* configurable options */ extern PGDLLIMPORT int DeadlockTimeout; diff --cc src/test/regress/expected/stats.out index cd08a2ca0af,85e15d4cc2b..00000000000 --- a/src/test/regress/expected/stats.out +++ b/src/test/regress/expected/stats.out @@@ -51,14 -51,22 +51,33 @@@ client backend|relation|vacuu client backend|temp relation|normal client backend|wal|init client backend|wal|normal ++<<<<<<< ours +io worker|relation|bulkread +io worker|relation|bulkwrite +io worker|relation|init +io worker|relation|normal +io worker|relation|vacuum +io worker|temp relation|normal +io worker|wal|init +io worker|wal|normal ++======= + datachecksumsworker launcher|relation|bulkread + datachecksumsworker launcher|relation|bulkwrite + datachecksumsworker launcher|relation|init + datachecksumsworker launcher|relation|normal + datachecksumsworker launcher|relation|vacuum + datachecksumsworker launcher|temp relation|normal + datachecksumsworker launcher|wal|init + datachecksumsworker launcher|wal|normal + datachecksumsworker worker|relation|bulkread + datachecksumsworker worker|relation|bulkwrite + datachecksumsworker worker|relation|init + datachecksumsworker worker|relation|normal + datachecksumsworker worker|relation|vacuum + datachecksumsworker worker|temp relation|normal + datachecksumsworker worker|wal|init + datachecksumsworker worker|wal|normal ++>>>>>>> theirs slotsync worker|relation|bulkread slotsync worker|relation|bulkwrite slotsync worker|relation|init @@@ -95,7 -103,7 +114,11 @@@ walsummarizer|wal|ini walsummarizer|wal|normal walwriter|wal|init walwriter|wal|normal ++<<<<<<< ours +(79 rows) ++======= + (87 rows) ++>>>>>>> theirs \a -- ensure that both seqscan and indexscan plans are allowed SET enable_seqscan TO on;