Actions
Defect #43623
openPerformance degradation when updating due date on issues with deep relations
Status:
New
Priority:
Normal
Assignee:
-
Category:
Performance
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Resolution:
Affected version:
Description
Summary
When updating the due date of an issue that has deep and/or many issue relations, the execution time of the update increases significantly.
As the number or depth of related issues grows, the operation may take a very long time or eventually time out.
This appears to be a performance and scalability issue rather than a functional bug.
- Updating the due date of a root issue
- Issues are linked by multiple levels of relations (e.g. precedes / follows)
- The depth of the relation chain and/or the number of related issues is large
- Updating the due date triggers propagation logic to adjust related issues
- During this process, related issues are traversed recursively
- The recursive traversal of issue relations becomes the main performance bottleneck
- Execution time increases non-linearly as relation depth grows
- Updating the due date should complete within a reasonable time even when relations are deep Alternatively, the recursion depth or the number of processed related issues could be limited
- or the traversal logic could be optimized
- In projects that heavily rely on issue relations, due date updates become impractical
- The impact is more significant in large or long-running projects
- Redmine: 5.1.2
- Ruby: 3.2.3
- Database: PostgreSQL 16
- The issue may not be specific to a particular Redmine version
- The performance impact seems to originate from recursive traversal of issue relations during due date propagation
- Code paths related to IssueRelation and due date propagation logic appear to be involved,especially when relations form deep chains
No data to display
Actions