jacobalberty / firebird-docker

Firebird Dockerfile
127 stars 97 forks source link

Database already opened with engine instance, incompatible with current #97

Closed mpassos11 closed 1 year ago

mpassos11 commented 2 years ago

Hi,

I'm trying to use firebird with a kind of load balancer. Using docker service I have created 5 firebird instances and I am trying to access this server from various places but every now and then the error happens:

Database already opened with engine instance, incompatible with current

Is there any way to work with firebird and docker with a load balancer?

I created the service in docker using the following command line:

docker service create --name firebird -p 3050:3050 --replicas 5 --update-parallelism 5 -e ISC_PASSWORD=masterkey --mount type=bind,source=c:/vmulti,target=/firebird/data --limit-cpu="0.5" --limit-memory="10m" jacobalberty/firebird:3.0

CPU and Memory limits were purposely changed for testing

jacobalberty commented 2 years ago

You can't share a single database with multiple instances of a database server. You need to setup replication. 3.0 does not have built in replication support so you'll need to check out these tools . 4.0 has built-in replication (see page 23) but it's uni-directional, so your replicas will be reader instances not writer instances. It's alos not the same as just pointing the same instance at the same file. You need to build out the infrastructure and configure it, not just scale up replicas in docker.

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 14 days.