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]

Reply via email to