Edgewall Software

Ticket #5658 (new defect)

Opened 17 months ago

Last modified 2 months ago

Closing milestone and retargeting tickets to another does not show in change history

Reported by: mlists at bigrideau.com Owned by: cmlenz
Priority: normal Milestone: 0.13
Component: roadmap Version: 0.10.4
Severity: major Keywords: consider
Cc: th07@…

Description (last modified by cboos) (diff)

When I close a milestone and select "retarget open tickets" the tickets are successfully retargeted, however the change in milestone is not reflected in the ticket change history.

Attachments

Change History

  Changed 17 months ago by cboos

  • keywords consider added
  • description modified (diff)
  • milestone set to 0.12

Right, this would be a nice thing to have. However, the design is not trivial if we don't want to duplicate the change metadata everywhere.

Related to #1890 (change metadata) and #525 (batch modifications).

follow-up: ↓ 3   Changed 17 months ago by anonymous

Pardon my ignorance, but given that a milestone change on its own is reflected in the ticket history could this same api not be called when a ticket is retargeted?

in reply to: ↑ 2 ; follow-up: ↓ 4   Changed 17 months ago by cboos

As I said, it's not trivial if we don't want to duplicate the metadata. Conversely, it is trivial if we decide to duplicate the change information everywhere...

The real problem is that doing a big bunch of inserts (one entry recording the change metadata, either directly or indirectly a la #1890) will likely expose the milestone retarget operation to locking issues (see #3446).

in reply to: ↑ 3   Changed 17 months ago by eblot

Replying to cboos:

The real problem is that doing a big bunch of inserts (one entry recording the change metadata, either directly or indirectly a la #1890) will likely expose the milestone retarget operation to locking issues (see #3446).

Would it be possible, as a workaround, to acquire and release a DB lock for each updated ticket? Retargetting ticket is an operation that occurs only a few times so a slow execution is not a big issue IMHO. OTOH, managing metadata may not be implemented in the next months... so a temp. workaround may be a useful solution.

  Changed 16 months ago by mlists at bigrideau.com

Has my vote. You are correct that at least in our usage model this would happen at most once per week so speed is not of the essence.

  Changed 15 months ago by cboos

#5897 mentions the same problem but for milestone renames instead of retarget after close.

  Changed 15 months ago by mape <th07@…>

  • cc th07@… added

This kind of silent changes really confuses up my TimeVisualizerPlugin, which draws burndown graphs from ticket, ticket_custom and especially from ticket_change. If history is not properly written, the graph gets messed and can't be reliably used to trace projects (scrum burndown graph).

I'm quite new to trac. Is there any other cases when ticket_change gets outdated? Quicly I could name these:

  • retarget open tickets when closing milestone Trac#5658
  • rename milestone Trac#5897
  • my guess: using webadmin to change component or milestone names

It would feasible to minimize db altering with SQL and use APIs whenever possible. And then APIs should respect history (as proposed in TracObjectModelProposal. I strongly support idea of having unique (and constant) id for objects as proposed in DataModel, which would fix renaming issues.

I have now a bad feeling that it is too easy mess up my graph with trac (or 3rd components). Maybe the original idea of having ticket listener and writing own log would have been better - even it has many other drawbacks. Of course ticket listener itself would not be enough - I would need also milestone and component listeners...

  Changed 2 months ago by cboos

  • description modified (diff)
  • severity changed from normal to major

#7615 was closed as duplicate.

One of the issue here is how to store the change efficiently for all the tickets (see related discussion on this topic in #1890). Same problematic applies to #525 as well.

Also I think that adding a fixed comment like "milestone was renamed" or "retargeted after closing milestone", depending on the situation would be nice. In the future, this might even contain a link to the milestone version which triggered the change (for now milestone data is unversioned).

Add/Change #5658 (Closing milestone and retargeting tickets to another does not show in change history)

Author



Change Properties
<Author field>
Action
as new
as The resolution will be set. Next status will be 'closed'
to The owner will change from cmlenz. Next status will be 'new'
The owner will change from cmlenz to anonymous. Next status will be 'assigned'
 
Note: See TracTickets for help on using tickets.