The GitHub Actions job "Build" on jackrabbit-oak.git/GRANITE-70592 has failed.
Run started by GitHub user alagodasii (triggered by alagodasii).

Head commit for run:
86dceca07d1554fe02617597d66ffe9fdd5e6a28 / sii62122 <[email protected]>
GRANITE-70592: Log Elastic query-parsing errors as WARN and cache repeated 
invalid queries

The ES results dashboard aggregates errors happening at ES level. Malformed
full-text queries (often attack/probing traffic, e.g. log4shell-style
payloads) cause Elastic to fail with a query-parsing error that was
previously logged at ERROR in ElasticResultRowAsyncIterator, and every
repeat of the same bad query still round-tripped to Elastic.

- Detect Elastic query-parsing errors (walking the ErrorCause/causedBy/
  rootCause chain for parse-related types/reasons) and log them at WARN
  instead of ERROR, since they are caused by the query itself and are
  expected to recur identically, not a genuine Elastic system issue.
- Add ElasticInvalidQueryCache, a small bounded/TTL cache of queries that
  recently failed with a parsing error, so identical subsequent queries
  are short-circuited (no Elastic call, graceful empty result) instead of
  repeatedly hitting Elastic. Disabled by default behind the FT_OAK-70592
  feature toggle, following this module's existing toggle convention.
- Update ElasticFullTextAnalyzerTest to expect WARN for the existing
  unescaped-braces parsing-error scenario, aligning with the Lucene
  backend's existing behavior for the same case.
- Add unit tests for the new cache and the parsing-error detection logic.

Co-authored-by: Copilot <[email protected]>

Report URL: https://github.com/apache/jackrabbit-oak/actions/runs/37447766826

With regards,
GitHub Actions via GitBox

Reply via email to