[C++][Gandiva] Deal with functions that have lock contention
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
The Gandiva Cache code deal with expressions that contains RE2 patterns in a different way than the other expressions, as one can see in this line in code:
But it is not dealing with all available functions with RE2 patterns, it is missing the following ones:
- ILIKE
- REGEXP_REPLACE
**Reporter**: [Anthony Louis Gotlib Ferreira](https://issues.apache.org/jira/browse/ARROW-15391) / @anthonylouisbsb
#### PRs and other links:
- [GitHub Pull Request #12209](https://github.com/apache/arrow/pull/12209)
**Note**: *This issue was originally created as [ARROW-15391](https://issues.apache.org/jira/browse/ARROW-15391). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Start in cpp/src/gandiva/expression_cache_key.h at the linked logic and compare how RE2-pattern functions are handled. Review pull request #12209, then verify that ILIKE and REGEXP_REPLACE receive the same cache treatment as the other listed expressions without lock contention.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100