Hi Andrey, Could you wait till Tuesday, I will check it ?
On Mon, Feb 3, 2014 at 11:30 PM, Andrey Yesyev <[email protected]>wrote: > Hi there, > > I'm back with a bunch of questions again. > > Today I faced a strange issue. > I'm running tests, trying to figure out pros and cons of OrientDB. Each > test I run in a new DB, so I'm creating and dropping DBs with the same name. > Here is how I'm doing this > > Create DB > public static void createDB() > throws IOException { > > if (dbUrl.startsWith("remote")) { > OServerAdmin server = new OServerAdmin(dbUrl).connect(dbUser, dbPassword); > if (!server.existsDatabase("plocal")) { > server.createDatabase("graph", "plocal"); > } > server.close(); > } > else { > //OGraphDatabase database = new OGraphDatabase(dbUrl); > OrientGraph database = new OrientGraph(dbUrl); > if (!database.getRawGraph().exists()) { > database.getRawGraph().create(); > } > database.getRawGraph().close(); > } > > } > > > > Drop DB > public static void dropDB() > throws IOException { > > if (dbUrl.startsWith("remote")) { > OServerAdmin server = new OServerAdmin(dbUrl).connect(dbUser, dbPassword); > if (server.existsDatabase("plocal")) { > server.dropDatabase("plocal"); > } > server.close(); > } > else { > OrientGraph database = new > OrientGraph(dbUrl); > if (database.getRawGraph().exists()) { > if (database.isClosed()) { > database.getRawGraph().open(dbUser, dbPassword); > } > OIndexManager indexManager = > database.getRawGraph().getMetadata().getIndexManager(); > for (@SuppressWarnings("rawtypes") OIndex index : > indexManager.getIndexes()) { > index.delete(); > } > database.drop(); > } > database.getRawGraph().close(); > } > } > > Get DB > > public static synchronized OrientGraph getDatabase() { > return new > OrientGraph(OGraphDatabasePool.global().acquire(dbUrl, > dbUser, dbPassword)); > } > > I'm actually using project from this thread > https://groups.google.com/forum/#!searchin/orient-database/bemchmark/orient-database/VF_j5rGeffA/hzyC9PVj9lAJ > . > Have to say thanks to Milen Dyankov for a great job he did there. > I changed it a little bit though... > > So, here is the problem I faced. > I'm using OrientDB 1.6.4, remote connection. > > 1. Create DB > 2. Do my tests. 4 threads simultaneously writing to DB > 3. Drop DB > 4. Create DB > 5. Get an exception trying to create a vertex > OrientVertex vertex = db.addVertex("OGraphVertex", null); > > com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException: >>> Exception during response processing. >> >> at >>> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:264) >> >> at >>> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:231) >> >> at >>> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:202) >> >> at >>> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:113) >> >> at >>> com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1856) >> >> at >>> com.orientechnologies.orient.client.remote.OStorageRemote.createRecord(OStorageRemote.java:328) >> >> at >>> com.orientechnologies.orient.client.remote.OStorageRemoteThread.createRecord(OStorageRemoteThread.java:216) >> >> at >>> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:265) >> >> at >>> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:816) >> >> at >>> com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:77) >> >> at >>> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:270) >> >> at >>> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:38) >> >> at >>> com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:312) >> >> at >>> com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1323) >> >> at >>> com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1312) >> >> at >>> com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1301) >> >> at >>> com.tinkerpop.blueprints.impls.orient.OrientElement.save(OrientElement.java:148) >> >> at >>> com.tinkerpop.blueprints.impls.orient.OrientElement.save(OrientElement.java:134) >> >> at >>> com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.addVertex(OrientBaseGraph.java:356) >> >> at >>> com.commsen.graphdbtests.orientdb.OrientdbInsertPerformanceTest.createVertex(OrientdbInsertPerformanceTest.java:25) >> >> at >>> com.commsen.graphdbtests.orientdb.OrientdbInsertPerformanceTest.doAddDocuments_(OrientdbInsertPerformanceTest.java:120) >> >> at >>> com.commsen.graphdbtests.orientdb.OrientdbInsertPerformanceTest.access$000(OrientdbInsertPerformanceTest.java:17) >> >> at >>> com.commsen.graphdbtests.orientdb.OrientdbInsertPerformanceTest$1.call(OrientdbInsertPerformanceTest.java:160) >> >> at >>> com.commsen.graphdbtests.orientdb.OrientdbInsertPerformanceTest$1.call(OrientdbInsertPerformanceTest.java:157) >> >> at java.util.concurrent.FutureTask.run(FutureTask.java:262) >> >> at >>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >> >> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >> >> at java.lang.Thread.run(Thread.java:744) >> >> Caused by: >>> com.orientechnologies.orient.core.exception.ODatabaseException: Database >>> 'plocal:c:/projects/GraphDBs/orientdb-community-1.6.4/databases//graphdb_tests_orient' >>> is closed >> >> at >>> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.checkOpeness(ODatabaseRecordAbstract.java:1088) >> >> at >>> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.getMetadata(ODatabaseRecordAbstract.java:556) >> >> at >>> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.getMetadata(ODatabaseRecordAbstract.java:87) >> >> at >>> com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.getMetadata(ODatabaseRecordWrapperAbstract.java:156) >> >> at >>> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.setClassNameIfExists(ORecordSchemaAwareAbstract.java:111) >> >> at >>> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.fromString(ORecordSerializerSchemaAware2CSV.java:377) >> >> at >>> com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.fromStream(ORecordSerializerStringAbstract.java:80) >> >> at >>> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.deserializeFields(ORecordSchemaAwareAbstract.java:150) >> >> at >>> com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1371) >> >> at >>> com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:1261) >> >> at >>> com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.validate(ORecordSchemaAwareAbstract.java:58) >> >> at >>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:265) >> >> at >>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:227) >> >> at >>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:45) >> >> at >>> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.createRecord(OBinaryNetworkProtocolAbstract.java:332) >> >> at >>> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.createRecord(ONetworkProtocolBinary.java:1284) >> >> at >>> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:268) >> >> at >>> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:125) >> >> at >>> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45) >> >> > If I call > > db.isClosed() > > it returns FALSE. > > Any ideas? > > Thanks! > > -Andrey > > > > > -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
