The other critical point about the error that Jing reports here is that this 
behavior is only occurring on the CentOS VMs that we have as our deployment 
platform.

We have not seen these errors on our desktop development machines (MacOS, 
Ubuntu), even when they are executing an exact copy of the codebase.

So we are theorizing that the socket issue in the first error is somehow 
dependent on the system configuration and the second error is dependent on the 
first.

(BTW, this is rather critical for us - we are in the middle of a major release 
and discovered this bug late in testing)

Thanks!

Dexter 

On Sep 9, 2014, at 10:55 AM, Jing Chen <[email protected]> wrote:

> Hi OrientDB team,
> 
> We are using 1.7.8 community edition. I saw these message in my program.
> 
> java.lang.IllegalMonitorStateException
>     at 
> java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:155)
>     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1260)
>     at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:460)
>     at 
> com.orientechnologies.common.concur.lock.OAdaptiveLock.unlock(OAdaptiveLock.java:111)
>     at 
> com.orientechnologies.orient.enterprise.channel.OChannel.releaseReadLock(OChannel.java:119)
>     at 
> com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:247)
>     at 
> com.orientechnologies.orient.enterprise.channel.binary.OAsynchChannelServiceThread.execute(OAsynchChannelServiceThread.java:46)
>     at 
> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
> Sep 09, 2014 10:20:54 AM com.orientechnologies.common.log.OLogManager log
> WARNING: Caught I/O errors from Not connected (local socket=?), trying to 
> reconnect (error: java.io.IOException: Channel is closed)
> Sep 09, 2014 10:20:54 AM com.orientechnologies.common.log.OLogManager log
> WARNING: Connection re-acquired transparently after 14ms and 1 retries: no 
> errors will be thrown at application level
> 
> What doesn't this mean? Is it something I should worry about? It doesn't seem 
> to throw exceptions to my application. Is there a way I can catch this?
> 
> Sometimes I run into this error after the message above.
> 
> com.orientechnologies.orient.core.exception.OConcurrentModificationException: 
> Cannot UPDATE the record #23:63977 because the version is not the latest. 
> Probably you are updating an old record or it has been modified by another 
> user (db=v4 your=v3)
>     at 
> com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.updateRecord(OLocalPaginatedStorage.java:795)
>     at 
> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:281)
>     at 
> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:1133)
>     at 
> com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:79)
>     at 
> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:322)
>     at 
> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:297)
>     at 
> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:40)
>     at 
> com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.save(ODatabaseRecordWrapperAbstract.java:292)
>     at 
> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:320)
>     at 
> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:257)
>     at 
> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:56)
>     at 
> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.updateRecord(OBinaryNetworkProtocolAbstract.java:314)
>     at 
> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.updateRecord(ONetworkProtocolBinary.java:1343)
>     at 
> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:309)
>     at 
> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:169)
>     at 
> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
> Error:  Error occurred when loading file Hemostasis.SIF. Cannot UPDATE the 
> record #23:63977 because the version is not the latest. Probably you are 
> updating an old record or it has been modified by another user (db=v4 your=v3)
> 
> Is the first error the reason that caused the second error? My application 
> runs in a single thread using a single connection. I don't think there was 
> any other connection trying to modify that object.
> 
> Thanks,
> Jing
> 
> 
> -- 
> 
> --- 
> 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/d/optout.

-- 

--- 
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/d/optout.

Reply via email to