Sharing DSA pointer between parallel workers after they've been created

From: "Ma, Marcus" <marcjma(at)amazon(dot)com>
To: "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Sharing DSA pointer between parallel workers after they've been created
Date: 2022-06-09 03:00:18
Message-ID: 24228FB7-D13D-431D-B4A1-28F4A0C343C7@amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hey,

I’m currently working on a parallelization optimization of the Sequential Scan in the codebase, and I need to share information between the workers as they scan a relation. I’ve done a decent amount of testing, and I know that the parallel workers all share the same dsa_area in the plan state. However, by the time I’m actually able to allocate a dsa_pointer via dsa_allocate0(), the separate parallel workers have already been created so I can’t actually share the pointer with them. Since the workers all share the same dsa_area, all I need to do is be able to share the single dsa_pointer with them but so far I’ve been out of luck. Any advice?

Marcus

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Noah Misch 2022-06-09 05:17:08 Re: Extension pg_trgm, permissions and pg_dump order
Previous Message Kyotaro Horiguchi 2022-06-09 02:19:17 Re: FATAL: could not receive timeline history file from the primary server: ERROR: could not open file "pg_wal/0000000x.history": No such file or directory