apache / apache/druid

Critical Calcite StackOverflowError in 1.21.0 causing failure in WHERE with too many conditions

Open
#10,225 4 comments 0 reactions 0 assignees View on GitHub
Area - SQL Bug
Dominant language
Java
Stars
14.1k
Forks
3.8k
Avg merge
2d 58m
Merged PRs (30d)
233

Description

### Affected Version
0.19.0
### Description
Any SQL query that has ~ hundreds of dimensions in WHERE clause `x = foo OR y = bar` will fail due to
https://issues.apache.org/jira/browse/CALCITE-2792 on `StackOverflowError`

### Solution
Bumping calcice to at least 1.22.0 but there might be some guava conflicts

Contributor guide

Open the contributing guide

Research direction

Start by locating the Calcite dependency declaration and reproduce the reported SQL query with hundreds of OR conditions. Check the proposed Calcite upgrade and investigate the possible Guava conflicts. Done means the query no longer raises StackOverflowError and the dependency set remains compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.