diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index c4b21f7fc83b..60cc417b9e8d 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -447,6 +447,9 @@ Other Changes * SOLR-14066: Data Import Handler is deprecated. It is scheduled to be removed as of 9.0 and a community supported package for the same may now be used instead. (Ishan Chattopadhyaya, janhoy) +* SOLR-14021: HDFS support is deprecated. It is scheduled to be removed as of 9.0. Please see JIRA for more details. + (Joel Bernstein, Ishan Chattopadhyaya) + * SOLR-14603: Upgrade Restlet to 2.4.3 (marcussorealheis) ================== 8.5.2 ================== 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 8782371e7e73..6b776177d47a 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 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 1e9da27451ea..30d58fe57d77 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.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.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 6efe2cde562e..af8a54002779 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.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 HdfsDirectory(Path hdfsDirPath, LockFactory lockFactory, Configuration co 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 4099d958e6c2..e8c9db306303 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,7 +30,9 @@ /** * @lucene.experimental + * @deprecated since 8.6 */ +@Deprecated public class HdfsFileWriter extends OutputStreamIndexOutput { public static final String HDFS_SYNC_BLOCK = "solr.hdfs.sync.block"; 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 152d15290306..6ff88f273bd2 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.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 c62b5f4a4aae..0b4e2e33c9ca 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.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 957a1cacc7a6..2987aec905e8 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 @@ * 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 f496a285dbc8..5dbd53d504fc 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.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 92c32b70d37b..44797fc8486f 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 207e4484b4a9..927bf3b78e30 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]