-
Notifications
You must be signed in to change notification settings - Fork 38
Requested shared memory is always less than captured #41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
FTR I noticed this problem a few days ago, which is mostly why I sent this email. I was waiting for an agreement on a new hook on the mailing list to send a PR here. Note that even with the new hook the memory requested during |
Hi @rjuju !
Thanks for working on this.
Yes, you can if this doesn't bother you. |
Sure! Note that we're now two people thinking that the current GetMaxBackends() approach doesn't provide a clean basis to fix this problem so I don't think that there will be something available in pg15 for entirely fix the problem. |
merged 277a4e5 |
Starting from commit postgres/postgres@cdbc0ca48ca shared preload libraries are become to initialize before
MaxBackends
global variable setup. This might lead to invalid calculation of requested shared memory size if this calculation is based on max number of possible backend processes in postgres instance. Forpg_wait_sampling
module the size calculation of queryId shared memory follows this rule, i.e. it usesMaxBackends
value. As result, for this shared memory fragment we request zero size (UPD. not zero but NUM_AUXILIARY_PROCS + max_prepared_xacts size) but later we assign non-zero memory (with already initializedMaxBackends
value) for this purpose. Such behavior might incur future occurrences ofout of shared memory
errors.The hackers thread have to help in finding of possible solution.
The text was updated successfully, but these errors were encountered: