place orientdb databases on a zfs filesystem to take advantages of native compression
OrientDB crashes on startup
I'm using OrientDB to store datas with a good compression trend. I've tested the internal compression and I'm gaining around 45% of space. Because internal compression is on record level I want to move databases into a zfs filesystem which will provide more space gain.
To reproduce
Exception `269A1467` in storage `plocal:/mnt/datas/orientdb/databases/OSystem`: 3.1.0 - Veloce (build da09ce5af52267b70035d8600551a5032065807a, branch develop)
com.orientechnologies.common.jnr.LastErrorException: Error during execution of native call, error code 95
at com.orientechnologies.common.jnr.ONative.checkLastError(ONative.java:270)
at com.orientechnologies.common.jnr.ONative.fallocate(ONative.java:245)
at com.orientechnologies.orient.core.storage.fs.AsyncFile.allocateSpace(AsyncFile.java:273)
Same error with "-Dstorage.wal.allowDirectIO=false"
This is the content of OSystem folder
osystem-files.txt
This same error happens when using the docker container on a Mac system and the /orientdb/databases directory is bind mounted on the host.
After some looking at the code it looks like we should be using -Dstorage.diskCache.useAsyncIO=false if ftruncate is not supported on some filesystems.
Great. storage.diskCache.useAsyncIO=false is the solution :+1:
Well, that is not a solution. This flag is introduced only to smooth database development. I will fix it in next version.
Sorry guys for the silence we were pretty busy on working on 3.1 release.
Fixed. Parameter "storage.disk.useNativeOsAPI" please set it to false, to avoid problems with ZFS.
We are going to release hotfix next week.