docker icon indicating copy to clipboard operation
docker copied to clipboard

citusdata/citus:8 function recover_prepared_transactions() does not exist.

Open kehao95 opened this issue 6 years ago • 0 comments

The image citusdata/citus:8 seems to be broken.

Reproduce

docker-compose.yml

version: '2.1'
volumes:
  citus_7: {}
  citus_8: {}
services:
  master8:
    container_name: citus_8
    image: 'citusdata/citus:8'
    labels: ['com.citusdata.role=Master']
    volumes:
      - citus_8:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=Js7Wf0ZMlewhJzcF
      - POSTGRES_USER=citus
  master7:
    container_name: citus_7
    image: 'citusdata/citus:7'
    labels: ['com.citusdata.role=Master']
    volumes:
      - citus_7:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=Js7Wf0ZMlewhJzcF
      - POSTGRES_USER=citus
$ docker-compose up -d
# there is chance that citus_8 will failed to start

$ docker exec -it citus_7  psql -U citus -c "CREATE EXTENSION citus;"
ERROR:  extension "citus" already exists

$ docker exec -it citus_8  psql -U citus -c "CREATE EXTENSION citus;"
ERROR:  function recover_prepared_transactions() does not exist

When citus_8 failed to init here's the logs output:

$(docker logs citus_8)

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    pg_ctl -D /var/lib/postgresql/data -l logfile start


WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
waiting for server to start....2019-03-13 18:17:51.118 UTC [52] LOG:  number of prepared transactions has not been configured, overriding
2019-03-13 18:17:51.118 UTC [52] DETAIL:  max_prepared_transactions is now set to 200
2019-03-13 18:17:51.123 UTC [52] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-03-13 18:17:51.183 UTC [53] LOG:  database system was shut down at 2019-03-13 18:17:46 UTC
2019-03-13 18:17:51.210 UTC [52] LOG:  database system is ready to accept connections
 done
server started
CREATE DATABASE


/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/000-configure-stats.sh

/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/001-create-citus-extension.sql
BEGIN
2019-03-13 18:17:53.758 UTC [89] LOG:  starting maintenance daemon on database 16384 user 10
2019-03-13 18:17:53.758 UTC [89] CONTEXT:  Citus maintenance daemon for database 16384 user 10
2019-03-13 18:17:53.762 UTC [88] LOG:  citus extension created on postgres without ssl enabled, turning it on during creation of the extension
2019-03-13 18:17:53.762 UTC [88] CONTEXT:  SQL statement "SELECT citus_setup_ssl()"
	PL/pgSQL function inline_code_block line 5 at PERFORM
2019-03-13 18:17:53.762 UTC [88] STATEMENT:  CREATE EXTENSION citus;
2019-03-13 18:17:53.796 UTC [88] LOG:  no certificate present, generating self signed certificate
2019-03-13 18:17:53.796 UTC [88] CONTEXT:  SQL statement "SELECT citus_setup_ssl()"
	PL/pgSQL function inline_code_block line 5 at PERFORM
2019-03-13 18:17:53.796 UTC [88] STATEMENT:  CREATE EXTENSION citus;
2019-03-13 18:17:53.918 UTC [52] LOG:  received SIGHUP, reloading configuration files
2019-03-13 18:17:53.919 UTC [52] LOG:  parameter "listen_addresses" cannot be changed without restarting the server
2019-03-13 18:17:53.919 UTC [52] LOG:  parameter "ssl" changed to "on"
2019-03-13 18:17:53.919 UTC [52] LOG:  parameter "ssl_ciphers" changed to "TLSv1.2+HIGH:!aNULL:!eNULL"
2019-03-13 18:17:53.919 UTC [52] LOG:  configuration file "/var/lib/postgresql/data/postgresql.conf" contains errors; unaffected changes were applied
2019-03-13 18:17:54.322 UTC [88] ERROR:  function recover_prepared_transactions() does not exist
2019-03-13 18:17:54.322 UTC [88] STATEMENT:  CREATE EXTENSION citus;
psql:/docker-entrypoint-initdb.d/001-create-citus-extension.sql:3: ERROR:  function recover_prepared_transactions() does not exist

kehao95 avatar Mar 13 '19 18:03 kehao95