hossman commented on PR #15784:
URL: https://github.com/apache/lucene/pull/15784#issuecomment-5544033002

   > The queries are marked 
[@lucene.experimental](https://github.com/apache/lucene/blob/553fb33c0ef7c5e6d54ed4f35b966d95cb6535a9/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/plugins/java/RenderJavadocPlugin.java#L502),
 allowing changes to be backwards incompatible
   
   You're right.  
   
   That's totally valid reasoning -- but I feel like there's a difference 
between making backcompat changes that are easy to catch because of 
compilation/linkage failures, and a binary compatible API that (IIUC) 
interprets it's arguments in _roughly_ the opposite of what it use to.  (I've 
seen a lot of `@lucene.experimental` backcompat breaks that cause compilation 
failures -- but i don't think i've ever seen one like this)
   
   > Given that Lucene 10.5.2 bugfix is in process, I wonder if we can re-add 
the old collector from 10.4 and expose a new deprecated static method (say 
FloatVectorSimilarity.legacyQuery) for users that discover this incompatible 
change, and can continue with the old behavior without copying the class 
outside Lucene, like you had to.
   
   I'll leave that up to you ... it won't necessarily help users discover this 
change, but for users who do discover it it would certainly simplify the 
process for reclaiming the old behavior.
   
   straw man extension of your idea: Since these classes are 
`@lucene.experimental`, we could even remove the public constructors completely 
-- so anyone using these classes gets a compilation error (regardless of 
whether they are expecting the args to mean 
`traversalSimilarity,resultSimilarity` or `resultSimilarity,decay`) and replace 
them with factory methods -- Marking the `traversalSimilarity` factory methods 
deprecated.


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