Skip to content

Fail fast on stackql planner errors, bump to 2.1.1 - #55

Merged
jeffreyaven merged 1 commit into
mainfrom
fix/fail-fast-planner-errors
Aug 24, 2026
Merged

Fail fast on stackql planner errors, bump to 2.1.1#55
jeffreyaven merged 1 commit into
mainfrom
fix/fail-fast-planner-errors

Conversation

@jeffreyaven

Copy link
Copy Markdown
Member

Summary

Fixes an issue where stackql planner/compiler errors were retried in the exists/statecheck loop even though they can never succeed, e.g.:

stackql  >>SELECT COUNT(*) as count FROM awscc.rds.db_instances WHERE region = 'ap-southeast-2' AND ... AND DBInstanceStatus = 'available' ...;
could not locate symbol DBInstanceStatus

The error arrives over pgwire as an ErrorResponse, but check_fatal_error did not recognize it, so run_stackql_query (with suppress_errors=true) returned a soft error marker and perform_retries kept looping until the retry budget was exhausted.

Changes

  • Added a planner/compiler error category to FATAL_ERROR_PATTERNS in src/core/errors.rs: could not locate symbol, cannot find matching operation, syntax error at position, disparity in fields to insert. These are deterministic failures, so they now abort the operation immediately via the existing fatal-error checks in the query/command retry paths.
  • Added unit tests for the new patterns.
  • Bumped version to 2.1.1 and updated the changelog.

🤖 Generated with Claude Code

Planner/compiler errors (could not locate symbol, cannot find matching
operation, syntax error at position, disparity in fields to insert) are
deterministic and can never succeed on retry, but were swallowed by the
exists/statecheck retry loop and retried until the budget was exhausted.
They are now classified as fatal in check_fatal_error and abort the
operation immediately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jeffreyaven
jeffreyaven merged commit f838d68 into main Aug 24, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant