Skip to content

Replication fails when updating to v1.2.3 #430

@rustprooflabs

Description

@rustprooflabs

What version of PgOSM Flex are you using?

PgOSM Flex 1.2.3 now. Replication had been using PgOSM Flex 1.2.2.

Docker image

1.2.3: 53aa0c83e994

What did you do exactly?

Bumped replication script to use 1.2.3 when it had been running happily on 1.2.2. Current pgosm_flex_replication_update.sh:

source ~/.pgosm-geocode

echo "Running PgOSM Flex"
docker run --name pgosm -d --rm \
   -v ~/pgosm-data:/app/output \
   -v /etc/localtime:/etc/localtime:ro \
   -e POSTGRES_USER=$POSTGRES_USER \
   -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
   -e POSTGRES_HOST=$POSTGRES_HOST \
   -e POSTGRES_DB=$POSTGRES_DB \
   -e POSTGRES_PORT=$POSTGRES_PORT \
   -p 5433:5432 \
   -d rustprooflabs/pgosm-flex:1.2.3 \
   -c max_connections=300

docker exec -i \
   pgosm python3 docker/pgosm_flex.py \
   --ram=5 \
   --region=north-america/us \
   --subregion=colorado \
   --replication

docker stop pgosm

What did you expect to happen?

To work.

What did happen instead?

It failed because the osm.append_data_finish(boolean) shifted unexpectedly.

psycopg.errors.InvalidFunctionDefinition: cannot remove parameter defaults from existing function
HINT:  Use DROP PROCEDURE osm.append_data_finish(boolean) first.

What did you do to try analyzing the problem?

I went back to #427 and see I accidentally changed the function signature to remove the default, causing the error. That wasn't an intentional change.

Image

Proposed solution

Most users will want to stay with 1.2.2 if you're using replication until this is resolved in the next version (1.3.0).

Manual fixes for 1.2.3 (and subsequently 1.3.0)

If you're eager to move to 1.2.3 for the improved timestamp in osm_date you can manually run this.

DROP PROCEDURE osm.append_data_finish(boolean);

If you go this route you will need to do the same when you upgrade to 1.3.0. If you don't upgrade to 1.2.3, you won't need to do anything manually for this issue for the 1.3.0 update.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions