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

latest 1.7-SNAPSHOT failure on creating edge in distributed mode. #2203

Closed
dodongjuan opened this issue Apr 9, 2014 · 2 comments
Closed
Assignees
Milestone

Comments

@dodongjuan
Copy link

  1. start two nodes node1 node 2.
  2. create database local
create class Owns extends E

create class Person extends V
create class Car extends V

create vertex Person content {"UUID":"1","type":"Person", "first": "Dodong", "last":"Juan"}
create vertex Car content {"UUID":"2","type":"Car", "year": "2014", "Make":"Audi"}


orientdb {inventorydb}> select from Car

----+-----+----+----+----+----
#   |@RID |UUID|type|year|Make
----+-----+----+----+----+----
0   |#13:0|2   |Car |2014|Audi
----+-----+----+----+----+----

1 item(s) found. Query executed in 0.0040 sec(s).
orientdb {inventorydb}> select from Person

----+-----+----+------+------+----
#   |@RID |UUID|type  |first |last
----+-----+----+------+------+----
0   |#12:0|1   |Person|Dodong|Juan
----+-----+----+------+------+----

1 item(s) found. Query executed in 0.0010 sec(s).
orientdb {inventorydb}> create edge Owns from #12:0 to #13:0

Error: com.orientechnologies.orient.core.exception.OStorageException: Error on executing command: sql.create edge Owns from #12:0 to #13:0

Error: java.lang.IllegalArgumentException: Unsupported record type: 0

Error: java.lang.IllegalArgumentException: Record type '0' is not supported

On node1 you get the following exceptions..

2014-04-09 16:09:34:146 INFO [node1397064941060]<-[node1397064950761] received updated status node1397064950761.inventorydb=ONLINE [OHazelcastPlugin]
2014-04-09 16:10:52:042 WARN [node1397064941060] detected 1 node(s) in timeout or in conflict and quorum (2) has not been reached, rolling back changes for request: id=3 from=node1397064941060 task=record_update(#13:0 v.1) [ODistributedResponseManager]
2014-04-09 16:10:52:042 WARN [node1397064941060] sending undo message for request=id=3 from=node1397064941060 task=record_update(#13:0 v.1) to server node1397064941060 [ODistributedResponseManager]
2014-04-09 16:10:52:055 WARN [node1397064941060] sending undo message for request=id=3 from=node1397064941060 task=record_update(#13:0 v.1) to server node1397064950761 [ODistributedResponseManager]Cannot route UPDATE_RECORD operation against #13:0 to the distributed node
Error on sending distributed request against database 'inventorydb:car' to nodes [node1397064950761, node1397064941060]
-> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send2Nodes(OHazelcastDistributedDatabase.java:164)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send(OHazelcastDistributedDatabase.java:180)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.sendRequest(OHazelcastPlugin.java:360)
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.sendRequest(ODistributedStorage.java:777)
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.updateRecord(ODistributedStorage.java:304)
-> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:274)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:1019)
-> com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:79)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:319)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:306)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:40)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:819)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:277)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:290)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:669)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toStream(ORecordSerializerSchemaAware2CSV.java:544)
-> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:154)
-> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:149)
-> com.orientechnologies.orient.core.record.impl.ODocument.toStream(ODocument.java:444)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.writeRecord(OBinaryNetworkProtocolAbstract.java:239)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.writeIdentifiable(OBinaryNetworkProtocolAbstract.java:229)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1125)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:349)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:126)
-> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
Quorum 2 not reached for request=id=3 from=node1397064941060 task=record_update(#13:0 v.1). Servers in timeout/conflict are:
- node1397064941060: com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1)
. Received: {node1397064941060=com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1), node1397064950761=com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1)}
-> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send2Nodes(OHazelcastDistributedDatabase.java:164)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send(OHazelcastDistributedDatabase.java:180)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.sendRequest(OHazelcastPlugin.java:360)
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.sendRequest(ODistributedStorage.java:777)
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.updateRecord(ODistributedStorage.java:304)
-> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:274)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:1019)
-> com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:79)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:319)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:306)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:40)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:819)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:277)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:290)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:669)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toStream(ORecordSerializerSchemaAware2CSV.java:544)
-> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:154)
-> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:149)
-> com.orientechnologies.orient.core.record.impl.ODocument.toStream(ODocument.java:444)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.writeRecord(OBinaryNetworkProtocolAbstract.java:239)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.writeIdentifiable(OBinaryNetworkProtocolAbstract.java:229)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1125)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:349)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:126)
-> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)Error on unmarshalling record #-1:-1 (com.orientechnologies.orient.server.distributed.ODistributedException: Quorum 2 not reached for request=id=3 from=node1397064941060 task=record_update(#13:0 v.1). Servers in timeout/conflict are:
- node1397064941060: com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1)
. Received: {node1397064941060=com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1), node1397064950761=com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1)})
Quorum 2 not reached for request=id=3 from=node1397064941060 task=record_update(#13:0 v.1). Servers in timeout/conflict are:
- node1397064941060: com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1)
. Received: {node1397064941060=com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1), node1397064950761=com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #13:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1)}
-> com.orientechnologies.orient.server.distributed.ODistributedResponseManager.manageConflicts(ODistributedResponseManager.java:297)
-> com.orientechnologies.orient.server.distributed.ODistributedResponseManager.getFinalResponse(ODistributedResponseManager.java:508)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.waitForResponse(OHazelcastDistributedDatabase.java:240)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send2Nodes(OHazelcastDistributedDatabase.java:161)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send(OHazelcastDistributedDatabase.java:180)
-> com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.sendRequest(OHazelcastPlugin.java:360)
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.sendRequest(ODistributedStorage.java:777)
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.updateRecord(ODistributedStorage.java:304)
-> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:274)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:1019)
-> com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:79)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:319)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:306)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:40)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:819)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:277)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:290)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:669)
-> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toStream(ORecordSerializerSchemaAware2CSV.java:544)
-> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:154)
-> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:149)
-> com.orientechnologies.orient.core.record.impl.ODocument.toStream(ODocument.java:444)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.writeRecord(OBinaryNetworkProtocolAbstract.java:239)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.writeIdentifiable(OBinaryNetworkProtocolAbstract.java:229)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1125)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:349)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:126)
-> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
@rcarback
Copy link

+1, I am seeing the same errors with a 3 node cluster as of yesterday.

@lvca lvca added this to the 1.7 milestone Apr 14, 2014
@lvca lvca self-assigned this Apr 14, 2014
@lvca lvca closed this as completed Apr 14, 2014
@lvca lvca added 3 - Done and removed 2 - Working labels Apr 14, 2014
@abbael
Copy link

abbael commented Apr 28, 2014

if you add a set property to the create edge command, NPE occurs. Again, only on Distributed mode

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants