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/04 07:01:32 UTC

[lucene-solr] 01/01: SOLR-14021: Deprecate HDFS support

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

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

commit 8abff638134a04610c3567a8f9bafc79c43210cb
Author: Ishan Chattopadhyaya <is...@apache.org>
AuthorDate: Sat Jul 4 12:31:05 2020 +0530

    SOLR-14021: Deprecate HDFS support
---
 .../src/java/org/apache/solr/core/HdfsDirectoryFactory.java   |  4 ++++
 .../solr/core/backup/repository/HdfsBackupRepository.java     | 11 +++++++++++
 .../src/java/org/apache/solr/store/hdfs/HdfsDirectory.java    |  6 ++++++
 .../src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java   |  4 +++-
 .../java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java |  4 ++++
 .../src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java  |  4 ++++
 .../src/java/org/apache/solr/update/HdfsTransactionLog.java   |  2 ++
 solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java  |  6 +++++-
 solr/solr-ref-guide/src/running-solr-on-hdfs.adoc             |  2 ++
 solr/solr-ref-guide/src/solr-upgrade-notes.adoc               |  2 ++
 10 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
index 8782371..6b77617 100644
--- a/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
@@ -71,6 +71,10 @@ import org.slf4j.LoggerFactory;
 
 import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION;
 
