Thanks Andrey!

Oh, I do wait for your new release to try it :)

On Tuesday, February 4, 2014 6:14:48 AM UTC-5, Andrey Lomakin wrote:
>
> Andrey,
> I looked through you code, you did not do graph.shutdown() before db drop 
> so internal graph context is not cleared and graph db tries to check that 
> schema is needed for graph database is present without db open.
> So just do graph.shutdown()  but I do suggest you to wait till tomorrow, 
> we release new version of graph db relation management tool with much 
> better performance.  
>
>
>
> On Tue, Feb 4, 2014 at 9:05 AM, Andrey Lomakin 
> <[email protected]<javascript:>
> > wrote:
>
>> Hi Andrey,
>> Could you wait till Tuesday, I will check it ?
>>
>>
>> On Mon, Feb 3, 2014 at 11:30 PM, Andrey Yesyev 
>> <[email protected]<javascript:>
>> > 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] <javascript:>.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>>
>> -- 
>> Best regards,
>> Andrey Lomakin.
>>
>> Orient Technologies
>> the Company behind OrientDB
>>
>>  
>
>
> -- 
> 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.

Reply via email to