arup-chauhan opened a new pull request, #4159:
URL: https://github.com/apache/solr/pull/4159

   ## Description
     This PR adds parity coverage for `SOLR-18039` by validating repeated 
`parents.preFilter` behavior on the byte-vector nested KNN paths. The core 
parser fix was merged in [#4139](https://github.com/apache/solr/pull/4139); 
this follow-up keeps scope narrow to test coverage only.
   
     ## Context from issue discussion
     In [`SOLR-18039`](https://issues.apache.org/jira/browse/SOLR-18039), we 
fixed repeated `parents.preFilter` handling and added focused float-path 
coverage. The remaining gap
     was parity validation for equivalent byte-vector nested parent-retrieval 
flows, so this PR closes that gap without extending scope into parser 
refactoring yet.
   
     ## Changes
     - Added parity tests for repeated `parents.preFilter` in byte-vector 
nested parent retrieval.
     - Added parity tests for repeated `parents.preFilter` in byte-vector 
nested parent retrieval with child `preFilter`.
     - Assertions verify intersection semantics for multiple parent filters, 
matching the expected behavior already covered on the float path.
   
     ## Behavior / Safety
     - Compatibility: no API or runtime behavior changes.
     - Fallback path: existing query execution and filter wiring remain 
unchanged; this PR only adds coverage.
     - Risk boundary: test-only change, focused on regression protection for 
the byte-vector path.
     - Unchanged: parser logic, scoring behavior, request parameter contract, 
and single-filter behavior from 
[#4139](https://github.com/apache/solr/pull/4139).
   
     ## Validation
     Ran with Java `21` active (`jenv`/`JAVA_HOME` set to `21`):
   
     - `./gradlew -p solr/core test --tests 
org.apache.solr.search.join.BlockJoinNestedVectorsQParserTest --tests
     org.apache.solr.search.join.BlockJoinNestedVectorsParentQParserTest`
       Outcome: `BUILD SUCCESSFUL` (`:solr:core:test`, `17` tests).
     - `./gradlew tidy`
       Outcome: `BUILD SUCCESSFUL`.
     - `./gradlew check -x test`
       Outcome: `BUILD SUCCESSFUL`.
   
     ## Follow-ups
     A separate small cleanup PR can still be done to consolidate shared 
filter-subquery parsing between `preFilter` and `parents.preFilter` paths, 
keeping behavior unchanged.


-- 
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