The following can happen and is not detected as a concurrent update, but it should:
2016-08-11 16:15:24,704 ERROR [Nuxeo-Work-pictureViewsGeneration-1:default:daf6a2a2-9aff-4b86-8d2f-57fd77b8f177:file:content:pictureView] [org.nuxeo.ecm.core.storage.sql.SessionImpl] Exception during transaction commit org.nuxeo.ecm.core.api.NuxeoException: Could not update: UPDATE "HIERARCHY" SET "ISCHECKEDIN" = ? WHERE "ID" = ? at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCRowMapper.updateSimpleRows(JDBCRowMapper.java:689) at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCRowMapper.writeUpdates(JDBCRowMapper.java:505) at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCRowMapper.write(JDBCRowMapper.java:455) at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCMapperConnector.doInvoke(JDBCMapperConnector.java:42) at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCMapperConnector.invoke(JDBCMapperConnector.java:85) at com.sun.proxy.$Proxy66.write(Unknown Source) at org.nuxeo.ecm.core.storage.sql.SoftRefCachingRowMapper.write(SoftRefCachingRowMapper.java:359) at org.nuxeo.ecm.core.storage.sql.SessionImpl.doFlush(SessionImpl.java:360) at org.nuxeo.ecm.core.storage.sql.SessionImpl.flush(SessionImpl.java:333) at org.nuxeo.ecm.core.storage.sql.SessionImpl.end(SessionImpl.java:1398) at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.end(WrapperNamedXAResource.java:61) at org.apache.geronimo.transaction.manager.TransactionImpl.endResources(TransactionImpl.java:569) at org.apache.geronimo.transaction.manager.TransactionImpl.endResources(TransactionImpl.java:548) at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:408) at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:255) at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252) at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:546) at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:358) at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:440) at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransactionAndCheckExceptions(AbstractWork.java:377) at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:338) at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:57) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.BatchUpdateException: ORA-00060: deadlock detected while waiting for resource at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:11190) at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:244) at org.tranql.connector.jdbc.StatementHandle.executeBatch(StatementHandle.java:155) at org.nuxeo.ecm.core.storage.sql.jdbc.JDBCRowMapper.updateSimpleRows(JDBCRowMapper.java:681) ... 27 more