Duplicate entry xxx for Primary

166 views
Skip to first unread message

ThorQue

unread,
Feb 21, 2011, 12:07:19 PM2/21/11
to Repo and Gerrit Discussion
Hello,

from time to time I get this exception:
[2011-02-21 18:01:44,249] ERROR
com.google.gerrit.server.git.ReceiveCommits : Error creating change
for commit 2c84de0fac63c147013fdeabf946e53822d84ba5
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:
1738)
at
com.google.gerrit.server.git.ReceiveCommits.createChange(ReceiveCommits.java:
937)
at
com.google.gerrit.server.git.ReceiveCommits.createNewChanges(ReceiveCommits.java:
884)
at
com.google.gerrit.server.git.ReceiveCommits.onPreReceive(ReceiveCommits.java:
281)
at
org.eclipse.jgit.transport.ReceivePack.executeCommands(ReceivePack.java:
985)
at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:
646)
at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:
577)
at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:89)
at
com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:
104)
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:
395)
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:680)
Caused by: java.sql.BatchUpdateException: Duplicate entry '2-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


Then I try until the primary seems ok. What happen here? I am using
mac, current gerrit and mysql 5.

Thorsten

Shawn Pearce

unread,
Feb 21, 2011, 1:05:36 PM2/21/11
to ThorQue, Repo and Gerrit Discussion
On Mon, Feb 21, 2011 at 09:07, ThorQue <thorste...@googlemail.com> wrote:
> from time to time I get this exception:
> [2011-02-21 18:01:44,249] ERROR
> com.google.gerrit.server.git.ReceiveCommits : Error creating change
> for commit 2c84de0fac63c147013fdeabf946e53822d84ba5
> com.google.gwtorm.client.OrmException: insert failure on
> patch_set_ancestors
...

> Caused by: java.sql.BatchUpdateException: Duplicate entry '2-1-1' for
> key 'PRIMARY'
..

> Then I try until the primary seems ok. What happen here? I am using
> mac, current gerrit and mysql 5.

When MySQL restarts it loses the current value of the sequence
generators Gerrit uses. I've posted this before, you need to do
something like:

INSERT INTO change_id_seq SELECT MAX(change_id) + 1 FROM changes;

INSERT INTO account_id_seq SELECT MAX(account_id) + 1 FROM accounts;

INSERT INTO account_group_id_seq SELECT MAX(account_group_id) + 1
FROM account_groups;

Reply all
Reply to author
Forward
0 new messages