+/**
+ * @deprecated since 8.6
+ */
+@Deprecated
 public class HdfsDirectoryFactory extends CachingDirectoryFactory implements SolrCoreAware, SolrMetricProducer {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   
diff --git a/solr/core/src/java/org/apache/solr/core/backup/repository/HdfsBackupRepository.java b/solr/core/src/java/org/apache/solr/core/backup/repository/HdfsBackupRepository.java
index 1e9da27..30d58fe 100644
--- a/solr/core/src/java/org/apache/solr/core/backup/repository/HdfsBackupRepository.java
+++ b/solr/core/src/java/org/apache/solr/core/backup/repository/HdfsBackupRepository.java
@@ -22,6 +22,7 @@ import java.io.OutputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Objects;
+import java.lang.invoke.MethodHandles;
 
 import com.google.common.base.Preconditions;
 import org.apache.hadoop.conf.Configuration;
@@ -40,8 +41,16 @@ import org.apache.solr.core.DirectoryFactory;
 import org.apache.solr.core.HdfsDirectoryFactory;
 import org.apache.solr.store.hdfs.HdfsDirectory;
 import org.apache.solr.store.hdfs.HdfsDirectory.HdfsIndexInput;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
+/**
+ * @deprecated since 8.6
+ */
+@Deprecated
 public class HdfsBackupRepository implements BackupRepository {
+  private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
   private static final String HDFS_UMASK_MODE_PARAM = "solr.hdfs.permissions.umask-mode";
   private static final String HDFS_COPY_BUFFER_SIZE_PARAM = "solr.hdfs.buffer.size";
 
@@ -58,6 +67,8 @@ public class HdfsBackupRepository implements BackupRepository {
   public void init(NamedList args) {
     this.config = args;
 
+    log.warn("HDFS support in Solr has been deprecated as of 8.6. See SOLR-14021 for details.");
+
     // Configure the size of the buffer used for copying index files to/from HDFS, if specified.
     if (args.get(HDFS_COPY_BUFFER_SIZE_PARAM) != null) {
       this.copyBufferSize = (Integer)args.get(HDFS_COPY_BUFFER_SIZE_PARAM);
diff --git a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
index 6efe2cd..af8a540 100644
--- a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
+++ b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
@@ -44,6 +44,11 @@ import org.apache.solr.store.blockcache.CustomBufferedIndexInput;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * @deprecated since 8.6
+ */
+
+@Deprecated
 public class HdfsDirectory extends BaseDirectory {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   public static final int DEFAULT_BUFFER_SIZE = 4096;
@@ -97,6 +102,7 @@ public class HdfsDirectory extends BaseDirectory {
       org.apache.solr.common.util.IOUtils.closeQuietly(fileSystem);
       throw new RuntimeException("Problem creating directory: " + hdfsDirPath, e);
     }
+    log.warn("HDFS support in Solr has been deprecated as of 8.6. See SOLR-14021 for details.");
   }
   
   @Override
diff --git a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java
index 4099d95..24830c0 100644
--- a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java
+++ b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java
@@ -30,8 +30,10 @@ import org.apache.lucene.store.OutputStreamIndexOutput;
 
 /**
  * @lucene.experimental
+ * @deprecated since 8.6
  */
-public class HdfsFileWriter extends OutputStreamIndexOutput {
+@Deprecated
+ublic class HdfsFileWriter extends OutputStreamIndexOutput {
   
   public static final String HDFS_SYNC_BLOCK = "solr.hdfs.sync.block";
   public static final int BUFFER_SIZE = 16384;
diff --git a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java
index 152d152..6ff88f2 100644
--- a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java
+++ b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java
@@ -35,6 +35,10 @@ import org.apache.solr.metrics.SolrMetricsContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * @deprecated since 8.6
+ */
+@Deprecated
 public class HdfsLocalityReporter implements SolrInfoBean {
   public static final String LOCALITY_BYTES_TOTAL = "locality.bytes.total";
   public static final String LOCALITY_BYTES_LOCAL = "locality.bytes.local";
diff --git a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java
index c62b5f4..0b4e2e3 100644
--- a/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java
+++ b/solr/core/src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java
@@ -34,6 +34,10 @@ import org.apache.solr.common.util.IOUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * @deprecated since 8.6
+ */
+@Deprecated
 public class HdfsLockFactory extends LockFactory {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   
diff --git a/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java b/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java
index 957a1ca..2987aec 100644
--- a/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java
+++ b/solr/core/src/java/org/apache/solr/update/HdfsTransactionLog.java
@@ -57,7 +57,9 @@ import org.slf4j.LoggerFactory;
  *  This would also allow to not log document data for requests with commit=true
  *  in them (since we know that if the request succeeds, all docs will be committed)
  *
+ * @deprecated since 8.6
  */
+@Deprecated
 public class HdfsTransactionLog extends TransactionLog {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
   private static boolean debug = log.isDebugEnabled();
diff --git a/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java b/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java
index f496a28..5dbd53d 100644
--- a/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java
+++ b/solr/core/src/java/org/apache/solr/update/HdfsUpdateLog.java
@@ -42,7 +42,11 @@ import org.apache.solr.util.HdfsUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/** @lucene.experimental */
+/**
+ * @lucene.experimental
+ * @deprecated since 8.6
+ */
+@Deprecated
 public class HdfsUpdateLog extends UpdateLog {
   
   private final Object fsLock = new Object();
diff --git a/solr/solr-ref-guide/src/running-solr-on-hdfs.adoc b/solr/solr-ref-guide/src/running-solr-on-hdfs.adoc
index 92c32b7..44797fc 100644
--- a/solr/solr-ref-guide/src/running-solr-on-hdfs.adoc
+++ b/solr/solr-ref-guide/src/running-solr-on-hdfs.adoc
@@ -16,6 +16,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
+WARNING: HDFS support in Solr is deprecated as of 8.6 and maybe be removed in 9.0. See SOLR-14021 for details.
+
 Solr has support for writing and reading its index and transaction log files to the HDFS distributed filesystem.
 
 This does not use Hadoop MapReduce to process Solr data, rather it only uses the HDFS filesystem for index and transaction log file storage.
diff --git a/solr/solr-ref-guide/src/solr-upgrade-notes.adoc b/solr/solr-ref-guide/src/solr-upgrade-notes.adoc
index 207e448..927bf3b 100644
--- a/solr/solr-ref-guide/src/solr-upgrade-notes.adoc
+++ b/solr/solr-ref-guide/src/solr-upgrade-notes.adoc
@@ -99,6 +99,8 @@ Windows SMB shares on the UNC format, such as `\\myhost\myshare\mypath` are now
 
 * Data Import Handler is deprecated and is scheduled to be removed in 9.0. A community supported version of this may be available as an external package to be used with the package management system. For more details, please refer to SOLR-14066.
 
+* HDFS support in Solr is deprecated and is scheduled to be removed in 9.0. A community supported version of this may be available as an external package to be used with the package management system. For more details, please refer to SOLR-14021.
+
 === Solr 8.5
 
 See the https://cwiki.apache.org/confluence/display/SOLR/ReleaseNote85[8.5 Release Notes]