-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
database deadlocks on concurrent deployments #97
Comments
informations from MariaDB (command show engine innodb status;): `LATEST DETECTED DEADLOCK150527 9:21:46 |
I just checked the stack trace and I have an idea where this is coming from! |
This should be an issue caused by child artifact uploads. Which happen frequently with a plain maven upload. I think I have a fix for that in the master branch which will be in 0.9.1. |
Ok, thanks for your quick response. When will the next version be available (for me different builds actually break because of the problem with deadlock exception on deployment)? |
I just uploaded the signed release candidate to Wuala (same link as before) -> https://www.wuala.com/ctron/drone/?key=rTnBx1xnFmFD I would be glad if you could test it and give some feedback! Thanks! |
I have downloaded and installed the new version. Then I received a big amount of errors abount contexts. So I run the software manually with -clean and reconfigure the system-settings. Now it seems to run normally and I can test with concurrent deployments. |
After some concurrent builds against the new version 0.9.1 I dont get any exceptions anymore. So I think, the problem is fixed. |
Sorry, the problem occurs again: The informations from MariaDB are the same like above. |
Here the (nearly same) informations from MariaDB: LATEST DETECTED DEADLOCK150527 13:28:22 |
Do you think it is possible to switch to Postgres for a test? I just checked how MySQL does locking and this sounds not too good. So it seems that the full tables are locked. Now my colleague is a Postgres fan, which is why we use Postgres for "thedrone" and I only use MySQL locally. His suggestion was to dump MySQL altogether. While I am not a fan of just switching the database to solve this issue, I am not sure it there is anything else that can be done in reasonable terms. |
The deadlocks are now rarely, but sometimes one occurs again. |
You can do a full export in the "System" -> "Storage" menu as "Admin" and then you can import everything again in the new instance. Be sure to use a different file storage blob location though. The more I work with MySQL the more it think that PostgreSQL is a better choice. And I did update the wiki a few minutes ago to reflect that. If you do find any other place where it should be updated, please let me know! Sorry for the troubles! |
Thanks for your hints. So I will do a full export and then wipe the local filesystem storage and run server -clean ? |
Yes this sounds good. Except for:
The database instance is linked with the file system store. So this is not supported at the moment. So create a new database instance, install the database schema, activate the file system BLOB store and then import the channels. |
Ok, I have switched the installation to PostgreSQL. The software is the same pre 0.9.1 version. ` |
Could you also attach the server log the message mentions? May be in the comment but somewhere else. |
Which server log do you mean (PostgreSQL or Package-Drone)? |
I guess it means the Postgres server log. |
Here the (interesting) lines of the file pg_log/postgresql-Thu.log: Some remarks: Parallel to deploying over Maven-builds I delete manually (over web-interface) some artifacts. May be there are some problems with concurrent deletes from gui and inserts over Maven? |
Thanks for the log! I guess I will need to set up a similar use case and try to reproduce it. Since in this case there seem to be no table locks involved. So just to get it right .. your are deploying with several Maven builds at the same time and in addition to that delete artifacts manually from the Web UI? |
Yes. I have several Jenkins-jobs with running 'mvn deploy' operations. Parallely I manage the package-drone manually (upload some artifacts with drag&drop, delete other artifacts because of validation problems and so on). Of course this is a heavy usage profile... |
.. which must be supported! 😉 |
Ok, it might be a simple problem this time. There was another location where the lock manager was not called. I will check all modify operations now just to be sure. Would it be OK if I would give you another version in a few minutes/hours for testing? This would help a lot. And I am sorry I use you for debugging 😉 |
I just uploaded another version to he web link ... It also is version 0.9.1 but release |
Hello, I will test it tomorrow (friday) at the office. Many thanks for your quick responses and solutions... |
The update for package drone was successful. Now let's see, if we get some more deadlocks... |
Hello, here a new error/exception (has it something to do with the last modifications?): ` |
Sorry, for that. I am not sure how this could happen. I will dig into it. |
I am currently trying to create a local stress test scenario with multiple concurrent builds. I guess it was time 😉 |
I have completely cleared the channel now and refill it again with maven deployments. |
Well it should not! I am currently trying to reproduce it. Not with complete success 😉 I could reproduce the MySQL problem. This really is a problem. Switching to Postgres this is gone. I was also able to create another issue 😄 some trouble with the XML parser used concurrently. But not the cache issue, at least until now. |
I got the same exception now! |
Did you modify channel aspects when this exception did occur? |
It could be, that I have reconfigured the cleanup aspect. Other aspects - I think no. |
Ok .. I think I got a clue what happens ... the lock managers locks, based on the channel id. However some operations also operate on the channel alias/name. So the lock would not be the same. This is something I completely overlooked! This is more a note to myself, since I have to leave now for weekend 😉 I will fix this on Monday! |
I do have an idea how to "rescue" the MySQL setup. However, you are right. There should be a big warning sign when using MySQL. |
Btw ... this also brings up a workaround ... as long as you only access the channel either by name or by id, not both at the same time, the issue should not occur! |
Ok, a little bit of update here. It was not my original though. Actually the channel alias is used, but never passed to the lock manager. Which is how it should be. I guess the weekend gave me a fresh look on this and I did found a race condition between the lock manager and the actual database transaction. In some cases the lock is released before the transaction is actually committed. After a fix for this specific case, I can reproduce that I the issue is fixed. However I will check a few more occasions where this might happen, since I now know the pattern to look for. But definitely this will occur when adding aspects to the channel. |
The issue is caused by the fact that the channel cache entries are written to the database, but are not committed. The second operation gets woken up by the lock manager too early. The first operation opens the transaction before locking the channel, which, as of now, also closes the transaction _after_ releasing the lock.
The issue is caused by the fact that the channel cache entries are written to the database, but are not committed. The second operation gets woken up by the lock manager too early. The first operation opens the transaction before locking the channel, which, as of now, also closes the transaction _after_ releasing the lock.
I have got the error again with version 0.9.4. * I don't have modified anything on the aspects or aspect-configuration of this channel in the moment!* Only concurrently adding artifacts over maven-deploy and deleting other artifacts from the same channel over web-gui. |
Yes, this is the same problem. The fix only fixed the "add aspect" case. There are a few other occasions where this could happen. It is fixed in 0.10.0. But the change on the locking are rather extensive. So I don't want to simply add these in the 0.9.x branch. However I made the same stress test with the new locking mechanism in 0.10.0 did not run into this issue anymore. |
Is the new version 0.10.0-m1 stable enough compared to 0.9.4? |
The short answer is: no. 0.10.0 is planned not to have any database schema changes, so it should be easy to downgrade again. But there will be a few more changes and the release is not yet complete. The next milestone is planned for next week. So I think this is a better candidate. |
I have updated to version 0.10.0-m2, all is running. I will see, if all exceptions for deadlocks are gone... |
Until now (after 48h of test) I don't receive any new exceptions. So I think, the problem is solved. |
We use package drone 0.9.0 with MariaDB5.5.41 on CentOS7 (64bit) and Java8u45.
If different Maven builds deploys there artifacts to package-drone concurrently, we receive exceptions with following stacktrace:
javax.servlet.ServletException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.maven.internal.MavenServlet.doPut(MavenServlet.java:219) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) ~[javax.servlet-api_3.1.0.jar:3.1.0] at de.dentrassi.pm.storage.service.servlet.AbstractStorageServiceServlet.service(AbstractStorageServiceServlet.java:85) ~[de.dentrassi.pm.storage.service_1.0.0.20150508-1435.jar:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api_3.1.0.jar:3.1.0] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) ~[na:na] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587) [org.eclipse.jetty.servlet_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) [org.eclipse.jetty.security_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [org.eclipse.jetty.servlet_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.Server.handle(Server.java:497) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) [org.eclipse.jetty.server_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) [org.eclipse.jetty.io_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [org.eclipse.jetty.util_9.2.9.v20150224.jar:9.2.9.v20150224] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [org.eclipse.jetty.util_9.2.9.v20150224.jar:9.2.9.v20150224] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.storage.service.jpa.LockManager.act(LockManager.java:87) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.modifyCall(LockManager.java:63) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl.internalCreateArtifact(StorageServiceImpl.java:203) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl.createArtifact(StorageServiceImpl.java:198) ~[na:na] at de.dentrassi.pm.storage.service.jpa.ChannelImpl.createArtifact(ChannelImpl.java:124) ~[na:na] at de.dentrassi.pm.maven.internal.MavenServlet.storeArtifact(MavenServlet.java:531) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at de.dentrassi.pm.maven.internal.MavenServlet.lambda$1(MavenServlet.java:508) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at de.dentrassi.pm.maven.internal.MavenServlet$$Lambda$143/1191335508.apply(Unknown Source) ~[na:na] at de.dentrassi.pm.maven.internal.MavenServlet.pullFromTemp(MavenServlet.java:550) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at de.dentrassi.pm.maven.internal.MavenServlet.store(MavenServlet.java:508) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at de.dentrassi.pm.maven.internal.MavenServlet.store(MavenServlet.java:501) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at de.dentrassi.pm.maven.internal.MavenServlet.processMetaData(MavenServlet.java:457) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at de.dentrassi.pm.maven.internal.MavenServlet.processPut(MavenServlet.java:250) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] at de.dentrassi.pm.maven.internal.MavenServlet.doPut(MavenServlet.java:211) ~[de.dentrassi.pm.maven_1.0.0.20150520-1001.jar:na] ... 23 common frames omitted Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.common.service.AbstractJpaServiceImpl.doWithTransaction(AbstractJpaServiceImpl.java:124) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl.doWithHandler(StorageServiceImpl.java:848) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl.lambda$6(StorageServiceImpl.java:204) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl$$Lambda$112/201083977.call(Unknown Source) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.process(LockManager.java:111) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.act(LockManager.java:83) ~[na:na] ... 36 common frames omitted Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.common.service.AbstractJpaServiceImpl.lambda$1(AbstractJpaServiceImpl.java:113) ~[na:na] at de.dentrassi.pm.common.service.AbstractJpaServiceImpl$$Lambda$12/2079861320.process(Unknown Source) ~[na:na] at de.dentrassi.pm.common.service.AbstractJpaServiceImpl.doWithManager(AbstractJpaServiceImpl.java:48) ~[na:na] at de.dentrassi.pm.common.service.AbstractJpaServiceImpl.doWithTransaction(AbstractJpaServiceImpl.java:68) ~[na:na] ... 41 common frames omitted Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.internalCreateArtifact(StorageHandlerImpl.java:1303) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.internalCreateArtifact(StorageHandlerImpl.java:1281) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl.lambda$53(StorageServiceImpl.java:209) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl$$Lambda$113/905336974.process(Unknown Source) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl.lambda$40(StorageServiceImpl.java:850) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageServiceImpl$$Lambda$44/134699125.process(Unknown Source) ~[na:na] at de.dentrassi.pm.common.service.AbstractJpaServiceImpl.lambda$1(AbstractJpaServiceImpl.java:80) ~[na:na] ... 44 common frames omitted Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.storage.service.jpa.LockManager.act(LockManager.java:87) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.modifyCall(LockManager.java:63) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.performStoreArtifact(StorageHandlerImpl.java:477) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.internalCreateArtifact(StorageHandlerImpl.java:1289) ~[na:na] ... 50 common frames omitted Caused by: java.lang.RuntimeException: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.lambda$6(StorageHandlerImpl.java:587) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl$$Lambda$103/1919851429.accept(Unknown Source) ~[na:na] at de.dentrassi.pm.aspect.ChannelAspectProcessor.process(ChannelAspectProcessor.java:158) ~[de.dentrassi.pm.aspect_1.0.0.20150519-0849.jar:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.runChannelTriggers(StorageHandlerImpl.java:580) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.lambda$5(StorageHandlerImpl.java:541) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl$$Lambda$106/1203510008.call(Unknown Source) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.process(LockManager.java:111) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.act(LockManager.java:83) ~[na:na] ... 53 common frames omitted Caused by: java.lang.RuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at de.dentrassi.pm.storage.service.jpa.LockManager.act(LockManager.java:87) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.modifyRun(LockManager.java:50) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.runChannelAggregators(StorageHandlerImpl.java:782) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.deleteArtifact(StorageHandlerImpl.java:741) ~[na:na] at de.dentrassi.pm.storage.service.jpa.PostAddContentImpl.deleteArtifact(PostAddContentImpl.java:62) ~[na:na] at de.dentrassi.pm.aspect.cleanup.internal.CleanupListener.artifactAdded(CleanupListener.java:74) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.lambda$24(StorageHandlerImpl.java:541) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl$$Lambda$110/2090346483.accept(Unknown Source) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.lambda$6(StorageHandlerImpl.java:583) ~[na:na] ... 60 common frames omitted Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at org.eclipse.persistence.internal.jpa.QueryImpl.executeUpdate(QueryImpl.java:308) ~[na:na] at de.dentrassi.pm.storage.service.jpa.ValidationHandler.aggregateFullChannel(ValidationHandler.java:135) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl.lambda$12(StorageHandlerImpl.java:842) ~[na:na] at de.dentrassi.pm.storage.service.jpa.StorageHandlerImpl$$Lambda$57/605634034.run(Unknown Source) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.lambda$1(LockManager.java:51) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager$$Lambda$59/2043231135.call(Unknown Source) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.process(LockManager.java:111) ~[na:na] at de.dentrassi.pm.storage.service.jpa.LockManager.act(LockManager.java:83) ~[na:na] ... 68 common frames omitted Caused by: org.eclipse.persistence.exceptions.DatabaseException: Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction Error Code: 1213 Call: UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?) bind => [3 parameters bound] Query: UpdateAllQuery(referenceClass=ArtifactEntity sql="UPDATE ARTIFACTS SET AGR_NUM_WARN = ?, AGR_NUM_ERR = ? WHERE (CHANNEL_ID = ?)") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:331) ~[na:na] at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:902) ~[na:na] at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:964) ~[na:na] at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:633) ~[na:na] at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:560) ~[na:na] at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2055) ~[na:na] at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:306) ~[na:na] at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242) ~[na:na] at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) ~[na:na] at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:271) ~[na:na] at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateAll(DatasourceCallQueryMechanism.java:835) ~[na:na] at org.eclipse.persistence.queries.UpdateAllQuery.executeDatabaseQuery(UpdateAllQuery.java:154) ~[na:na] at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:904) ~[na:na] at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:803) ~[na:na] at org.eclipse.persistence.queries.ModifyAllQuery.executeInUnitOfWork(ModifyAllQuery.java:148) ~[na:na] at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896) ~[na:na] at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1857) ~[na:na] at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1839) ~[na:na] at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804) ~[na:na] at org.eclipse.persistence.internal.jpa.QueryImpl.executeUpdate(QueryImpl.java:298) ~[na:na] ... 75 common frames omitted Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_45] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_45] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_45] at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_45] at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) ~[na:na] at com.mysql.jdbc.Util.getInstance(Util.java:360) ~[na:na] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:985) ~[na:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887) ~[na:na] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823) ~[na:na] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435) ~[na:na] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582) ~[na:na] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530) ~[na:na] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907) ~[na:na] at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2141) ~[na:na] at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2077) ~[na:na] at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2062) ~[na:na] at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:892) ~[na:na] ... 93 common frames omitted
The channel is configured with cleanup aspect and aspect for generating P2 metadata.
The text was updated successfully, but these errors were encountered: