Some mistakes when updating issue's parent
Added by Alice Z about 11 years ago
Hi,
I meet a strange phenomenon when the issue tree is becoming larger and larger.
For example, there is an issue with many sub-issues in my redmine. The issues' tree is very complex, like:
Project |-a | |-b | | |-c | | | |-d | |- ... |-...
The tree's depth is more than 6 and the entire tree has about 200 issues.
Question 1:
I create an issue "e" and set its parent issue is 'a'. In gantt diagram, issue 'e' is under issue 'd'.
And on page of issue 'e', the parent issues shows a,b,c,d.
Is it a bug?
Question 2:
When I want to update the parent of issue 'e' from 'd' to 'a', the browser suspends for a long time and I have to stop it.
The server development log shows the following information for thousand times:
...... CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 341 AND `issues`.`rgt` <= 280) AND (`issues`.id != 51146) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 1 AND `issues`.`rgt` <= 214) AND (`issues`.id != 49315) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 1 AND `issues`.`rgt` <= 214) AND (`issues`.id != 49315) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 341 AND `issues`.`rgt` <= 280) AND (`issues`.id != 51146) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 341 AND `issues`.`rgt` <= 280) AND (`issues`.id != 51146) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 341 AND `issues`.`rgt` <= 280) AND (`issues`.id != 51146) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 341 AND `issues`.`rgt` <= 280) AND (`issues`.id != 51146) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 1 AND `issues`.`rgt` <= 214) AND (`issues`.id != 49315) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 1 AND `issues`.`rgt` <= 214) AND (`issues`.id != 49315) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 341 AND `issues`.`rgt` <= 280) AND (`issues`.id != 51146) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 1 AND `issues`.`rgt` <= 214) AND (`issues`.id != 49315) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 1 AND `issues`.`rgt` <= 214) AND (`issues`.id != 49315) ORDER BY `issues`.`lft` CACHE (0.0ms) SELECT `issues`.* FROM `issues` WHERE `issues`.`root_id` = 49315 AND (`issues`.`lft` >= 341 AND `issues`.`rgt` <= 280) AND (`issues`.id != 51146) ORDER BY `issues`.`lft` ......
And the update fails. Why does it happen?
Environment: Redmine version 2.3.1.stable Ruby version 1.9.3 (i386-mingw32) Rails version 3.2.13 Environment production Database adapter Mysql2 Redmine plugins: no plugin installed
Thanks in advance!!!