Search code examples
dockerorientdbpyorient

orientdb docker can't connect or remove database of type 'memory'


I attempted to remove an orientdb database of type 'memory' named 'unit_tests', I get the following error:

{"errors":[{"code":505,"reason":505,"content":"java.lang.StackOverflowError"}]}

I run a docker container that was created with the following command:

docker run -d --name minion --net=host -p 2424:2424 -p 2480:2480 -p 2434:2434 -p 5701:5701 -e ORIENTDB_NODE_NAME=minion -v /home/user/orient-config:/orientdb/config -v /home/user/databases:/orientdb/databases  -e ORIENTDB_ROOT_PASSWORD=password orientdb:latest /orientdb/bin/server.sh  -Ddistributed=true -Xmx8g

I get the error if I try to remove the database via the browser interface, console.sh or pyorient.

The error actually happens when I connect to the database.

Is it possible to use databases of type 'memory' in orientdb's docker for unit testing purposes?

I must be missing something.


Solution

  • This problem only happens if you are running your docker with -Ddistributed=true. I was hoping to run my unitests on the same setup as my server.

    I'm sure it's a bug but it's easily overcome by simply creating another container to service the unit tests.