failed to load citus after compilation on docker image
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
I failed to load citus extension after finished compilation on docker image.I found that four methods in function _pg_init() could not be executed properly during loading(InitializeTransactionManagement,InitializeConnectionManagement,InitPlacementConnectionManagement,InitializeLocallyReservedSharedConnections).The fundamental reason is that pg kernel function AllocSetCreateExtented failed to execute during extension initialization,why?how to build a citus for running on docker image?
Could someone help me for this?thanks.
citus version:10.0.3
postgresql:11.6
docker image kernel:
Linux version 3.10.0-1160.45.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Wed Oct 13 17:20:51 UTC 2021
shared_library_init.c
void _PG_init()
{
...
emit_log_hook = multi_log_hook;
/*
* Register hook for counting client backends that
* are successfully authenticated.
*/
original_client_auth_hook = ClientAuthentication_hook;
ClientAuthentication_hook = CitusAuthHook;
InitializeMaintenanceDaemon();
/* initialize coordinated transaction management */
**InitializeTransactionManagement();//********failed*******/**
InitializeBackendManagement();
**InitializeConnectionManagement();//********failed*******/**
**InitPlacementConnectionManagement(); //*******failed**********/**
InitializeCitusQueryStats();
InitializeSharedConnectionStats();
**InitializeLocallyReservedSharedConnections(); //***********failed***********/**
/* enable modification of pg_catalog tables during pg_upgrade */
if (IsBinaryUpgrade)
{
SetConfigOption("allow_system_table_mods", "true", PGC_POSTMASTER,
PGC_S_OVERRIDE);
}
....
}
Contributor guide
Research direction
Start with shared_library_init.c and the _PG_init() entry point, then reproduce the extension load using Citus 10.0.3, PostgreSQL 11.6, and the reported Docker kernel. Trace why the four named initialization methods fail, and consider the work complete when the root cause and a verified Docker build/load procedure are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, postgresql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100