#718: Integrity error modifying batch of tickets (0.8-dev)
---------------------+---------------
Reporter: olemis | Owner:
Type: defect | Status: new
Priority: major | Version:
Resolution: |
---------------------+---------------
==== How to Reproduce ====
While doing a POST operation on `/batchmodify`, Trac issued an internal
error.
The process consists in selecting tickets in query view, then set
milestone="Second release" and click ''Change tickets'' button. After that
the following error is shown.
Request parameters:
{{{
{'__FORM_TOKEN': u'xxx',
'action_reassign_reassign_owner': u'olemis',
'action_resolve_resolve_resolution': u'fixed',
'batchmod_submit': u'Change tickets',
'batchmod_value_comment': u'Move closed tickets to milestone:"Second
release"',
'batchmod_value_milestone': u'Second release',
'query_href':
u'/query?group=milestone&order=priority&col=id&col=summary&col=type&col=status&col=priority&col=product&col=milestone',
'selected_tickets':
u'53,54,47,48,52,30,41,36,42,43,44,51,43,51,44,42,36,53,41,48,47,54,52,30'}
}}}
User agent: `Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.10.289
Version/12.02`
==== System Information ====
|| '''`Trac`''' || `1.0.1` [[br]] `` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Bloodhound Trac`''' || `1.0.1` ||
|| '''`Genshi`''' || `0.7 (with speedups)` ||
|| '''`Mercurial`''' || `2.6.2` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
WSGIApplicationGroup %{GLOBAL})` ||
|| '''`psycopg2`''' || `2.5` ||
|| '''`Pygments`''' || `1.6` ||
|| '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
`[GCC 4.6.3]` ||
|| '''`pytz`''' || `2013b` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`jQuery`''' || `1.7.2` ||
==== Enabled Plugins ====
|| '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundLabs`''' || `0.1.0` ||
|| '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
|| '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundTheme`''' || `0.8.0dev` ||
|| '''`TracAccountManager`''' || `0.4.3` ||
|| '''`TracMercurial`''' || `1.0.0.3dev` ||
|| '''`TracPermRedirect`''' || `3.0` ||
|| '''`TracThemeEngine`''' || `2.2.0` ||
==== Python Traceback ====
{{{
Traceback (most recent call last):
File "/path/to/bloodhound/trac/trac/web/main.py", line 477, in
_dispatch_request
dispatcher.dispatch(req)
File "/path/to/bloodhound/trac/trac/web/main.py", line 214, in dispatch
resp = chosen_handler.process_request(req)
File "/path/to/bloodhound/trac/trac/ticket/batch.py", line 62, in
process_request
new_values, comment, action)
File "/path/to/bloodhound/trac/trac/ticket/batch.py", line 167, in
_save_ticket_changes
t.save_changes(req.authname, comment, when=when)
File "/path/to/bloodhound/trac/trac/ticket/model.py", line 365, in
save_changes
""", (self.id, when_ts, author, cnum, comment))
File
"/path/to/bloodhound/bloodhound_multiproduct/multiproduct/dbcursor.py",
line 120, in execute
return self.connection.execute(query, params=params)
File "/path/to/bloodhound/trac/trac/db/util.py", line 121, in execute
cursor.execute(query, params)
File
"/path/to/bloodhound/bloodhound_multiproduct/multiproduct/dbcursor.py",
line 85, in execute
return super(BloodhoundIterableCursor,
self).execute(translate_sql(self.env, sql), args=args)
File "/path/to/bloodhound/trac/trac/db/util.py", line 65, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
IntegrityError: duplicate key value violates unique constraint
"ticket_change_pk"
DETAIL: Key (ticket, "time", field, product)=(43, 1385147177768121,
comment, swayed) already exists.
}}}
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/718>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker