#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