SOLR-14022: Deprecate CDCR

This commit is contained in:
Ishan Chattopadhyaya 2020-07-02 16:29:29 +05:30
parent 3f9cc227f1
commit 7c593b1940
11 changed files with 25 additions and 0 deletions

View File

@ -436,6 +436,8 @@ Other Changes
* SOLR-14541: Ensure classes that implement equals implement hashCode or suppress warnings
(gezapeti, Ilan Ginsburg, Erick Erickson)
* SOLR-14022: Deprecate CDCR (Joel Bernstein, Ishan Chattopadhyaya)
================== 8.5.2 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.

View File

@ -32,7 +32,9 @@ import java.nio.charset.Charset;
/**
* Manage the state of the update log buffer. It is responsible of synchronising the state
* through Zookeeper. The state of the buffer is stored in the zk node defined by {@link #getZnodePath()}.
* @deprecated since 8.6
*/
@Deprecated(since = "8.6")
class CdcrBufferStateManager extends CdcrStateManager {
private CdcrParams.BufferState state = DEFAULT_STATE;

View File

@ -36,7 +36,9 @@ import org.slf4j.LoggerFactory;
* It takes care of notifying the {@link CdcrReplicatorManager} in case
* of a leader state change.
* </p>
* @deprecated since 8.6
*/
@Deprecated(since = "8.6")
class CdcrLeaderStateManager extends CdcrStateManager {
private boolean amILeader = false;

View File

@ -36,7 +36,9 @@ import org.slf4j.LoggerFactory;
* It takes care of notifying the {@link CdcrReplicatorManager} in case
* of a process state change.
* </p>
* @deprecated since 8.6
*/
@Deprecated(since = "8.6")
class CdcrProcessStateManager extends CdcrStateManager {
private CdcrParams.ProcessState state = DEFAULT_STATE;

View File

@ -39,7 +39,9 @@ import static org.apache.solr.common.params.CommonParams.VERSION_FIELD;
* The replication logic. Given a {@link org.apache.solr.handler.CdcrReplicatorState}, it reads all the new entries
* in the update log and forward them to the target cluster. If an error occurs, the replication is stopped and
* will be tried again later.
* @deprecated since 8.6
*/
@Deprecated(since = "8.6")
public class CdcrReplicator implements Runnable {
private final CdcrReplicatorState state;

View File

@ -56,6 +56,7 @@ import org.slf4j.LoggerFactory;
import static org.apache.solr.handler.admin.CoreAdminHandler.RESPONSE_STATUS;
@Deprecated(since = "8.6")
class CdcrReplicatorManager implements CdcrStateManager.CdcrStateObserver {
private static final int MAX_BOOTSTRAP_ATTEMPTS = 5;

View File

@ -107,7 +107,9 @@ import static org.apache.solr.handler.admin.CoreAdminHandler.RUNNING;
* Known limitations: The source and target clusters must have the same topology. Replication between clusters
* with a different number of shards will likely results in an inconsistent index.
* </p>
* @deprecated since 8.6
*/
@Deprecated(since = "8.6")
public class CdcrRequestHandler extends RequestHandlerBase implements SolrCoreAware {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@ -133,6 +135,8 @@ public class CdcrRequestHandler extends RequestHandlerBase implements SolrCoreAw
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
super.init(args);
log.warn("CDCR (in its current form) is deprecated as of 8.6 and shall be removed in 9.0. See SOLR-14022 for details.");
if (args != null) {
// Configuration of the Update Log Synchronizer
Object updateLogSynchonizerParam = args.get(CdcrParams.UPDATE_LOG_SYNCHRONIZER_PARAM);

View File

@ -43,7 +43,9 @@ import org.slf4j.LoggerFactory;
* decoded and reuse if the tlog file is reopened. This is achieved by extending the constructor, and the
* methods {@link #writeCommit(CommitUpdateCommand)} and {@link #getReader(long)}.</li>
* </ul>
* @deprecated since 8.6
*/
@Deprecated(since = "8.6")
public class CdcrTransactionLog extends TransactionLog {
private boolean isReplaying;

View File

@ -36,7 +36,9 @@ import org.slf4j.LoggerFactory;
* for every updates. This ensures that the version parameter sent by the source cluster is kept
* by the target cluster.
* </p>
* @deprecated since 8.6
*/
@Deprecated(since = "8.6")
public class CdcrUpdateProcessor extends DistributedZkUpdateProcessor {
public static final String CDCR_UPDATE = "cdcr.update";

View File

@ -17,6 +17,8 @@
// specific language governing permissions and limitations
// under the License.
WARNING: This feature (in its current form) is deprecated as of 8.6 and shall be removed in 9.0. See SOLR-14022 for details.
Cross Data Center Replication (CDCR) allows you to create multiple SolrCloud data centers and keep them in sync.
== What is CDCR?

View File

@ -85,6 +85,10 @@ For more information about how to use this, see the section <<exporting-result-s
* The `stats`, `facet`, and `timeseries` expressions now support percentiles and standard deviation aggregations.
*Deprecations*
* Cross Data Center Replication (CDCR), in its current form, is deprecated and is scheduled to be removed in 9.0. Please refer to SOLR-14022.
=== Solr 8.5
See the https://cwiki.apache.org/confluence/display/SOLR/ReleaseNote85[8.5 Release Notes]