Could not execute operation due to backend exception


Laura Morales
 

What am I doing wrong? I cannot get Janus to start.

$ java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~deb9u1-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

$ cd janusgraph-0.5.3
$ ./bin/gremlin.sh
gremlin> graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje.properties')
Could not execute operation due to backend exception
Type ':help' or ':h' for help.
Display stack trace? [yN]y
org.janusgraph.core.JanusGraphException: Could not execute operation due to backend exception
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:56)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:158)
at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration.set(KCVSConfiguration.java:146)
at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration.set(KCVSConfiguration.java:123)
at org.janusgraph.diskstorage.configuration.ModifiableConfiguration.set(ModifiableConfiguration.java:43)
at org.janusgraph.diskstorage.configuration.builder.ReadConfigurationBuilder.setupJanusGraphVersion(ReadConfigurationBuilder.java:130)
at org.janusgraph.diskstorage.configuration.builder.ReadConfigurationBuilder.buildGlobalConfiguration(ReadConfigurationBuilder.java:74)
at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:53)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:161)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:132)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:79)
at org.janusgraph.core.JanusGraphFactory$open.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at groovysh_evaluate.run(groovysh_evaluate:3)
at groovysh_evaluate$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at groovysh_evaluate$run.call(Unknown Source)
at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:81)
at org.codehaus.groovy.tools.shell.Evaluator$evaluate.call(Unknown Source)
at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:201)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:83)
at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:120)
at org.codehaus.groovy.tools.shell.Shell$leftShift$1.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:93)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:164)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:138)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:160)
at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:57)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:164)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:97)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:168)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:502)
Suppressed: org.janusgraph.core.JanusGraphException: Could not close configuration store
at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration.close(KCVSConfiguration.java:228)
at org.janusgraph.diskstorage.configuration.builder.ReadConfigurationBuilder.buildGlobalConfiguration(ReadConfigurationBuilder.java:94)
... 67 more
Caused by: org.janusgraph.diskstorage.PermanentBackendException: Could not close BerkeleyJE database
at org.janusgraph.diskstorage.berkeleyje.BerkeleyJEStoreManager.close(BerkeleyJEStoreManager.java:249)
at org.janusgraph.diskstorage.keycolumnvalue.keyvalue.OrderedKeyValueStoreManagerAdapter.close(OrderedKeyValueStoreManagerAdapter.java:73)
at org.janusgraph.diskstorage.configuration.backend.builder.KCVSConfigurationBuilder$1.close(KCVSConfigurationBuilder.java:46)
at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration.close(KCVSConfiguration.java:225)
... 68 more
Caused by: com.sleepycat.je.DiskLimitException: (JE 18.3.12) Disk usage is not within je.maxDisk or je.freeDisk limits and write operations are prohibited: maxDiskLimit=0 freeDiskLimit=5,368,709,120 adjustedMaxDiskLimit=0 maxDiskOverage=0 freeDiskShortage=4,704,661,504 diskFreeSpace=664,047,616 availableLogSize=-4,704,661,504 totalLogSize=103,399 activeLogSize=103,399 reservedLogSize=0 protectedLogSize=0 protectedLogSizeMap={}
at com.sleepycat.je.dbi.EnvironmentImpl.checkDiskLimitViolation(EnvironmentImpl.java:2733)
at com.sleepycat.je.recovery.Checkpointer.doCheckpoint(Checkpointer.java:724)
at com.sleepycat.je.dbi.EnvironmentImpl.invokeCheckpoint(EnvironmentImpl.java:2321)
at com.sleepycat.je.dbi.EnvironmentImpl.doClose(EnvironmentImpl.java:1972)
at com.sleepycat.je.dbi.DbEnvPool.closeEnvironment(DbEnvPool.java:342)
at com.sleepycat.je.dbi.EnvironmentImpl.close(EnvironmentImpl.java:1866)
at com.sleepycat.je.Environment.close(Environment.java:444)
at org.janusgraph.diskstorage.berkeleyje.BerkeleyJEStoreManager.close(BerkeleyJEStoreManager.java:247)
... 71 more
Caused by: org.janusgraph.diskstorage.PermanentBackendException: Permanent failure in storage backend
at org.janusgraph.diskstorage.berkeleyje.BerkeleyJETx.commit(BerkeleyJETx.java:112)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:153)
at org.janusgraph.diskstorage.util.BackendOperation$1.call(BackendOperation.java:161)
at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:68)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:54)
... 73 more
Caused by: com.sleepycat.je.DiskLimitException: (JE 18.3.12) Transaction 54 must be aborted, caused by: com.sleepycat.je.DiskLimitException: (JE 18.3.12) Disk usage is not within je.maxDisk or je.freeDisk limits and write operations are prohibited: maxDiskLimit=0 freeDiskLimit=5,368,709,120 adjustedMaxDiskLimit=0 maxDiskOverage=0 freeDiskShortage=4,704,661,504 diskFreeSpace=664,047,616 availableLogSize=-4,704,661,504 totalLogSize=103,399 activeLogSize=103,399 reservedLogSize=0 protectedLogSize=0 protectedLogSizeMap={}
at com.sleepycat.je.DiskLimitException.wrapSelf(DiskLimitException.java:61)
at com.sleepycat.je.txn.Txn.checkState(Txn.java:1951)
at com.sleepycat.je.txn.Txn.commit(Txn.java:725)
at com.sleepycat.je.txn.Txn.commit(Txn.java:631)
at com.sleepycat.je.Transaction.commit(Transaction.java:337)
at org.janusgraph.diskstorage.berkeleyje.BerkeleyJETx.commit(BerkeleyJETx.java:109)
... 77 more
Caused by: com.sleepycat.je.DiskLimitException: (JE 18.3.12) Disk usage is not within je.maxDisk or je.freeDisk limits and write operations are prohibited: maxDiskLimit=0 freeDiskLimit=5,368,709,120 adjustedMaxDiskLimit=0 maxDiskOverage=0 freeDiskShortage=4,704,661,504 diskFreeSpace=664,047,616 availableLogSize=-4,704,661,504 totalLogSize=103,399 activeLogSize=103,399 reservedLogSize=0 protectedLogSize=0 protectedLogSizeMap={}
at com.sleepycat.je.Cursor.checkUpdatesAllowed(Cursor.java:5407)
at com.sleepycat.je.Cursor.checkUpdatesAllowed(Cursor.java:5384)
at com.sleepycat.je.Cursor.putInternal(Cursor.java:2439)
at com.sleepycat.je.Cursor.putInternal(Cursor.java:841)
at com.sleepycat.je.Database.put(Database.java:1635)
at org.janusgraph.diskstorage.berkeleyje.BerkeleyJEKeyValueStore.insert(BerkeleyJEKeyValueStore.java:229)
at org.janusgraph.diskstorage.berkeleyje.BerkeleyJEKeyValueStore.insert(BerkeleyJEKeyValueStore.java:213)
at org.janusgraph.diskstorage.keycolumnvalue.keyvalue.OrderedKeyValueStoreAdapter.mutate(OrderedKeyValueStoreAdapter.java:99)
at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration$2.call(KCVSConfiguration.java:151)
at org.janusgraph.diskstorage.configuration.backend.KCVSConfiguration$2.call(KCVSConfiguration.java:146)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:147)
... 76 more


