[COMPASS-4233] Long-running pipeline with $merge times out then blocks GUI after loading from saved Created: 08/Apr/20 Updated: 10/Jan/24 Resolved: 03/May/21 |
|
| Status: | Closed |
| Project: | Compass |
| Component/s: | Compass |
| Affects Version/s: | 1.21.0 |
| Fix Version/s: | No version |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Christoph Lange | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Compass 1.21.0-beta.4; MacOS Catalina 10.15.2; MongoDB 4.2.3 Community |
||
| Issue Links: |
|
||||||||
| Documentation Changes: | Not Needed | ||||||||
| Description |
|
After loading a long-running aggregation pipeline with '$merge' in the end into the builder, its last stages time out, the stages are marked (correctly) with their red timeout frames, then blocks the GUI with CPU load of up to 200%. Removing the '$merge' (thanks for saving the pipelines in files now!!!) from the end makes it behave normally again: times out, shows red frames, but GUI usable. Marked as 'critical' because such a pipeline is unusable and more or less 'lost' until fixed manually at the moment. |
| Comments |
| Comment by Maurizio Casimirri [ 03/May/21 ] |
|
Duplicate of |
| Comment by Christoph Lange [ 08/Apr/20 ] |
|
Wait, that's nice, but not the solution to the bug, I think. The behaviour of it up to now is reasonable: when timing out, mark the problem. That's ok, and nice if that changes in the future. But the thing with the bug here is that it doesn't stop doing .... whatever. I've not seen it ending yet, so I assume that it's not just executing the $merge directly on load. Also, it's the Electron process that uses the 200% CPU, not the mongodb process. |
| Comment by Massimiliano Marcon [ 08/Apr/20 ] |
|
christoph@clange.de thank you for the report. We have a project coming up soon that will fix this behavior by running this kind of long operations in the background. |
| Comment by Christoph Lange [ 08/Apr/20 ] |
|
Additional information: using the $merge in the pipeline builder does work, even so after repeated "Save"s. The problem only arises on loading a previously saved pipeline. And in that case already before pressing the button to execute the merge. |