[ 
https://issues.apache.org/jira/browse/SOLR-16061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17506869#comment-17506869
 ] 

Jan Høydahl commented on SOLR-16061:
------------------------------------

One question that popped up when looking at this again:

This Jira removes some public methods from {{{}BaseCloudSolrClient{}}}:
{code:java}
public String getZkHost()
public ZkStateReader getZkStateReader()
public void setZkConnectTimeout(int zkConnectTimeout)
public void setZkClientTimeout(int zkClientTimeout)
{code}
These methods have never been marked as deprecated, so users upgrading SolrJ 
from 8.11 to 9.0 will start seeing {{NoSuchMethodException}} in their 
applications. What should we do about it?

Option A is to deprecate those methods in 8.11.2 and then claim that users have 
been warned and have an upgrade path where they can adjust to the new API. That 
also means we need to add the {{public static ZkClientClusterStateProvider 
from(BaseCloudSolrClient client)}} to 8.11.2. I sounds like a stretch for a 
bugfix release but is would provide a smoother upgrade path.

Option B is to keep these methods around for 9.x with deprecation will make it 
impossible to split Zookeeper into its own package in 9.x on the API level. We 
could still split on a gradle/jar level, and then users of these deprecated 
methods would get {{ClassNotFoundException}} but they would have been warned by 
the deprecation notice.

Option C is to do nothing and accept an un-announced breaking change between 
8.11 and 9.0. This does not need to be as dramatic as it sounds, as we could 
clearly document an upgrade path where users keep their application-side SolrJ 
clients on v 8.11.1 (assuming they have no issue talking to a 9.0 server), and 
then upgrade their application-side SolrJ as a separate step.

I think I would prefer A), but open for discussion. WDYT

> Decouple CloudSolrClient from ZkStateReader
> -------------------------------------------
>
>                 Key: SOLR-16061
>                 URL: https://issues.apache.org/jira/browse/SOLR-16061
>             Project: Solr
>          Issue Type: Task
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Jan Høydahl
>            Priority: Blocker
>             Fix For: 9.0
>
>          Time Spent: 3h 50m
>  Remaining Estimate: 0h
>
> Spinoff from SOLR-15342
> We need to decouple CloudSolrClient from Zookeeper, to prepare for a future 
> modularization of solrj. This should be targetet for 9.0.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to