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

2.1.3 - ODatabaseException: Error on retrieving record #-1:-7 (cluster: null) #5068

Closed
zifnab87 opened this issue Oct 7, 2015 · 11 comments
Closed
Assignees
Labels
Milestone

Comments

@zifnab87
Copy link

zifnab87 commented Oct 7, 2015

Hello,

Recently I've been getting this error and I am almost certain this part of the code hasn't changed since previous versions.

com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #-1:-7 (cluster: null)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1780)
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:243)
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:217)
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:347)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1550)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:120)
    at com.orientechnologies.orient.core.id.ORecordId.getRecord(ORecordId.java:324)
    at com.orientechnologies.orient.server.tx.OTransactionOptimisticProxy.begin(OTransactionOptimisticProxy.java:145)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.begin(ODatabaseDocumentTx.java:1665)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1218)
    at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:400)
    at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:223)
    at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)
Caused by: java.lang.IllegalArgumentException: Cannot read record #-1:-7 since the position is invalid in database 'xxxx'
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1743)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:834)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3119)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1747)
    ... 12 more

Thanks,
Michail

@zifnab87 zifnab87 changed the title ODatabaseException: Error on retrieving record #-1:-7 (cluster: null) 2.1.2 - ODatabaseException: Error on retrieving record #-1:-7 (cluster: null) Oct 7, 2015
@zifnab87 zifnab87 changed the title 2.1.2 - ODatabaseException: Error on retrieving record #-1:-7 (cluster: null) 2.1.3 - ODatabaseException: Error on retrieving record #-1:-7 (cluster: null) Oct 7, 2015
@andrii0lomakin
Copy link
Member

You can not retrieve record with negative rid. How did you get this exception ? Could you provide more details ?

@zifnab87
Copy link
Author

zifnab87 commented Oct 7, 2015

Actually it is possible to retrieve a created uncommited Vertex and it works fine. This exception is happening every time I commit for a set of created vertices and edges. I checked all my Vertices and none of them have this id. I will check my Edges too.

@zifnab87
Copy link
Author

zifnab87 commented Oct 9, 2015

@Laa I really don't understand why that is a problem.. I have an uncommitted edge (with id #-1:-7) that is connecting two uncommitted vertices. I will try replicating that problem and get back to you asap. The exception happens when I commit..

Thanks

@zifnab87
Copy link
Author

zifnab87 commented Oct 9, 2015

@Laa I put some logging to see what is happening (in that case edge id#-1:-3 is failing on commit)

Vertex V(#-1:-2,Whole) was stored
Edge E(#-1:-2,ContainsEntity) was stored -V(#-1:-2,Whole) ----> V(#12:1,En)
Edge E(#-1:-3,ContainsPart) was stored -V(#-1:-2,Whole) ----> V(#21:290,Part)
Edge E(#-1:-4,ContainsPart) was stored -V(#-1:-2,Whole) ----> V(#21:288,Part)

@eugene-kamenev
Copy link

@zifnab87 i think you can call .save() method and then yes, you can retrieve the vertex inside not commited transaction, where you can have negative uuid.

@andrii0lomakin
Copy link
Member

That is serialization issue , assigned to @tglman

@tglman
Copy link
Member

tglman commented Mar 16, 2016

hi @zifnab87,

do you have the code that reproduce the transaction that fail ? this is a remote+transaction management problem, it may be due also to a graph operation failed and retried without restart the transaction.

by the way which version are you using ?

@zifnab87
Copy link
Author

@tglman I was using 2.1.3 - Unfortunately I don't have code to replicate this and other issues although I had offered to give my db for check in the past. I have migrated to TitanDB - due to all those problems. Thanks

@lvca
Copy link
Member

lvca commented May 12, 2016

Cannot replicate.

@lvca lvca closed this as completed May 12, 2016
@lvca lvca assigned lvca and unassigned tglman May 12, 2016
@robfrank robfrank modified the milestones: 2.1.x (next hotfix), 2.1.17 May 15, 2016
@nishantkumar1292
Copy link

nishantkumar1292 commented Jul 13, 2017

I am getting this error when running REPAIR DATABASE --fix-graph from console.

SERVER LOG:

Repair of graph 'remote:/home/ubuntu/orientdb-community-2.2.21/databases/db_development' is started ...
Scanning 6190805 edges (skipEdges=0)...

Error: com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #12:15017 (cluster: listing_or)
        DB name="db_development"

Error: com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #12:15017 (cluster: listing_or)
        DB name="db_development"
        DB name="db_development"

Error: com.orientechnologies.orient.core.exception.OStorageException: Cannot route read record operation for #12:15017 to the distributed node
        DB name="db_development"

Error: java.nio.BufferUnderflowException

@lvca ..Any idea why this error?

Also, I am getting java.nio.BufferUnderflowException when trying to run select from #12:15017.

@andrii0lomakin
Copy link
Member

Hi, @nishantkumar1292 I answered you in another issue.

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

8 participants