You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by is...@apache.org on 2020/07/02 00:36:54 UTC

[lucene-solr] branch jira/solr-14022 created (now 57663dc)

This is an automated email from the ASF dual-hosted git repository.

ishan pushed a change to branch jira/solr-14022
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git.


      at 57663dc  SOLR-14022: Deprecate CDCR

This branch includes the following new commits:

     new 57663dc  SOLR-14022: Deprecate CDCR

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[lucene-solr] 01/01: SOLR-14022: Deprecate CDCR

Posted by is...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ishan pushed a commit to branch jira/solr-14022
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit 57663dcc3391f70d21bdcbea577748b2b6b595c1
Author: Ishan Chattopadhyaya <is...@apache.org>
AuthorDate: Thu Jul 2 06:06:36 2020 +0530

    SOLR-14022: Deprecate CDCR
---
 solr/CHANGES.txt                                                      | 2 ++
 .../core/src/java/org/apache/solr/handler/CdcrBufferStateManager.java | 2 ++
 .../core/src/java/org/apache/solr/handler/CdcrLeaderStateManager.java | 2 ++
 .../src/java/org/apache/solr/handler/CdcrProcessStateManager.java     | 2 ++
 solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java        | 2 ++
 solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java | 1 +
 solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java    | 4 ++++
 solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java     | 2 ++
 .../java/org/apache/solr/update/processor/CdcrUpdateProcessor.java    | 2 ++
 solr/solr-ref-guide/src/cross-data-center-replication-cdcr.adoc       | 2 ++
 solr/solr-ref-guide/src/solr-upgrade-notes.adoc                       | 4 ++++
 11 files changed, 25 insertions(+)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 1eef58e..c57266d 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -413,6 +413,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.
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrBufferStateManager.java b/solr/core/src/java/org/apache/solr/handler/CdcrBufferStateManager.java
index 5a9add8..49d19f1 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrBufferStateManager.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrBufferStateManager.java
@@ -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;
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrLeaderStateManager.java b/solr/core/src/java/org/apache/solr/handler/CdcrLeaderStateManager.java
index ac80c36..c9bc5fd 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrLeaderStateManager.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrLeaderStateManager.java
@@ -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;
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrProcessStateManager.java b/solr/core/src/java/org/apache/solr/handler/CdcrProcessStateManager.java
index 9b4cc80..6506030 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrProcessStateManager.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrProcessStateManager.java
@@ -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;
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java b/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java
index 1f41cc3..936750e 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrReplicator.java
@@ -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;
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java b/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
index 01a0c4d..1f9d1f9 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
@@ -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;
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
index e7211f4..8e77a84 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrRequestHandler.java
@@ -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);
diff --git a/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java b/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java
index fbf6861..86cee71 100644
--- a/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java
+++ b/solr/core/src/java/org/apache/solr/update/CdcrTransactionLog.java
@@ -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;
diff --git a/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java
index fe13a91..180784a 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/CdcrUpdateProcessor.java
@@ -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";
diff --git a/solr/solr-ref-guide/src/cross-data-center-replication-cdcr.adoc b/solr/solr-ref-guide/src/cross-data-center-replication-cdcr.adoc
index 114d508..67747fd 100644
--- a/solr/solr-ref-guide/src/cross-data-center-replication-cdcr.adoc
+++ b/solr/solr-ref-guide/src/cross-data-center-replication-cdcr.adoc
@@ -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?
diff --git a/solr/solr-ref-guide/src/solr-upgrade-notes.adoc b/solr/solr-ref-guide/src/solr-upgrade-notes.adoc
index 1fbe747..1c1f154 100644
--- a/solr/solr-ref-guide/src/solr-upgrade-notes.adoc
+++ b/solr/solr-ref-guide/src/solr-upgrade-notes.adoc
@@ -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]