Open lucassardois opened 2 years ago
Yes, we are aware of the issue.
There is an hard-coded timeout in the docker library... It is not the commit operation it-self that is failing, because it is actually being carried out by the docker daemon, it is instead the python library giveing up on waiting.
The real solution would be to catch the error and then do polling (or remove the hard-coded timeout from the upstream library).
The easier and faster one, is to wait for the docker daemon to complete the operation (just look for when the image becomes available or use ps
) and the rerun the script, the second time it will find the image already in-place and will not try to "reload-it". You may experience the same issue when committing after sampling depending your containers' storage backend.
Well, I currently need to overcome this issue. After checking the docker python library documentation I found that we should be able to set the default API timeout for API calls: https://docker-py.readthedocs.io/en/stable/client.html#docker.client.from_env.
I tried by updating this line: https://github.com/kuzeko/graph-databases-testsuite/blob/133116cbcc1c61cf088441e1b5907c4fbd4531f1/CONTROL/control.py#L72 To:
client = docker.from_env(timeout=60*60)
But for some reason the library doesn't seems to respect it on the commit operation? I'm gonna try to catch the error as you suggested.
I'm trying to run the V2 benchmark on the
dbpedia.escaped.json
andldbc.scale10.escaped.json
datasets. During the loading of both datasets the following error occurs:The benchmark process then stop. The above error happen when using neo4j but I think (not 100% sure) the same error is raised for others GDBMS. Here is how I added the datasets to my conf.toml:
I downloaded the datasets using your provided link and placed it in
/CONTROL/runtime/data
.