agora inbox for [email protected]help / color / mirror / Atom feed
Query string length 965+ messages / 2 participants [nested] [flat]
* Query string length @ 1999-08-12 11:29 Ansley, Michael <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Ansley, Michael @ 1999-08-12 11:29 UTC (permalink / raw) To: pgsql-hackers Hi, all Right, it works. Patches will arrive as soon as I figure out how to get cvs to diff the whole lot into one patch. I managed to get a 97kB query through, where the normal max was 64kB. I have to warn though, it munches memory. Disappearing at a rate of about 6MB a second, my paltry 64MB RAM with 100MB swap looked alarmingly small. Of course, if you're on a decent server, this becomes less of an issue, but it doesn't go away. Still, it's better than being limited to 64kB. The main issue seemed to be scan.l I had to change myinput() to cope with multiple calls, rather than assuming that flex would call it once only for the entire query. As a matter of interest, the code seems to think that lex might still be used. Is this the case, or can I remove the lex-specific code, i.e.: we assume flex to be used ALWAYS. MikeA -------------------------------------------------------------------- Science is the game we play with God to find out what his rules are. -------------------------------------------------------------------- [(LI)U]NIX IS user friendly; it's just picky about who its friends are. ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. @ 2026-04-13 09:36 Antonin Houska <[email protected]> 0 siblings, 0 replies; 965+ messages in thread From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw) The value is only needed by te worker, so there is no need to store it in shared memory. --- src/backend/commands/repack_worker.c | 5 +++-- src/include/commands/repack_internal.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 5bd020e0184..a594d6db25f 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0; static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid}; static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid}; +static dsm_segment *worker_dsm_segment = NULL; /* REPACK decoding worker entry point */ void @@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("could not map dynamic shared memory segment")); + worker_dsm_segment = seg; shared = (DecodingWorkerShared *) dsm_segment_address(seg); - shared->dsm_seg = seg; /* Arrange to signal the leader if we exit. */ before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared)); @@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg) PROCSIG_REPACK_MESSAGE, shared->backend_proc_number); - dsm_detach(shared->dsm_seg); + dsm_detach(worker_dsm_segment); } bool diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h index 3ff64444351..6a85cee8910 100644 --- a/src/include/commands/repack_internal.h +++ b/src/include/commands/repack_internal.h @@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared PGPROC *backend_proc; pid_t backend_pid; ProcNumber backend_proc_number; - dsm_segment *dsm_seg; /* * Memory the queue is located in. -- 2.47.3 --=-=-=-- ^ permalink raw reply [nested|flat] 965+ messages in thread
end of thread, other threads:[~2026-04-13 09:36 UTC | newest] Thread overview: 965+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 1999-08-12 11:29 Query string length Ansley, Michael <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]> 2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[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