There is one test failed on my local ARM machine when running make jtest
getOutOfArrayMaxSizeValue(org.rocksdb.RocksDBTest)
java.lang.AssertionError: Expected test to throw (an instance of org.rocksdb.RocksDBException and exception with message a string containing "Requested array size exceeds VM limit")
at org.junit.Assert.fail(Assert.java:88)
at org.junit.rules.ExpectedException.failDueToMissingException(ExpectedException.java:263)
at org.junit.rules.ExpectedException.access$200(ExpectedException.java:106)
at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:245)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.junit.runner.JUnitCore.run(JUnitCore.java:105)
at org.junit.runner.JUnitCor
While when I was debugging this test with jdb, and set a breakpoint at L351, I hit a strange behavior. If I print run at once, the test will fail. But if I wait one minute and then print run, this test will pass.
For example, if I type print db.get(key) several times quickly at once when the code stopping at L351. You can see that the value is not updated at once:
main[1] print db.get(key)
db.get(key) = instance of byte[1073741824] (id=1042)
main[1] print db.get(key)
db.get(key) = instance of byte[1073741824] (id=1043)
main[1] print db.get(key)
db.get(key) = instance of byte[1073741824] (id=1044)
main[1] print db.get(key)
db.get(key) = instance of byte[1073741824] (id=1045)
main[1] print db.get(key)
Exception in expression: org.rocksdb.RocksDBException
db.get(key) = null
Any suggestion about this case? Is it related to RocksDB cache or anything else.? Need any idea.
Thanks.
There is one test failed on my local ARM machine when running
make jtestgetOutOfArrayMaxSizeValue(org.rocksdb.RocksDBTest)
While when I was debugging this test with
jdb, and set a breakpoint at L351, I hit a strange behavior. If I printrunat once, the test will fail. But if I wait one minute and then printrun, this test will pass.For example, if I type
print db.get(key)several times quickly at once when the code stopping at L351. You can see that the value is not updated at once:Any suggestion about this case? Is it related to RocksDB cache or anything else.? Need any idea.
Thanks.