Skip to content
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

ArrayIndexOutOfBoundsException on corrupted database (OrientDB 2.1-rc4) #4452

Closed
jamieb22 opened this issue Jun 24, 2015 · 6 comments
Closed
Assignees
Labels
Milestone

Comments

@jamieb22
Copy link

com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #17:781 (cluster: v_statistic)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1741) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:224) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:328) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1520) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:120) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:790) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.tinkerpop.blueprints.impls.orient.OrientEdge.getOutVertex(OrientEdge.java:199) ~[orientdb-graphdb-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.tinkerpop.blueprints.impls.orient.OrientEdge.getVertex(OrientEdge.java:174) ~[orientdb-graphdb-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.tinkerpop.blueprints.impls.orient.OrientEdge.getVertex(OrientEdge.java:46) ~[orientdb-graphdb-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.stimulus.archiva.ek.c(MailArchiva:153) ~[ek.class:na]
at com.stimulus.archiva.ek.a(MailArchiva:559) ~[ek.class:na]
at com.stimulus.archiva.ek.b(MailArchiva:515) ~[ek.class:na]
at com.stimulus.archiva.nt.run(MailArchiva:468) ~[nt.class:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_75]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) [na:1.7.0_75]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_75]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_75]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
Caused by: java.lang.ArrayIndexOutOfBoundsException: null
at com.orientechnologies.orient.core.compression.impl.ONothingCompression.uncompress(ONothingCompression.java:49) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:574) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doReadRecord(OAbstractPaginatedStorage.java:1836) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1583) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:754) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3074) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1708) ~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
... 19 common frames omitted

@andrii0lomakin
Copy link
Member

  1. I see from stack trace that it is snapshot not RC4 . Why do you think
    that is RC4 ?
  2. When this database was created ? Was it restored after crash correctly
    ?
  3. Were WAL files removed after DB start or restore procedure was
    successfull ?

ср, 24 Июн 2015, 22:23, jamieb22 notifications@github.com:

com.orientechnologies.orient.core.exception.ODatabaseException: Error on
retrieving record #17
#17 (cluster:
v_statistic)
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1741)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:224)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:328)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1520)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:120)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:790)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.tinkerpop.blueprints.impls.orient.OrientEdge.getOutVertex(OrientEdge.java:199)
~[orientdb-graphdb-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.tinkerpop.blueprints.impls.orient.OrientEdge.getVertex(OrientEdge.java:174)
~[orientdb-graphdb-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.tinkerpop.blueprints.impls.orient.OrientEdge.getVertex(OrientEdge.java:46)
~[orientdb-graphdb-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at com.stimulus.archiva.ek.c(MailArchiva:153) ~[ek.class:na]
at com.stimulus.archiva.ek.a(MailArchiva:559) ~[ek.class:na]
at com.stimulus.archiva.ek.b(MailArchiva:515) ~[ek.class:na]
at com.stimulus.archiva.nt.run(MailArchiva:468) ~[nt.class:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
[na:1.7.0_75]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
[na:1.7.0_75]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
[na:1.7.0_75]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
[na:1.7.0_75]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_75]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_75]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
Caused by: java.lang.ArrayIndexOutOfBoundsException: null
at
com.orientechnologies.orient.core.compression.impl.ONothingCompression.uncompress(ONothingCompression.java:49)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:574)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doReadRecord(OAbstractPaginatedStorage.java:1836)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1583)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:754)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3074)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1708)
~[orientdb-core-2.1-SNAPSHOT.jar:2.1-SNAPSHOT]
... 19 common frames omitted


Reply to this email directly or view it on GitHub
#4452.

@jamieb22
Copy link
Author

  1. I see from stack trace that it is snapshot not RC4 . Why do you think that is RC4
    Its the last build that you provided Valentin
    ? 2. When this database was created ?
    Several weeks ago. Valentin has the database. He said he would send it to you today.
    Was it restored after crash correctly ?
    Normal activities
    1. Were WAL files removed after DB start or restore procedure was successfull ?
      No WAL files removed

@andrii0lomakin
Copy link
Member

Hi Jamie,
I think I should explain more, what is the problem with current issue.

The big probability is that the problem is that database was incorrectly closed because of deadlock on close (this issue is already fixed and I ask Valentin to build new distribution) which is caused data lose.
Also you wrote me that you periodically had exceptions during DB restore procedure , but problem is that you do not send broken WAL to us, so we can not fix given issue. Also currently database is restored even when it had exceptions in WAL. So what would we do:

  1. Lets fix given database.
  2. Lets use version without deadlock on close.
  3. I will implement issue in 2.1 which will backup WAL if exceptions happens so you will have chance to send it to us.
  4. Please never remove WAL in case of exception till we ask you to do that, send problematic files to us.

What do you think ?

@jamieb22
Copy link
Author

Andrey. We already removed the code to delete the WAL files. We have sent through two corrupted databases. We have another one to send today. Please can you fix them so that we can at least ensure that V2.1 will be a stable, working release.

@andrii0lomakin
Copy link
Member

Hi,
Sure.

On Thu, Jun 25, 2015 at 8:55 AM jamieb22 notifications@github.com wrote:

Andrey. We already removed the code to delete the WAL files. We have sent
through two corrupted databases. We have another one to send today. Please
can you fix them so that we can at least ensure that V2.1 will be a stable,
working release.


Reply to this email directly or view it on GitHub
#4452 (comment)
.

@lvca lvca closed this as completed Sep 19, 2015
@lvca
Copy link
Member

lvca commented Sep 19, 2015

Already closed.

@lvca lvca modified the milestones: 2.1.x (next hotfix), 2.1 GA Sep 19, 2015
@lvca lvca added the bug label Sep 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants