citusdata / citusdata/citus

failed to load citus after compilation on docker image

Open
#6,509 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.