xiangfu0 opened a new pull request, #18532: URL: https://github.com/apache/pinot/pull/18532
## Summary - Retry transient count query failures in `StreamOp` while compatibility tests roll brokers and servers. - Handle Pinot broker `exceptions` responses represented as arrays instead of assuming an object. - Add focused coverage for retryable numeric and named query error codes. ## Root cause During MSQE compatibility runs, the stream verifier calls `SELECT count(*) FROM <table>` while components are being restarted or downgraded. The broker response can contain an `exceptions` array. `StreamOp` treated it as an object and dereferenced `errorCode`, producing an NPE instead of retrying transient routing or server errors. ## User manual No table config changes are required. Compatibility suites continue using the same stream op config; the verifier now waits up to 60 seconds for the count query to become stable before failing. Sample verifier query: ```sql SELECT count(*) FROM <table> ``` ## Testing - `./mvnw spotless:apply -pl pinot-compatibility-verifier` - `./mvnw license:format -pl pinot-compatibility-verifier` - `./mvnw checkstyle:check license:check -pl pinot-compatibility-verifier` - `./mvnw -pl pinot-compatibility-verifier -Dtest=StreamOpTest -Dsurefire.failIfNoSpecifiedTests=false test` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
