fix(sql): potential segfault on vectorized GROUP BY query timeout#6667
fix(sql): potential segfault on vectorized GROUP BY query timeout#6667bluestreak01 merged 3 commits intomasterfrom
Conversation
WalkthroughMemory cleanup in vectorized group-by cursor factories is refactored to move resource deallocation from catch blocks to finally blocks, ensuring consistent cleanup regardless of error state. New timeout tests are added for vectorized group-by scenarios, and certain existing test cases are disabled. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
[PR Coverage check]😍 pass : 3 / 3 (100.00%) file detail
|
When a timeout occurred in a vectorized parallel GROUP BY query like
SELECT sum(price) FROM trades WHERE ts IN today();, a segfault could happen crashing QuestDB process. That's because frame memory pools used by worker threads were released without properly waiting for all tasks to be processed, i.e. concurrently with the aggregation.