My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 2038: Database error while pushing - 2.2.1 version gerrit
2 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Reported by indushre...@samsung.com, Jul 29, 2013
************************************************************
***** NOTE: THIS BUG TRACKER IS FOR GERRIT CODE REVIEW *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, INTERNAL *****
***** ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.    *****
***** THOSE ISSUE BELONG IN DIFFERENT ISSUE TRACKERS!  *****
************************************************************

Affected Version: Gerrit 2.2.1

What steps will reproduce the problem?

$ git push origin HEAD:refs/for/master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 271 bytes, done.
Total 3 (delta 0), reused 1 (delta 0)
To ssh://xxx@xxx.com:29418/test
 ! [remote rejected] HEAD -> refs/for/master (database error)
error: failed to push some refs to 'ssh://xxx@xxx.com:29418/test'

What is the expected output? What do you see instead?

Without Error, gerrit review request should be created.
Please provide any additional information below.
Gerrit error_log :
[2013-07-29 07:21:51,642] ERROR com.google.gerrit.server.git.ReceiveCommits : Error creating change for commit 96c13cc14307ee2f141e1bb70990bd3672706404
com.google.gwtorm.client.OrmException: insert failure on patch_set_ancestors
	at com.google.gwtorm.schema.sql.SqlDialect.convertError(SqlDialect.java:122)
	at com.google.gwtorm.jdbc.JdbcAccess.convertError(JdbcAccess.java:331)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:178)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:35)
	at com.google.gwtorm.client.impl.AbstractAccess.insert(AbstractAccess.java:56)
	at com.google.gerrit.server.git.ReceiveCommits.insertAncestors(ReceiveCommits.java:1972)
	at com.google.gerrit.server.git.ReceiveCommits.createChange(ReceiveCommits.java:1095)
	at com.google.gerrit.server.git.ReceiveCommits.createNewChanges(ReceiveCommits.java:1038)
	at com.google.gerrit.server.git.ReceiveCommits.onPreReceive(ReceiveCommits.java:367)
	at org.eclipse.jgit.transport.ReceivePack.executeCommands(ReceivePack.java:1027)
	at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:680)
	at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:600)
	at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:90)
	at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:103)
	at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:34)
	at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:69)
	at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:399)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
	at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:324)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.BatchUpdateException: Duplicate entry '66-1-1' for key 'PRIMARY'
	at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007)
	at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443)
	at com.google.gwtorm.jdbc.JdbcAccess.execute(JdbcAccess.java:293)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:171)
	... 23 more
[2013-07-29 08:19:07,188] WARN  / : Error in revertChange
com.google.gwtorm.client.OrmException: insert failure on patch_sets
	at com.google.gwtorm.schema.sql.SqlDialect.convertError(SqlDialect.java:122)
	at com.google.gwtorm.jdbc.JdbcAccess.convertError(JdbcAccess.java:331)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:178)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:35)
	at com.google.gwtorm.client.impl.AbstractAccess.insert(AbstractAccess.java:56)
	at com.google.gerrit.server.ChangeUtil.revert(ChangeUtil.java:333)
	at com.google.gerrit.httpd.rpc.changedetail.RevertChange.call(RevertChange.java:108)
	at com.google.gerrit.httpd.rpc.changedetail.RevertChange.call(RevertChange.java:47)
	at com.google.gerrit.httpd.rpc.Handler.to(Handler.java:65)
	at com.google.gerrit.httpd.rpc.changedetail.ChangeManageServiceImpl.revertChange(ChangeManageServiceImpl.java:52)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91)
	at com.google.gwtjsonrpc.server.JsonServlet.doService(JsonServlet.java:382)
	at com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:268)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.gerrit.httpd.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:54)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:59)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.Server.handle(Server.java:352)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.BatchUpdateException: Duplicate entry '67-1' for key 'PRIMARY'
	at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007)
	at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443)
	at com.google.gwtorm.jdbc.JdbcAccess.execute(JdbcAccess.java:293)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:171)
	... 55 more
[2013-07-29 08:19:11,417] WARN  / : Error in revertChange
com.google.gwtorm.client.OrmException: insert failure on patch_sets
	at com.google.gwtorm.schema.sql.SqlDialect.convertError(SqlDialect.java:122)
	at com.google.gwtorm.jdbc.JdbcAccess.convertError(JdbcAccess.java:331)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:178)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:35)
	at com.google.gwtorm.client.impl.AbstractAccess.insert(AbstractAccess.java:56)
	at com.google.gerrit.server.ChangeUtil.revert(ChangeUtil.java:333)
	at com.google.gerrit.httpd.rpc.changedetail.RevertChange.call(RevertChange.java:108)
	at com.google.gerrit.httpd.rpc.changedetail.RevertChange.call(RevertChange.java:47)
	at com.google.gerrit.httpd.rpc.Handler.to(Handler.java:65)
	at com.google.gerrit.httpd.rpc.changedetail.ChangeManageServiceImpl.revertChange(ChangeManageServiceImpl.java:52)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91)
	at com.google.gwtjsonrpc.server.JsonServlet.doService(JsonServlet.java:382)
	at com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:268)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.gerrit.httpd.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:54)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:59)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.Server.handle(Server.java:352)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.BatchUpdateException: Duplicate entry '68-1' for key 'PRIMARY'
	at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007)
	at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443)
	at com.google.gwtorm.jdbc.JdbcAccess.execute(JdbcAccess.java:293)
	at com.google.gwtorm.jdbc.JdbcAccess.doInsert(JdbcAccess.java:171)
	... 55 more
Jul 29, 2013
#1 indushre...@samsung.com
Please help us with work aorund ASAP
Jul 30, 2013
Project Member #2 bruce.zu@sonymobile.com
we can see from the output: 'Duplicate entry '68-1' for key 'PRIMARY'
so suggest to check patch_set_ancestors table then update the existing PRIMARY KEY fields: (change_id, patch_set_id, "position") to then try push again to see this issue is fixed or not


Sep 30, 2013
#3 casta...@motorola.com
We are seeing this error as well.  I verified manually that the database has no duplicate records or records that would result in duplicate indicies.

Why would I see this error arise?  Under what conditions would Gerrit try to re-insert the same records into the patch_set_ancestors or the patch_sets tables?

Is there some kind of cleanup operation I can run safely on my MySQL database?  Is it necessary?


Sign in to add a comment

Powered by Google Project Hosting