-
Notifications
You must be signed in to change notification settings - Fork 871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Null rootCacheEntry in OSBTreeBonsaiLocal when upgrade from 2.2.21 #8301
Comments
@rikaze did you try upgrade back and execute the same query? I explain why I am asking. Till 2.2.25 version if I am not mistaken under some rare circumstances data can be not written to the disk. It is fixed in later versions though. Could you try on 2.2.21 version and provide feedback about results? |
@Laa yes, I reverted back to 2.2.21, and it works fine. |
@rikaze is it possible to get the database to reproduce the issue? |
@Laa sorry, the db is production with confidential data. any other workarond? |
@rikaze yes sure I will add some logging data in special distribution. So you will execute a query on it and send me logs back. It will take a couple of iterations but I suppose will work. |
@Laa that would be great. |
@Laa any update on this? any additional information needed from my side? may I have the queries to debug? |
@rikaze let me finish my current task and I will send you some :-) |
Hi @rikaze , could you open your DB using this distribution and send results back to me? |
Which distribution do you refer? share me the download URL or build method? |
com.orientechnologies.orient.core.exception.OStorageException: File with name ___exportImportRIDMap.him does not exist in storage XXX |
I copied "___exportImportRIDMap.hi*" files from a backup into database folder, then the above exception disappeared. But the original NULL pointer exception still exists. |
@rikaze without any additional messages just NPE? Could you send it to me ? |
Caused by: java.lang.NullPointerException java.lang.NullPointerException |
@rikaze could you look for the message like "Root entry is null, root pointer is"? |
i cleaned up the log folder, and started the server with brand new log files. no message like this found. |
btw, with your package, i couldn't start the server with sh files in bin folder, so replaced the bin folder with my working files. anything need to be modified in th shell scripts to enable the log? |
@Laa Sorry, I found the message you referred. SEVER {db=XXX} Root entry is null, root pointer is OBonsaiBucketPointer{pageIndex=10, pageOffset=61440} file is filled up to 8 [OSBTreeBonsaiLocal]$ANSI{green {db=XXX}} Exception |
Hi @rikaze , unfortunately, I have to ask you to debug a bit. Could you setup breakpoint on NPE. |
But how to setup breakpoint. I assume it wouldn't be easy to setup a local dev environment with IDE. Any easier way to setup the breakpoint for remote debug? |
@rikaze I assume that you connect to your server using ssh connection. In such case, you can create a tunnel by |
which codeline should I setup? I am using eclipse, can you share me the 1-click way to setup? |
Hello, any document could I refer to setup the build env in eclipse? |
@rikaze I will send you new distribution soon which should print all information which I need to the log. |
okay, wait for it. |
Hi @rikaze could you try this build ?https://drive.google.com/file/d/10wRN4TySKw3G5QPsDqgq86tWrSOnEvZO/view?usp=sharing |
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 |
@rikaze is it the same query on the same content ? |
yes, all the same. |
any update on this? |
@rikaze could you try this one https://drive.google.com/file/d/10wRN4TySKw3G5QPsDqgq86tWrSOnEvZO/view?usp=sharing |
Root entry is null, root pointer is OBonsaiBucketPointer{pageIndex=10, pageOffset=61440} file is filled up to 8 ridbag owner is #133:0 [OSBTreeBonsaiLocal]$ANSI{green {db=XXXX}} Exception |
Hello, @Laa any clue with the error message? |
Hi @rikaze . Sorry for the delay, I have been busy with the implementation of a big feature. Could you try this distribution https://drive.google.com/file/d/10wRN4TySKw3G5QPsDqgq86tWrSOnEvZO/view?usp=sharing ? Hope next step will be sooner. |
Hi @rikaze . Could you try distribution. |
Root entry is null, root pointer is OBonsaiBucketPointer{pageIndex=10, pageOffset=61440} file is filled up to 8 ridbag owner is #133:0, field name |
Hi @rikaze could you try this distribution https://drive.google.com/file/d/1O-USJ_u5fiHrB8i2haKmLQkeLIPIJoMV/view?usp=sharing and check the output? There should not be an exception but a log message. |
Yes, no exception now. |
Hah, I see sorry but we need a couple of more iterations to find a root cause. I will provide the distribution tomorrow. |
Hello, @Laa will you include the fix in the next release? |
@Laa is the fix okay now? |
Hi @rikaze we are now busy with commercial customers, once I complete my task I will be back to this issue. Sorry for the delay. |
@Laa did you get change to look into this issue? |
Hi, if that is still actual we can work on it. Otherwise the issue will be closed. |
OrientDB Version: 2.2.22
Java Version: 1.8.0
OS: CentOS 7
Expected behavior
Upgrade from 2.2.21, copy databases folder into new installation, should work as before.
Actual behavior
Some SQL failed to run some query (for example:
select out('IsProductOfEquipment') from Product
) in Studio, NullPointerException reported.Tried 2.2.22 to 2.2.35, all same error, seems the bug was introduced since 2.2.22.
However, following queries can be executed without error:
The edge class
IsProductOfEquipment
is from vertexProduct
to vertexEquipment
.Steps to reproduce
com.orientechnologies.orient.core.exception.OCommandExecutionException: Error on execution of command: sql.select out('IsProductOfEquipment') from Product
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:3221)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:3138)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69)
at com.orientechnologies.orient.server.network.protocol.http.command.post.OServerCommandPostCommand.execute(OServerCommandPostCommand.java:106)
at com.orientechnologies.orient.graph.server.command.OServerCommandPostCommandGraph.execute(OServerCommandPostCommandGraph.java:37)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.service(ONetworkProtocolHttpAbstract.java:169)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.execute(ONetworkProtocolHttpAbstract.java:621)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)
Caused by: java.lang.NullPointerException
at com.orientechnologies.orient.core.index.sbtreebonsai.local.OSBTreeBonsaiLocal.load(OSBTreeBonsaiLocal.java:495)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerShared.loadTree(OSBTreeCollectionManagerShared.java:107)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerAbstract.loadSBTree(OSBTreeCollectionManagerAbstract.java:174)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.loadTree(OSBTreeRidBag.java:976)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.access$800(OSBTreeRidBag.java:59)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag$SBTreeMapEntryIterator.init(OSBTreeRidBag.java:501)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag$SBTreeMapEntryIterator.(OSBTreeRidBag.java:437)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.rawIterator(OSBTreeRidBag.java:560)
at com.orientechnologies.orient.core.db.record.ridbag.ORidBag.rawIterator(ORidBag.java:161)
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getVertices(OrientVertex.java:435)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove.v2v(OSQLFunctionMove.java:103)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionOut.move(OSQLFunctionOut.java:54)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove$1$2.call(OSQLFunctionMove.java:87)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove$1$2.call(OSQLFunctionMove.java:84)
at com.orientechnologies.orient.core.sql.OSQLEngine.foreachRecord(OSQLEngine.java:294)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove$1.call(OSQLFunctionMove.java:84)
at com.orientechnologies.orient.graph.sql.OGraphCommandExecutorSQLFactory.runWithAnyGraph(OGraphCommandExecutorSQLFactory.java:210)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove.execute(OSQLFunctionMove.java:69)
at com.orientechnologies.orient.core.sql.functions.OSQLFunctionRuntime.execute(OSQLFunctionRuntime.java:128)
at com.orientechnologies.orient.core.sql.ORuntimeResult.applyRecord(ORuntimeResult.java:141)
at com.orientechnologies.orient.core.sql.ORuntimeResult.getProjectionResult(ORuntimeResult.java:255)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.addResult(OCommandExecutorSQLSelect.java:707)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.handleResult(OCommandExecutorSQLSelect.java:673)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearchRecord(OCommandExecutorSQLSelect.java:630)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.serialIterator(OCommandExecutorSQLSelect.java:1619)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchFromTarget(OCommandExecutorSQLSelect.java:1566)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:525)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:488)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:74)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:3200)
... 7 more
Internal server error:
java.lang.NullPointerException
at com.orientechnologies.orient.core.index.sbtreebonsai.local.OSBTreeBonsaiLocal.load(OSBTreeBonsaiLocal.java:495)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerShared.loadTree(OSBTreeCollectionManagerShared.java:107)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerAbstract.loadSBTree(OSBTreeCollectionManagerAbstract.java:174)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.loadTree(OSBTreeRidBag.java:976)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.access$800(OSBTreeRidBag.java:59)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag$SBTreeMapEntryIterator.init(OSBTreeRidBag.java:501)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag$SBTreeMapEntryIterator.(OSBTreeRidBag.java:437)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.rawIterator(OSBTreeRidBag.java:560)
at com.orientechnologies.orient.core.db.record.ridbag.ORidBag.rawIterator(ORidBag.java:161)
at com.tinkerpop.blueprints.impls.orient.OrientVertex.getVertices(OrientVertex.java:435)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove.v2v(OSQLFunctionMove.java:103)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionOut.move(OSQLFunctionOut.java:54)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove$1$2.call(OSQLFunctionMove.java:87)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove$1$2.call(OSQLFunctionMove.java:84)
at com.orientechnologies.orient.core.sql.OSQLEngine.foreachRecord(OSQLEngine.java:294)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove$1.call(OSQLFunctionMove.java:84)
at com.orientechnologies.orient.graph.sql.OGraphCommandExecutorSQLFactory.runWithAnyGraph(OGraphCommandExecutorSQLFactory.java:210)
at com.orientechnologies.orient.graph.sql.functions.OSQLFunctionMove.execute(OSQLFunctionMove.java:69)
at com.orientechnologies.orient.core.sql.functions.OSQLFunctionRuntime.execute(OSQLFunctionRuntime.java:128)
at com.orientechnologies.orient.core.sql.ORuntimeResult.applyRecord(ORuntimeResult.java:141)
at com.orientechnologies.orient.core.sql.ORuntimeResult.getProjectionResult(ORuntimeResult.java:255)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.addResult(OCommandExecutorSQLSelect.java:707)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.handleResult(OCommandExecutorSQLSelect.java:673)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearchRecord(OCommandExecutorSQLSelect.java:630)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.serialIterator(OCommandExecutorSQLSelect.java:1619)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchFromTarget(OCommandExecutorSQLSelect.java:1566)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:525)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:488)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:74)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:3200)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:3138)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69)
at com.orientechnologies.orient.server.network.protocol.http.command.post.OServerCommandPostCommand.execute(OServerCommandPostCommand.java:106)
at com.orientechnologies.orient.graph.server.command.OServerCommandPostCommandGraph.execute(OServerCommandPostCommandGraph.java:37)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.service(ONetworkProtocolHttpAbstract.java:169)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.execute(ONetworkProtocolHttpAbstract.java:621)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)
The text was updated successfully, but these errors were encountered: