Hi, Could you provide test which I can run, in form of may be maven project ?
On Thu, Sep 25, 2014 at 7:41 AM, Andrey Lomakin <[email protected]> wrote: > Hi, > You should follow > https://github.com/orientechnologies/orientdb/issues/2840 > > On Wed, Sep 24, 2014 at 10:57 PM, <[email protected]> wrote: > >> Hi, >> I get this error - any help on this? >> This is the code that is causing the exception: >> >> package test; >> import java.text.SimpleDateFormat; >> import java.util.Date; >> import java.util.List; >> import java.util.concurrent.*; >> import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery; >> import com.orientechnologies.orient.object.db.OObjectDatabaseTx; >> public class CustomerTest3 { >> >> int corePoolSize = 2; >> int maxPoolSize = 3; >> long keepAliveTime = 500; >> public OObjectDatabaseTx db = new OObjectDatabaseTx( >> "plocal:c:/java/dbs/person").open("admin", "admin"); >> public ExecutorService threadPoolExecutor = new ThreadPoolExecutor( >> corePoolSize, >> maxPoolSize, >> keepAliveTime, >> TimeUnit.MILLISECONDS, >> new LinkedBlockingQueue<Runnable>() >> ); >> >> >> >> public CustomerTest3() { >> >> >> } >> public static void main(String[] args) { >> >> >> CustomerTest3 ct3 = new CustomerTest3(); >> >> ct3.db.getEntityManager().registerEntityClasses("test"); >> Future f1 = ct3.threadPoolExecutor.submit(new FutureTask<String>( >> new Callable<String>() >> { >> public String call() { >> ct3.updateCust3(); >> return "done"; >> } >> })); >> >> Future f2 = ct3.threadPoolExecutor.submit(new FutureTask<String>( >> new Callable<String>() >> { >> public String call() { >> ct3.updateCust4(); >> return "done"; >> } >> })); >> >> >> // try { >> // if (f1.get().equals("done") && f1.get().equals("done")) >> // ct3.db.close(); >> // } catch (InterruptedException e) { >> // // TODO Auto-generated catch block >> // e.printStackTrace(); >> // } catch (ExecutionException e) { >> // // TODO Auto-generated catch block >> // e.printStackTrace(); >> // } >> >> >> } >> >> private void updateCust3() { >> List<Customer> result = db.query(new OSQLSynchQuery<Customer>( >> "select * from Customer where address.city like '%98%'")); >> >> SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm"); >> >> >> >> for (Customer p : result) { >> //db.begin(); >> >> p.setName("updated name " + sdf.format(new >> Date(System.currentTimeMillis()))); >> >> System.out.println(sdf.format(new >> Date(System.currentTimeMillis()))); >> >> System.out.println(p.getAddress().getCity()); >> System.out.println(p.getName()); >> db.save(p); >> try { >> Thread.sleep(5000); >> } catch (InterruptedException e) { >> // TODO Auto-generated catch block >> e.printStackTrace(); >> } >> >> //db.commit(); >> } >> } >> >> private void updateCust4() { >> List<Customer> result = db.query(new OSQLSynchQuery<Customer>( >> "select * from Customer where address.city like '%99%'")); >> >> SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm"); >> >> >> >> for (Customer p : result) { >> >> >> p.setName("updated name " + sdf.format(new >> Date(System.currentTimeMillis()))); >> >> System.out.println(sdf.format(new >> Date(System.currentTimeMillis()))); >> >> System.out.println(p.getAddress().getCity()); >> System.out.println(p.getName()); >> >> try { >> Thread.sleep(1000); >> } catch (InterruptedException e) { >> // TODO Auto-generated catch block >> e.printStackTrace(); >> } >> //db.begin(); >> db.save(p); >> //db.commit(); >> } >> >> } >> >> } >> >> >> ///////////////////////////////////////////////////////////////// >> >> Sep 24, 2014 3:48:31 PM com.orientechnologies.common.log.OLogManager log >> SEVERE: Error on fetching record during browsing. The record has been >> skipped >> com.orientechnologies.orient.core.exception.ODatabaseException: Error on >> retrieving record #10:0 (cluster: customer) >> at >> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:288) >> at >> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeReadRecord(ODatabaseRecordAbstract.java:905) >> at >> com.orientechnologies.orient.core.tx.OTransactionNoTx.loadRecord(OTransactionNoTx.java:70) >> at >> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:274) >> at >> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:40) >> at >> com.orientechnologies.orient.core.iterator.OIdentifiableIterator.readCurrentRecord(OIdentifiableIterator.java:285) >> at >> com.orientechnologies.orient.core.iterator.ORecordIteratorClusters.begin(ORecordIteratorClusters.java:287) >> at >> com.orientechnologies.orient.core.iterator.ORecordIteratorClusters.config(ORecordIteratorClusters.java:376) >> at >> com.orientechnologies.orient.core.iterator.ORecordIteratorClass.<init>(ORecordIteratorClass.java:72) >> at >> com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.searchInClasses(OCommandExecutorSQLResultsetAbstract.java:368) >> at >> com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchInClasses(OCommandExecutorSQLSelect.java:657) >> at >> com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.assignTarget(OCommandExecutorSQLResultsetAbstract.java:128) >> at >> com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.assignTarget(OCommandExecutorSQLSelect.java:398) >> at >> com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:382) >> at >> com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:349) >> at >> com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:60) >> at >> com.orientechnologies.orient.core.storage.OStorageEmbedded.executeCommand(OStorageEmbedded.java:82) >> at >> com.orientechnologies.orient.core.storage.OStorageEmbedded.command(OStorageEmbedded.java:71) >> at >> com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:69) >> at >> com.orientechnologies.orient.core.sql.query.OSQLSynchQuery.run(OSQLSynchQuery.java:80) >> at >> com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:29) >> at >> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.query(ODatabaseRecordAbstract.java:664) >> at >> com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.query(ODatabaseRecordWrapperAbstract.java:192) >> at >> com.orientechnologies.orient.object.db.ODatabasePojoAbstract.query(ODatabasePojoAbstract.java:238) >> at test.CustomerTest3.updateCust3(CustomerTest3.java:75) >> at test.CustomerTest3.access$0(CustomerTest3.java:73) >> at test.CustomerTest3$1.call(CustomerTest3.java:43) >> at test.CustomerTest3$1.call(CustomerTest3.java:1) >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >> at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >> 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:744) >> Caused by: com.orientechnologies.common.concur.lock.OLockException: >> Cannot unlock a never acquired lock >> at >> com.orientechnologies.orient.core.tx.OTransactionAbstract.unlockRecord(OTransactionAbstract.java:119) >> at >> com.orientechnologies.orient.core.id.ORecordId.unlock(ORecordId.java:272) >> at >> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1304) >> at >> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:661) >> at >> com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:282) >> ... 33 more >> >> >> >> >> >> >> >> >> >> >> -- >> >> --- >> 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. >> > > > > -- > 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/d/optout.