hadoopmarc@...
 

Hi Laura,

Down the stacktrace you can note:
Caused by: com.sleepycat.je.DiskLimitException: (JE 18.3.12) Disk usage is not within je.maxDisk or je.freeDisk limits and write operations are prohibited: maxDiskLimit=0 freeDiskLimit=5,368,709,120 adjustedMaxDiskLimit=0 maxDiskOverage=0 freeDiskShortage=4,704,661,504 diskFreeSpace=664,047,616 availableLogSize=-4,704,661,504 totalLogSize=103,399 activeLogSize=103,399 reservedLogSize=0 protectedLogSize=0 protectedLogSizeMap={}
After some googling you can conclude that your JanusGraph disk is short of 4.7 GB of space for running JanusGraph with BerkeleyjeDB. Maybe check the logs folder.

No problem you asked; stacktraces can be daunting when very long and it was good to include the entire stacktrace!

Best wishes,    Marc


Laura Morales
 

Thank you a lot for the help, I could not figure out what the problem was!
Is it normal that the requirement is so high? 5GB of space for an empty database? And can it be changed somehow with some settings?
 
 
 

Sent: Wednesday, July 21, 2021 at 10:48 AM
From: hadoopmarc@xs4all.nl
To: janusgraph-users@lists.lfaidata.foundation
Subject: Re: [janusgraph-users] Could not execute operation due to backend exception
Hi Laura,

Down the stacktrace you can note:Caused by: com.sleepycat.je.DiskLimitException: (JE 18.3.12) Disk usage is not within je.maxDisk or je.freeDisk limits and write operations are prohibited: maxDiskLimit=0 freeDiskLimit=5,368,709,120 adjustedMaxDiskLimit=0 maxDiskOverage=0 freeDiskShortage=4,704,661,504 diskFreeSpace=664,047,616 availableLogSize=-4,704,661,504 totalLogSize=103,399 activeLogSize=103,399 reservedLogSize=0 protectedLogSize=0 protectedLogSizeMap={}After some googling you can conclude that your JanusGraph disk is short of 4.7 GB of space for running JanusGraph with BerkeleyjeDB. Maybe check the logs folder.

No problem you asked; stacktraces can be daunting when very long and it was good to include the entire stacktrace!

Best wishes,    Marc