My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 2515: Internal server error when using `--label code-review=1` in review command
1 person starred this issue and may be notified of changes. Back to list
Status:  Released
Owner:  ----
Closed:  Mar 2014
Cc:  dborowitz@google.com


Sign in to add a comment
 
Project Member Reported by david.pu...@sonymobile.com, Mar 5, 2014
************************************************************
***** 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: latest head of stable-2.8 - 2.8.1-71-g68c530c

Using `--label code-review=+1` causes internal server error if the label is already set.

ssh -p 29418 david.pursehouse@review gerrit review 6,1 --code-review 1
ssh -p 29418 david.pursehouse@review gerrit review 6,1 --label code-review=+1
fatal: internal server error while approving 6,1
one or more approvals failed; review output above

If the label is not set, it works:

ssh -p 29418 david.pursehouse@review gerrit review 6,1 --code-review 0
ssh -p 29418 david.pursehouse@review gerrit review 6,1 --label code-review=+1


Stack trace from the error log:

[2014-03-05 17:56:07,150] ERROR com.google.gerrit.sshd.commands.ReviewCommand : internal error while approving 6,1
com.google.gwtorm.server.OrmException: insert failure on patch_set_approvals
	at com.google.gwtorm.schema.sql.SqlDialect.convertError(SqlDialect.java:152)
	at com.google.gwtorm.schema.sql.DialectH2.convertError(DialectH2.java:45)
	at com.google.gwtorm.jdbc.JdbcAccess.convertError(JdbcAccess.java:448)
	at com.google.gwtorm.jdbc.JdbcAccess.insert(JdbcAccess.java:160)
	at com.google.gerrit.server.change.PostReview.updateLabels(PostReview.java:469)
	at com.google.gerrit.server.change.PostReview.apply(PostReview.java:180)
	at com.google.gerrit.sshd.commands.ReviewCommand.applyReview(ReviewCommand.java:217)
	at com.google.gerrit.sshd.commands.ReviewCommand.approveOne(ReviewCommand.java:276)
	at com.google.gerrit.sshd.commands.ReviewCommand.run(ReviewCommand.java:194)
	at com.google.gerrit.sshd.SshCommand$1.run(SshCommand.java:35)
	at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:442)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
	at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:360)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY_KEY_E3 ON PUBLIC.PATCH_SET_APPROVALS(ACCOUNT_ID, CATEGORY_ID, CHANGE_ID, PATCH_SET_ID) VALUES ( /* key:30 */ null, null, null, null, 1000000, 'Code-Review', 6, 1)"; SQL statement:
INSERT INTO patch_set_approvals(change_open,change_sort_key,granted,value,account_id,category_id,change_id,patch_set_id)VALUES(?,?,?,?,?,?,?,?) [23505-173]
	at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1167)
	at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
	at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
	at com.google.gwtorm.schema.sql.SqlDialect.executeBatch(SqlDialect.java:390)
	at com.google.gwtorm.jdbc.JdbcAccess.execute(JdbcAccess.java:438)
	at com.google.gwtorm.jdbc.JdbcAccess.insertAsBatch(JdbcAccess.java:202)
	at com.google.gwtorm.jdbc.JdbcAccess.insert(JdbcAccess.java:155)
	... 15 more
Caused by: org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY_KEY_E3 ON PUBLIC.PATCH_SET_APPROVALS(ACCOUNT_ID, CATEGORY_ID, CHANGE_ID, PATCH_SET_ID) VALUES ( /* key:30 */ null, null, null, null, 1000000, 'Code-Review', 6, 1)"; SQL statement:
INSERT INTO patch_set_approvals(change_open,change_sort_key,granted,value,account_id,category_id,change_id,patch_set_id)VALUES(?,?,?,?,?,?,?,?) [23505-173]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:331)
	at org.h2.message.DbException.get(DbException.java:171)
	at org.h2.message.DbException.get(DbException.java:148)
	at org.h2.index.BaseIndex.getDuplicateKeyException(BaseIndex.java:101)
	at org.h2.index.PageBtree.find(PageBtree.java:121)
	at org.h2.index.PageBtreeLeaf.addRow(PageBtreeLeaf.java:148)
	at org.h2.index.PageBtreeLeaf.addRowTry(PageBtreeLeaf.java:101)
	at org.h2.index.PageBtreeIndex.addRow(PageBtreeIndex.java:95)
	at org.h2.index.PageBtreeIndex.add(PageBtreeIndex.java:86)
	at org.h2.table.RegularTable.addRow(RegularTable.java:125)
	at org.h2.command.dml.Insert.insertRows(Insert.java:127)
	at org.h2.command.dml.Insert.update(Insert.java:86)
	at org.h2.command.CommandContainer.update(CommandContainer.java:79)
	at org.h2.command.Command.executeUpdate(Command.java:235)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:154)
	at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1152)
	... 21 more

Mar 5, 2014
Project Member #2 david.pu...@sonymobile.com
(No comment was entered for this change.)
Status: Submitted
Labels: FixedIn-2.8.2
Mar 11, 2014
Project Member #3 david.pu...@sonymobile.com
(No comment was entered for this change.)
Status: Released
Sign in to add a comment

Powered by Google Project Hosting