Description:
Here's the stack trace:
java.lang.NullPointerException
at com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.java:892)
at com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:468)
at com.solarmetric.jdbc.DelegatingPreparedStatement.close(DelegatingPreparedStatement.java:141)
at com.solarmetric.jdbc.DelegatingPreparedStatement.close(DelegatingPreparedStatement.java:141)
at com.solarmetric.jdbc.PSCacheConnectionDecorator.checkin(PSCacheConnectionDecorator.java:244)
at com.solarmetric.jdbc.PSCacheConnectionDecorator.access$200(PSCacheConnectionDecorator.java:24)
at com.solarmetric.jdbc.PSCacheConnectionDecorator$PSCachePreparedStatement.close(PSCacheConnectionDecorator.java:427)
at com.solarmetric.jdbc.DelegatingPreparedStatement.close(DelegatingPreparedStatement.java:141)
at com.solarmetric.jdbc.DelegatingPreparedStatement.close(DelegatingPreparedStatement.java:141)
at kodo.jdbc.kernel.PreparedStatementManager.flushInternal(PreparedStatementManager.java:258)
at kodo.jdbc.kernel.PreparedStatementManager.flush(PreparedStatementManager.java:206)
at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:283)
at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:113)
at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:94)
at kodo.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:566)
at kodo.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:150)
at kodo.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:539)
at kodo.kernel.BrokerImpl.flush(BrokerImpl.java:2347)
at kodo.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2228)
at kodo.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:2154)
at kodo.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:67)
at kodo.kernel.BrokerImpl.commit(BrokerImpl.java:1546)
at kodo.kernel.DelegatingBroker.commit(DelegatingBroker.java:1250)
at kodo.jdo.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:513)
at com.mpire.mpsys.jdo.JDOProxy.invoke(JDOProxy.java:72)
at $Proxy14.updateGetSellerListTime(Unknown Source)
at com.mpire.buyer.sys.SellerService.updatePaidSeller(SellerService.java:273)
at com.mpire.buyer.sys.SellerService$PreferredSellerUpdateWorker.workObject(SellerService.java:67)
at com.mpire.mpsys.AbstractThreadedWorkerService$PCWorker.run(AbstractThreadedWorkerService.java:75)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:613)
How to repeat:
Under moderate concurrency (20 threads), I see this error every so often. I am performing a SELECT then an INSERT in each of the 20 threads over and over again.