This is an automated email from the ASF dual-hosted git repository.
krisden pushed a commit to branch branch_9_0
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9_0 by this push:
new 92f2928 SOLR-16040: Fix split packages in hdfs module
92f2928 is described below
commit 92f292868285909cb04a3a049cdeac08b24f6c5b
Author: Kevin Risden <[email protected]>
AuthorDate: Tue Feb 22 13:41:34 2022 -0500
SOLR-16040: Fix split packages in hdfs module
---
gradle/documentation/render-javadoc.gradle | 13 ---------
solr/CHANGES.txt | 2 ++
.../org/apache/solr/core/SolrResourceLoader.java | 2 +-
.../org/apache/solr/update/TransactionLog.java | 12 ++++----
.../src/java/org/apache/solr/update/UpdateLog.java | 25 ++++++++---------
.../solr/{core => hdfs}/HdfsDirectoryFactory.java | 29 ++++++++++++--------
.../backup/repository/HdfsBackupRepository.java | 9 +++---
.../backup/repository}/package-info.java | 4 +--
.../{index/hdfs => hdfs/index}/CheckHdfsIndex.java | 8 +++---
.../{index/hdfs => hdfs/index}/package-info.java | 2 +-
.../apache/solr/{store => }/hdfs/package-info.java | 4 +--
.../snapshots/SolrSnapshotsTool.java | 4 ++-
.../hdfs => hdfs/snapshots}/package-info.java | 4 +--
.../{store/hdfs => hdfs/store}/HdfsDirectory.java | 4 +--
.../{store/hdfs => hdfs/store}/HdfsFileWriter.java | 2 +-
.../hdfs => hdfs/store}/HdfsLocalityReporter.java | 2 +-
.../hdfs => hdfs/store}/HdfsLockFactory.java | 2 +-
.../{ => hdfs}/store/blockcache/BlockCache.java | 2 +-
.../{ => hdfs}/store/blockcache/BlockCacheKey.java | 2 +-
.../store/blockcache/BlockCacheLocation.java | 2 +-
.../store/blockcache/BlockDirectory.java | 4 +--
.../store/blockcache/BlockDirectoryCache.java | 4 +--
.../{ => hdfs}/store/blockcache/BlockLocks.java | 2 +-
.../{ => hdfs}/store/blockcache/BufferStore.java | 2 +-
.../solr/{ => hdfs}/store/blockcache/Cache.java | 2 +-
.../store/blockcache/CachedIndexOutput.java | 2 +-
.../store/blockcache/CustomBufferedIndexInput.java | 2 +-
.../solr/{ => hdfs}/store/blockcache/Metrics.java | 2 +-
.../blockcache/ReusedBufferedIndexOutput.java | 2 +-
.../solr/{ => hdfs}/store/blockcache/Store.java | 2 +-
.../{ => hdfs}/store/blockcache/package-info.java | 2 +-
.../{store/hdfs => hdfs/store}/package-info.java | 2 +-
.../solr/{ => hdfs}/update/HdfsTransactionLog.java | 11 +++++---
.../solr/{ => hdfs}/update/HdfsUpdateLog.java | 9 ++++--
.../{index/hdfs => hdfs/update}/package-info.java | 4 +--
.../util/HdfsRecoverLeaseFileSystemUtils.java} | 9 ++++--
.../org/apache/solr/{ => hdfs}/util/HdfsUtil.java | 2 +-
.../{store/hdfs => hdfs/util}/package-info.java | 4 +--
solr/modules/hdfs/src/test-files/core-site.xml | 4 +--
.../datanode/fsdataset/impl/BlockPoolSlice.java | 2 +-
.../{core => hdfs}/HdfsDirectoryFactoryTest.java | 6 ++--
.../HdfsBackupRepositoryIntegrationTest.java | 7 +++--
.../repository/HdfsBackupRepositoryTest.java | 6 ++--
.../cloud}/DisableKeyStoresFactory.java | 2 +-
.../cloud}/HdfsBasicDistributedZk2Test.java | 2 +-
.../cloud}/HdfsBasicDistributedZkTest.java | 2 +-
.../cloud}/HdfsChaosMonkeyNothingIsSafeTest.java | 5 ++--
.../cloud}/HdfsChaosMonkeySafeLeaderTest.java | 8 +++---
.../cloud/HdfsCollectionsApiTest.java} | 4 +--
.../hdfs => hdfs/cloud}/HdfsFakeGroupMapping.java | 2 +-
.../cloud/HdfsNameNodeFailoverTest.java} | 6 ++--
.../hdfs => hdfs/cloud}/HdfsRecoverLeaseTest.java | 32 ++++++++++++++--------
.../hdfs => hdfs/cloud}/HdfsRecoveryZkTest.java | 2 +-
.../cloud}/HdfsRestartWhileUpdatingTest.java | 5 ++--
.../hdfs => hdfs/cloud}/HdfsSyncSliceTest.java | 2 +-
.../{cloud/hdfs => hdfs/cloud}/HdfsTestUtil.java | 8 +++---
.../hdfs => hdfs/cloud}/HdfsThreadLeakTest.java | 2 +-
.../HdfsTlogReplayBufferedWhileIndexingTest.java | 2 +-
.../cloud}/HdfsUnloadDistributedZkTest.java | 2 +-
.../cloud}/HdfsWriteToMultipleCollectionsTest.java | 12 ++++----
.../cloud/MoveReplicaHdfsFailoverTest.java} | 6 ++--
.../cloud/MoveReplicaHdfsTest.java} | 6 ++--
.../SharedFileSystemAutoReplicaFailoverTest.java} | 9 +++---
.../{cloud/hdfs => hdfs/cloud}/StressHdfsTest.java | 2 +-
.../HdfsCloudIncrementalBackupTest.java | 7 +++--
.../HdfsCollectionsApiDistributedZkTest.java} | 8 ++++--
.../collections/TestHdfsCloudBackupRestore.java | 9 +++---
.../handler/TestHdfsBackupRestoreCore.java | 10 +++++--
.../hdfs => hdfs/index}/CheckHdfsIndexTest.java | 6 ++--
.../solr/{ => hdfs}/search/TestRecoveryHdfs.java | 6 ++--
.../hdfs => hdfs/store}/HdfsDirectoryTest.java | 4 +--
.../hdfs => hdfs/store}/HdfsLockFactoryTest.java | 4 +--
.../store/blockcache/BlockCacheTest.java | 2 +-
.../store/blockcache/BlockDirectoryTest.java | 2 +-
.../store/blockcache/BufferStoreTest.java | 2 +-
.../solr/{ => hdfs}/update/TestHdfsUpdateLog.java | 7 +++--
solr/server/scripts/cloud-scripts/snapshotscli.sh | 4 +--
.../pages/index-location-format.adoc | 2 +-
.../deployment-guide/pages/backup-restore.adoc | 2 +-
.../pages/major-changes-in-solr-9.adoc | 2 ++
...bstractCollectionsAPIDistributedZkTestBase.java | 2 +-
81 files changed, 230 insertions(+), 196 deletions(-)
diff --git a/gradle/documentation/render-javadoc.gradle
b/gradle/documentation/render-javadoc.gradle
index b111cdc..c56f609 100644
--- a/gradle/documentation/render-javadoc.gradle
+++ b/gradle/documentation/render-javadoc.gradle
@@ -163,19 +163,6 @@ configure(project(":solr:test-framework")) {
}
}
-configure(project(":solr:modules:hdfs")) {
- project.tasks.withType(RenderJavadocTask) {
- // TODO: clean up split packages
- javadocMissingIgnore = [
- "org.apache.solr.core",
- "org.apache.solr.core.backup.repository",
- "org.apache.solr.core.snapshots",
- "org.apache.solr.update",
- "org.apache.solr.util"
- ]
- }
-}
-
// Fix for Java 11 Javadoc tool that cannot handle split packages between
modules correctly.
// (by removing all the packages which are part of lucene-core)
// See:
https://issues.apache.org/jira/browse/LUCENE-8738?focusedCommentId=16818106&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16818106
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 5103f2f..ed50b36 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -52,6 +52,8 @@ New Features
* SOLR-14660: Move HDFS support to a new HDFS module (Istvan Farkas, Kevin
Risden)
+* SOLR-16040: Fix split packages in hdfs module (Kevin Risden)
+
* SOLR-13989: Move Hadoop Authentication support to a new hadoop-auth module
(Kevin Risden)
* SOLR-15904: Move SQL support to new sql module (Kevin Risden)
diff --git a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
index 5693307..ab3f5e7 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
@@ -88,7 +88,7 @@ public class SolrResourceLoader implements ResourceLoader,
Closeable, SolrClassL
"", "analysis.", "schema.", "handler.", "handler.tagger.", "search.",
"update.", "core.", "response.", "request.",
"update.processor.", "util.", "spelling.", "handler.component.",
"spelling.suggest.", "spelling.suggest.fst.", "rest.schema.analysis.",
"security.", "handler.admin.",
- "security.jwt.", "security.hadoop.", "handler.sql."
+ "security.jwt.", "security.hadoop.", "handler.sql.", "hdfs.",
"hdfs.update."
};
private static final Charset UTF_8 = StandardCharsets.UTF_8;
public static final String SOLR_ALLOW_UNSAFE_RESOURCELOADING_PARAM =
"solr.allow.unsafe.resourceloading";
diff --git a/solr/core/src/java/org/apache/solr/update/TransactionLog.java
b/solr/core/src/java/org/apache/solr/update/TransactionLog.java
index 353bfe0..84fa839 100644
--- a/solr/core/src/java/org/apache/solr/update/TransactionLog.java
+++ b/solr/core/src/java/org/apache/solr/update/TransactionLog.java
@@ -75,18 +75,18 @@ public class TransactionLog implements Closeable {
Path tlog;
FileChannel channel;
OutputStream os;
- FastOutputStream fos; // all accesses to this stream should be
synchronized on "this" (The TransactionLog)
+ protected FastOutputStream fos; // all accesses to this stream should be
synchronized on "this" (The TransactionLog)
int numRecords;
- boolean isBuffer;
+ public boolean isBuffer;
protected volatile boolean deleteOnClose = true; // we can delete old tlogs
since they are currently only used for real-time-get (and in the future,
recovery)
- AtomicInteger refcount = new AtomicInteger(1);
- Map<String, Integer> globalStringMap = new HashMap<>();
- List<String> globalStringList = new ArrayList<>();
+ protected AtomicInteger refcount = new AtomicInteger(1);
+ protected Map<String, Integer> globalStringMap = new HashMap<>();
+ protected List<String> globalStringList = new ArrayList<>();
// write a BytesRef as a byte array
- static final JavaBinCodec.ObjectResolver resolver = new
JavaBinCodec.ObjectResolver() {
+ protected static final JavaBinCodec.ObjectResolver resolver = new
JavaBinCodec.ObjectResolver() {
@Override
public Object resolve(Object o, JavaBinCodec codec) throws IOException {
if (o instanceof BytesRef) {
diff --git a/solr/core/src/java/org/apache/solr/update/UpdateLog.java
b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
index 73ac3d0..04bed04 100644
--- a/solr/core/src/java/org/apache/solr/update/UpdateLog.java
+++ b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
@@ -179,7 +179,7 @@ public class UpdateLog implements PluginInfoInitialized,
SolrMetricProducer {
}
}
- long id = -1;
+ protected long id = -1;
protected volatile State state = State.ACTIVE;
protected TransactionLog bufferTlog;
@@ -238,9 +238,9 @@ public class UpdateLog implements PluginInfoInitialized,
SolrMetricProducer {
protected SyncLevel defaultSyncLevel = SyncLevel.FLUSH;
- volatile UpdateHandler uhandler; // a core reload can change this
reference!
+ protected volatile UpdateHandler uhandler; // a core reload can change
this reference!
protected volatile boolean cancelApplyBufferUpdate;
- List<Long> startingVersions;
+ protected List<Long> startingVersions;
// metrics
protected Gauge<Integer> bufferedOpsGauge;
@@ -723,7 +723,7 @@ public class UpdateLog implements PluginInfoInitialized,
SolrMetricProducer {
}
- void trackDeleteByQuery(String q, long version) {
+ protected void trackDeleteByQuery(String q, long version) {
version = Math.abs(version);
DBQ dbq = new DBQ();
dbq.q = q;
@@ -1393,16 +1393,16 @@ public class UpdateLog implements
PluginInfoInitialized, SolrMetricProducer {
}
- static class Update {
- TransactionLog log;
+ protected static class Update {
+ public TransactionLog log;
long version;
long previousVersion; // for in-place updates
- long pointer;
+ public long pointer;
}
- static class DeleteUpdate {
- long version;
- byte[] id;
+ protected static class DeleteUpdate {
+ public long version;
+ public byte[] id;
public DeleteUpdate(long version, byte[] id) {
this.version = version;
@@ -1411,12 +1411,11 @@ public class UpdateLog implements
PluginInfoInitialized, SolrMetricProducer {
}
public class RecentUpdates implements Closeable {
-
final Deque<TransactionLog> logList; // newest first
List<List<Update>> updateList;
HashMap<Long, Update> updates;
- List<Update> deleteByQueryList;
- List<DeleteUpdate> deleteList;
+ public List<Update> deleteByQueryList;
+ public List<DeleteUpdate> deleteList;
Set<Long> bufferUpdates = new HashSet<>();
public RecentUpdates(Deque<TransactionLog> logList) {
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/HdfsDirectoryFactory.java
similarity index 96%
rename from
solr/modules/hdfs/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/HdfsDirectoryFactory.java
index c4cef6d..9d32e5f 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/HdfsDirectoryFactory.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.core;
+package org.apache.solr.hdfs;
import static
org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION;
@@ -54,20 +54,25 @@ import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.CachingDirectoryFactory;
+import org.apache.solr.core.CoreDescriptor;
+import org.apache.solr.core.DirectoryFactory;
+import org.apache.solr.core.SolrCore;
+import org.apache.solr.core.SolrPaths;
+import org.apache.solr.hdfs.store.HdfsDirectory;
+import org.apache.solr.hdfs.store.HdfsLocalityReporter;
+import org.apache.solr.hdfs.store.HdfsLockFactory;
+import org.apache.solr.hdfs.store.blockcache.BlockCache;
+import org.apache.solr.hdfs.store.blockcache.BlockDirectory;
+import org.apache.solr.hdfs.store.blockcache.BlockDirectoryCache;
+import org.apache.solr.hdfs.store.blockcache.BufferStore;
+import org.apache.solr.hdfs.store.blockcache.Cache;
+import org.apache.solr.hdfs.store.blockcache.Metrics;
+import org.apache.solr.hdfs.update.HdfsUpdateLog;
+import org.apache.solr.hdfs.util.HdfsUtil;
import org.apache.solr.metrics.SolrMetricProducer;
import org.apache.solr.metrics.SolrMetricsContext;
-import org.apache.solr.store.blockcache.BlockCache;
-import org.apache.solr.store.blockcache.BlockDirectory;
-import org.apache.solr.store.blockcache.BlockDirectoryCache;
-import org.apache.solr.store.blockcache.BufferStore;
-import org.apache.solr.store.blockcache.Cache;
-import org.apache.solr.store.blockcache.Metrics;
-import org.apache.solr.store.hdfs.HdfsDirectory;
-import org.apache.solr.store.hdfs.HdfsLocalityReporter;
-import org.apache.solr.store.hdfs.HdfsLockFactory;
-import org.apache.solr.update.HdfsUpdateLog;
import org.apache.solr.update.UpdateLog;
-import org.apache.solr.util.HdfsUtil;
import org.apache.solr.util.plugin.SolrCoreAware;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/core/backup/repository/HdfsBackupRepository.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/HdfsBackupRepository.java
similarity index 96%
rename from
solr/modules/hdfs/src/java/org/apache/solr/core/backup/repository/HdfsBackupRepository.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/HdfsBackupRepository.java
index 3df5038..a4bee9d 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/core/backup/repository/HdfsBackupRepository.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/HdfsBackupRepository.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.solr.core.backup.repository;
+package org.apache.solr.hdfs.backup.repository;
import com.google.common.base.Preconditions;
import java.io.IOException;
@@ -39,9 +39,10 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.NamedList;
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.apache.solr.core.backup.repository.BackupRepository;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
+import org.apache.solr.hdfs.store.HdfsDirectory;
+import org.apache.solr.hdfs.store.HdfsDirectory.HdfsIndexInput;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/package-info.java
similarity index 89%
copy from
solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
copy to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/package-info.java
index 3142414..a8f3fb2 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/package-info.java
@@ -15,5 +15,5 @@
* limitations under the License.
*/
-/** An HDFS CheckIndex implementation. */
-package org.apache.solr.index.hdfs;
+/** An HDFS backup repository implementation. */
+package org.apache.solr.hdfs.backup.repository;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/CheckHdfsIndex.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/index/CheckHdfsIndex.java
similarity index 94%
rename from
solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/CheckHdfsIndex.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/index/CheckHdfsIndex.java
index 5ab5765..5f78619 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/CheckHdfsIndex.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/index/CheckHdfsIndex.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.index.hdfs;
+package org.apache.solr.hdfs.index;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
@@ -22,9 +22,9 @@ import org.apache.hadoop.fs.Path;
import org.apache.lucene.index.CheckIndex;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.SuppressForbidden;
-import org.apache.solr.core.HdfsDirectoryFactory;
-import org.apache.solr.store.hdfs.HdfsDirectory;
-import org.apache.solr.util.HdfsUtil;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
+import org.apache.solr.hdfs.store.HdfsDirectory;
+import org.apache.solr.hdfs.util.HdfsUtil;
public class CheckHdfsIndex {
public static void main(String[] args) throws IOException,
InterruptedException {
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/index/package-info.java
similarity index 95%
copy from
solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
copy to solr/modules/hdfs/src/java/org/apache/solr/hdfs/index/package-info.java
index 3142414..51de820 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/index/package-info.java
@@ -16,4 +16,4 @@
*/
/** An HDFS CheckIndex implementation. */
-package org.apache.solr.index.hdfs;
+package org.apache.solr.hdfs.index;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/package-info.java
similarity index 91%
copy from
solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
copy to solr/modules/hdfs/src/java/org/apache/solr/hdfs/package-info.java
index d12f217..96f3d82 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/package-info.java
@@ -15,5 +15,5 @@
* limitations under the License.
*/
-/** An HDFS Directory implementation. */
-package org.apache.solr.store.hdfs;
+/** HDFS implementation. */
+package org.apache.solr.hdfs;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/core/snapshots/SolrSnapshotsTool.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/snapshots/SolrSnapshotsTool.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/core/snapshots/SolrSnapshotsTool.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/snapshots/SolrSnapshotsTool.java
index 23a769c..8369e38 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/core/snapshots/SolrSnapshotsTool.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/snapshots/SolrSnapshotsTool.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.solr.core.snapshots;
+package org.apache.solr.hdfs.snapshots;
import com.google.common.base.Preconditions;
import java.io.Closeable;
@@ -54,7 +54,9 @@ import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.params.CollectionAdminParams;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.snapshots.CollectionSnapshotMetaData;
import
org.apache.solr.core.snapshots.CollectionSnapshotMetaData.CoreSnapshotMetaData;
+import org.apache.solr.core.snapshots.SolrSnapshotManager;
import org.apache.solr.util.CLIO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/snapshots/package-info.java
similarity index 90%
copy from
solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
copy to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/snapshots/package-info.java
index 3142414..20b68d6 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/snapshots/package-info.java
@@ -15,5 +15,5 @@
* limitations under the License.
*/
-/** An HDFS CheckIndex implementation. */
-package org.apache.solr.index.hdfs;
+/** An HDFS snapshot implementation. */
+package org.apache.solr.hdfs.snapshots;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsDirectory.java
similarity index 98%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsDirectory.java
index 2eff10a..e89911c 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsDirectory.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsDirectory.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.hdfs;
+package org.apache.solr.hdfs.store;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
@@ -39,7 +39,7 @@ import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.LockFactory;
-import org.apache.solr.store.blockcache.CustomBufferedIndexInput;
+import org.apache.solr.hdfs.store.blockcache.CustomBufferedIndexInput;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsFileWriter.java
similarity index 98%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsFileWriter.java
index 7a2500a..b03542b 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsFileWriter.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsFileWriter.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.hdfs;
+package org.apache.solr.hdfs.store;
import java.io.IOException;
import java.io.OutputStream;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsLocalityReporter.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsLocalityReporter.java
index 1c0371e..3080817 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsLocalityReporter.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsLocalityReporter.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.hdfs;
+package org.apache.solr.hdfs.store;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsLockFactory.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsLockFactory.java
index bf220e7..e461c6d 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/HdfsLockFactory.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/HdfsLockFactory.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.hdfs;
+package org.apache.solr.hdfs.store;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCache.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCache.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCache.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCache.java
index 3ea8fb8..0b7a5f4 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCache.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCache.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCacheKey.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCacheKey.java
similarity index 97%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCacheKey.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCacheKey.java
index 2f2f25f..b8fa68c 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCacheKey.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCacheKey.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
/** @lucene.experimental */
public class BlockCacheKey implements Cloneable {
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCacheLocation.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCacheLocation.java
similarity index 97%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCacheLocation.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCacheLocation.java
index 7ef4688..22ab1be 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockCacheLocation.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockCacheLocation.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.solr.common.util.SuppressForbidden;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockDirectory.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockDirectory.java
index b149da7..f29cf30 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockDirectory.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockDirectory.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.io.File;
import java.io.FileNotFoundException;
@@ -29,7 +29,7 @@ import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.IndexInput;
import org.apache.lucene.store.IndexOutput;
import org.apache.solr.core.ShutdownAwareDirectory;
-import org.apache.solr.store.hdfs.HdfsDirectory;
+import org.apache.solr.hdfs.store.HdfsDirectory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockDirectoryCache.java
similarity index 97%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockDirectoryCache.java
index b0aafa2..0581018 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockDirectoryCache.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockDirectoryCache.java
@@ -14,14 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import com.github.benmanes.caffeine.cache.Caffeine;
import java.util.Collections;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.solr.store.blockcache.BlockCache.OnRelease;
+import org.apache.solr.hdfs.store.blockcache.BlockCache.OnRelease;
/** @lucene.experimental */
public class BlockDirectoryCache implements Cache {
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockLocks.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockLocks.java
similarity index 98%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockLocks.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockLocks.java
index 023bc74..e387d42 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BlockLocks.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BlockLocks.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.util.concurrent.atomic.AtomicLongArray;
import org.apache.lucene.util.LongBitSet;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BufferStore.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BufferStore.java
similarity index 98%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BufferStore.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BufferStore.java
index 9c49164..25c205f 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/BufferStore.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/BufferStore.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Cache.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Cache.java
similarity index 97%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Cache.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Cache.java
index 0974bad..eeef8b7 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Cache.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Cache.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
/** @lucene.experimental */
public interface Cache {
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/CachedIndexOutput.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/CachedIndexOutput.java
similarity index 98%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/CachedIndexOutput.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/CachedIndexOutput.java
index 9750e2b..a78f6c5 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/CachedIndexOutput.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/CachedIndexOutput.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.io.IOException;
import org.apache.lucene.store.IndexOutput;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/CustomBufferedIndexInput.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/CustomBufferedIndexInput.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/CustomBufferedIndexInput.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/CustomBufferedIndexInput.java
index 752ebe3..a3b6356 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/CustomBufferedIndexInput.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/CustomBufferedIndexInput.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.io.EOFException;
import java.io.IOException;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Metrics.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Metrics.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Metrics.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Metrics.java
index 9abdcb4..296ea06 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Metrics.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Metrics.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/ReusedBufferedIndexOutput.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/ReusedBufferedIndexOutput.java
similarity index 99%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/ReusedBufferedIndexOutput.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/ReusedBufferedIndexOutput.java
index 5637da1..f6a7203 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/ReusedBufferedIndexOutput.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/ReusedBufferedIndexOutput.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.io.IOException;
import org.apache.lucene.store.IndexOutput;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Store.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Store.java
similarity index 95%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Store.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Store.java
index 98e5f6a..6a1a3f5 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/Store.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/Store.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
/** @lucene.experimental */
public interface Store {
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/package-info.java
similarity index 94%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/package-info.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/package-info.java
index 14c7957..e68e933 100644
---
a/solr/modules/hdfs/src/java/org/apache/solr/store/blockcache/package-info.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/blockcache/package-info.java
@@ -16,4 +16,4 @@
*/
/** An HDFS blockcache implementation. */
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/package-info.java
similarity index 95%
copy from
solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
copy to solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/package-info.java
index d12f217..dea7244 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/store/package-info.java
@@ -16,4 +16,4 @@
*/
/** An HDFS Directory implementation. */
-package org.apache.solr.store.hdfs;
+package org.apache.solr.hdfs.store;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/update/HdfsTransactionLog.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsTransactionLog.java
similarity index 98%
rename from
solr/modules/hdfs/src/java/org/apache/solr/update/HdfsTransactionLog.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsTransactionLog.java
index 4896f36..dd11e4b 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/update/HdfsTransactionLog.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsTransactionLog.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.update;
+package org.apache.solr.hdfs.update;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
@@ -35,8 +35,11 @@ import org.apache.solr.common.util.FastInputStream;
import org.apache.solr.common.util.FastOutputStream;
import org.apache.solr.common.util.JavaBinCodec;
import org.apache.solr.common.util.ObjectReleaseTracker;
-import org.apache.solr.util.FSHDFSUtils;
-import org.apache.solr.util.FSHDFSUtils.CallerInfo;
+import org.apache.solr.hdfs.util.HdfsRecoverLeaseFileSystemUtils;
+import org.apache.solr.hdfs.util.HdfsRecoverLeaseFileSystemUtils.CallerInfo;
+import org.apache.solr.update.CommitUpdateCommand;
+import org.apache.solr.update.TransactionLog;
+import org.apache.solr.update.UpdateLog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -86,7 +89,7 @@ public class HdfsTransactionLog extends TransactionLog {
this.tlogFile = tlogFile;
if (fs.exists(tlogFile) && openExisting) {
- FSHDFSUtils.recoverFileLease(
+ HdfsRecoverLeaseFileSystemUtils.recoverFileLease(
fs,
tlogFile,
fs.getConf(),
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/update/HdfsUpdateLog.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsUpdateLog.java
similarity index 97%
rename from solr/modules/hdfs/src/java/org/apache/solr/update/HdfsUpdateLog.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsUpdateLog.java
index 0ca2bb1..1ca680c 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/update/HdfsUpdateLog.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/HdfsUpdateLog.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.update;
+package org.apache.solr.hdfs.update;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -37,7 +37,12 @@ import org.apache.solr.common.util.IOUtils;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrInfoBean;
-import org.apache.solr.util.HdfsUtil;
+import org.apache.solr.hdfs.util.HdfsUtil;
+import org.apache.solr.update.CommitUpdateCommand;
+import org.apache.solr.update.TransactionLog;
+import org.apache.solr.update.UpdateHandler;
+import org.apache.solr.update.UpdateLog;
+import org.apache.solr.update.VersionInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/package-info.java
similarity index 89%
rename from
solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/package-info.java
index 3142414..461612b 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/index/hdfs/package-info.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/update/package-info.java
@@ -15,5 +15,5 @@
* limitations under the License.
*/
-/** An HDFS CheckIndex implementation. */
-package org.apache.solr.index.hdfs;
+/** An HDFS update log and transaction log implementation. */
+package org.apache.solr.hdfs.update;
diff --git a/solr/modules/hdfs/src/java/org/apache/solr/util/FSHDFSUtils.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/HdfsRecoverLeaseFileSystemUtils.java
similarity index 96%
rename from solr/modules/hdfs/src/java/org/apache/solr/util/FSHDFSUtils.java
rename to
solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/HdfsRecoverLeaseFileSystemUtils.java
index 57856f6..9cae569 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/util/FSHDFSUtils.java
+++
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/HdfsRecoverLeaseFileSystemUtils.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.util;
+package org.apache.solr.hdfs.util;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -29,8 +29,11 @@ import org.apache.hadoop.hdfs.DistributedFileSystem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/** Borrowed from Apache HBase to recover an HDFS lease. */
-public class FSHDFSUtils {
+/**
+ * Borrowed from Apache HBase to recover an HDFS lease.
+ *
https://github.com/apache/hbase/blob/master/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/util/RecoverLeaseFSUtils.java
+ */
+public class HdfsRecoverLeaseFileSystemUtils {
private static final Logger log =
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
// internal, for tests
diff --git a/solr/modules/hdfs/src/java/org/apache/solr/util/HdfsUtil.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/HdfsUtil.java
similarity index 98%
rename from solr/modules/hdfs/src/java/org/apache/solr/util/HdfsUtil.java
rename to solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/HdfsUtil.java
index c4dc593..f930284 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/util/HdfsUtil.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/HdfsUtil.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.util;
+package org.apache.solr.hdfs.util;
import java.io.File;
import org.apache.hadoop.conf.Configuration;
diff --git
a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/package-info.java
similarity index 91%
rename from
solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
rename to solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/package-info.java
index d12f217..fec2056 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/store/hdfs/package-info.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/util/package-info.java
@@ -15,5 +15,5 @@
* limitations under the License.
*/
-/** An HDFS Directory implementation. */
-package org.apache.solr.store.hdfs;
+/** An HDFS util implementation. */
+package org.apache.solr.hdfs.util;
diff --git a/solr/modules/hdfs/src/test-files/core-site.xml
b/solr/modules/hdfs/src/test-files/core-site.xml
index fcfdfa9..cfc6d13 100644
--- a/solr/modules/hdfs/src/test-files/core-site.xml
+++ b/solr/modules/hdfs/src/test-files/core-site.xml
@@ -18,12 +18,12 @@
<configuration>
<property>
<name>hadoop.security.group.mapping</name>
- <value>org.apache.solr.cloud.hdfs.HdfsFakeGroupMapping</value>
+ <value>org.apache.solr.hdfs.cloud.HdfsFakeGroupMapping</value>
</property>
<!-- SSL KeyStore reloading causes thread leaks - HADOOP-16524 introduced in
Hadoop 3.3.1 -->
<property>
<name>hadoop.ssl.keystores.factory.class</name>
- <value>org.apache.solr.cloud.hdfs.DisableKeyStoresFactory</value>
+ <value>org.apache.solr.hdfs.cloud.DisableKeyStoresFactory</value>
</property>
</configuration>
diff --git
a/solr/modules/hdfs/src/test/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
b/solr/modules/hdfs/src/test/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
index d502203..6f2d142 100644
---
a/solr/modules/hdfs/src/test/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
+++
b/solr/modules/hdfs/src/test/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java
@@ -69,7 +69,7 @@ import org.apache.hadoop.util.DiskChecker;
import org.apache.hadoop.util.DiskChecker.DiskErrorException;
import org.apache.hadoop.util.ShutdownHookManager;
import org.apache.hadoop.util.Timer;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import com.google.common.annotations.VisibleForTesting;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/HdfsDirectoryFactoryTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/HdfsDirectoryFactoryTest.java
index e523f19..88c58b1 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/HdfsDirectoryFactoryTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.core;
+package org.apache.solr.hdfs;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -38,15 +38,15 @@ import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.lucene.util.TestUtil;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.DirectoryFactory.DirContext;
import org.apache.solr.handler.SnapShooter;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
+import org.apache.solr.hdfs.store.HdfsLocalityReporter;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.apache.solr.metrics.MetricsMap;
import org.apache.solr.metrics.SolrMetricManager;
import org.apache.solr.metrics.SolrMetricsContext;
-import org.apache.solr.store.hdfs.HdfsLocalityReporter;
import org.apache.solr.util.MockCoreContainer.MockCoreDescriptor;
import org.junit.AfterClass;
import org.junit.BeforeClass;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/core/backup/repository/HdfsBackupRepositoryIntegrationTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/backup/repository/HdfsBackupRepositoryIntegrationTest.java
similarity index 95%
rename from
solr/modules/hdfs/src/test/org/apache/solr/core/backup/repository/HdfsBackupRepositoryIntegrationTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/backup/repository/HdfsBackupRepositoryIntegrationTest.java
index e7f27b9..9b3e77e 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/core/backup/repository/HdfsBackupRepositoryIntegrationTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/backup/repository/HdfsBackupRepositoryIntegrationTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.solr.core.backup.repository;
+package org.apache.solr.hdfs.backup.repository;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -29,10 +29,11 @@ import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.hadoop.hdfs.protocol.HdfsConstants;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.cloud.api.collections.AbstractBackupRepositoryTest;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.core.HdfsDirectoryFactory;
+import org.apache.solr.core.backup.repository.BackupRepository;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/core/backup/repository/HdfsBackupRepositoryTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/backup/repository/HdfsBackupRepositoryTest.java
similarity index 96%
rename from
solr/modules/hdfs/src/test/org/apache/solr/core/backup/repository/HdfsBackupRepositoryTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/backup/repository/HdfsBackupRepositoryTest.java
index dbc124e..c188bb8 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/core/backup/repository/HdfsBackupRepositoryTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/backup/repository/HdfsBackupRepositoryTest.java
@@ -15,15 +15,15 @@
* limitations under the License.
*/
-package org.apache.solr.core.backup.repository;
+package org.apache.solr.hdfs.backup.repository;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.core.HdfsDirectoryFactory;
-import org.apache.solr.store.hdfs.HdfsDirectory;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
+import org.apache.solr.hdfs.store.HdfsDirectory;
import org.junit.Test;
public class HdfsBackupRepositoryTest {
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/DisableKeyStoresFactory.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/DisableKeyStoresFactory.java
similarity index 97%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/DisableKeyStoresFactory.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/DisableKeyStoresFactory.java
index e9c7a12..7e88a83 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/DisableKeyStoresFactory.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/DisableKeyStoresFactory.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import java.io.IOException;
import java.security.GeneralSecurityException;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsBasicDistributedZk2Test.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsBasicDistributedZk2Test.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsBasicDistributedZk2Test.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsBasicDistributedZk2Test.java
index 332e39a..dfab112 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsBasicDistributedZk2Test.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsBasicDistributedZk2Test.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsBasicDistributedZkTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsBasicDistributedZkTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsBasicDistributedZkTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsBasicDistributedZkTest.java
index a66b255..940817d 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsBasicDistributedZkTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsBasicDistributedZkTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsChaosMonkeyNothingIsSafeTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsChaosMonkeyNothingIsSafeTest.java
similarity index 94%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsChaosMonkeyNothingIsSafeTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsChaosMonkeyNothingIsSafeTest.java
index f5878ca..60331bc 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsChaosMonkeyNothingIsSafeTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsChaosMonkeyNothingIsSafeTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -25,6 +25,7 @@ import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.cloud.AbstractChaosMonkeyNothingIsSafeTestBase;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -66,7 +67,7 @@ public class HdfsChaosMonkeyNothingIsSafeTest extends
AbstractChaosMonkeyNothing
super.distribSetUp();
// super class may hard code directory
- useFactory("org.apache.solr.core.HdfsDirectoryFactory");
+ useFactory(HdfsDirectoryFactory.class.getCanonicalName());
}
@Override
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsChaosMonkeySafeLeaderTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsChaosMonkeySafeLeaderTest.java
similarity index 92%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsChaosMonkeySafeLeaderTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsChaosMonkeySafeLeaderTest.java
index c93f287..aa4dec9 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsChaosMonkeySafeLeaderTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsChaosMonkeySafeLeaderTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -25,6 +25,7 @@ import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.cloud.AbstractChaosMonkeySafeLeaderTestBase;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -41,7 +42,6 @@ import org.junit.BeforeClass;
@ThreadLeakLingering(
linger = 1000) // Wait at least 1 second for Netty GlobalEventExecutor to
shutdown
public class HdfsChaosMonkeySafeLeaderTest extends
AbstractChaosMonkeySafeLeaderTestBase {
- private static final String DIRECTORY_FACTORY =
"org.apache.solr.core.HdfsDirectoryFactory";
private static MiniDFSCluster dfsCluster;
@BeforeClass
@@ -67,7 +67,7 @@ public class HdfsChaosMonkeySafeLeaderTest extends
AbstractChaosMonkeySafeLeader
super.distribSetUp();
// super class may hard code directory
- useFactory("org.apache.solr.core.HdfsDirectoryFactory");
+ useFactory(HdfsDirectoryFactory.class.getCanonicalName());
}
@Override
@@ -76,6 +76,6 @@ public class HdfsChaosMonkeySafeLeaderTest extends
AbstractChaosMonkeySafeLeader
}
protected String getDirectoryFactory() {
- return DIRECTORY_FACTORY;
+ return HdfsDirectoryFactory.class.getCanonicalName();
}
}
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HDFSCollectionsAPITest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsCollectionsApiTest.java
similarity index 97%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HDFSCollectionsAPITest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsCollectionsApiTest.java
index ce89466..796f2ec 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HDFSCollectionsAPITest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsCollectionsApiTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -42,7 +42,7 @@ import org.junit.BeforeClass;
})
@ThreadLeakLingering(
linger = 1000) // Wait at least 1 second for Netty GlobalEventExecutor to
shutdown
-public class HDFSCollectionsAPITest extends SolrCloudTestCase {
+public class HdfsCollectionsApiTest extends SolrCloudTestCase {
private static MiniDFSCluster dfsCluster;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsFakeGroupMapping.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsFakeGroupMapping.java
similarity index 97%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsFakeGroupMapping.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsFakeGroupMapping.java
index 7ceb687..39a755f 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsFakeGroupMapping.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsFakeGroupMapping.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import java.util.Collections;
import java.util.List;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsNNFailoverTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsNameNodeFailoverTest.java
similarity index 94%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsNNFailoverTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsNameNodeFailoverTest.java
index a4ce9b9..731cf88 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsNNFailoverTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsNameNodeFailoverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -39,7 +39,7 @@ import org.junit.Test;
})
@ThreadLeakLingering(
linger = 1000) // Wait at least 1 second for Netty GlobalEventExecutor to
shutdown
-public class HdfsNNFailoverTest extends AbstractBasicDistributedZkTestBase {
+public class HdfsNameNodeFailoverTest extends
AbstractBasicDistributedZkTestBase {
private static final String COLLECTION = "collection";
private static MiniDFSCluster dfsCluster;
@@ -62,7 +62,7 @@ public class HdfsNNFailoverTest extends
AbstractBasicDistributedZkTestBase {
return HdfsTestUtil.getDataDir(dfsCluster, dataDir);
}
- public HdfsNNFailoverTest() {
+ public HdfsNameNodeFailoverTest() {
super();
sliceCount = 1;
fixShardCount(TEST_NIGHTLY ? 7 : random().nextInt(2) + 1);
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRecoverLeaseTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRecoverLeaseTest.java
similarity index 86%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRecoverLeaseTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRecoverLeaseTest.java
index bf0673c..a41bc39 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRecoverLeaseTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRecoverLeaseTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -31,8 +31,8 @@ import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
-import org.apache.solr.util.FSHDFSUtils;
-import org.apache.solr.util.FSHDFSUtils.CallerInfo;
+import org.apache.solr.hdfs.util.HdfsRecoverLeaseFileSystemUtils;
+import org.apache.solr.hdfs.util.HdfsRecoverLeaseFileSystemUtils.CallerInfo;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -78,7 +78,8 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
@Test
public void testBasic() throws IOException {
- long startRecoverLeaseSuccessCount =
FSHDFSUtils.RECOVER_LEASE_SUCCESS_COUNT.get();
+ long startRecoverLeaseSuccessCount =
+ HdfsRecoverLeaseFileSystemUtils.RECOVER_LEASE_SUCCESS_COUNT.get();
URI uri = dfsCluster.getURI();
Path path = new Path(uri);
@@ -91,7 +92,7 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
out.hflush();
out.close();
- FSHDFSUtils.recoverFileLease(
+ HdfsRecoverLeaseFileSystemUtils.recoverFileLease(
fs1,
testFile,
conf,
@@ -102,7 +103,10 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
return false;
}
});
- assertEquals(0, FSHDFSUtils.RECOVER_LEASE_SUCCESS_COUNT.get() -
startRecoverLeaseSuccessCount);
+ assertEquals(
+ 0,
+ HdfsRecoverLeaseFileSystemUtils.RECOVER_LEASE_SUCCESS_COUNT.get()
+ - startRecoverLeaseSuccessCount);
fs1.close();
@@ -123,7 +127,7 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
FileSystem fs3 = FileSystem.get(path.toUri(), conf);
- FSHDFSUtils.recoverFileLease(
+ HdfsRecoverLeaseFileSystemUtils.recoverFileLease(
fs3,
testFile2,
conf,
@@ -134,7 +138,10 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
return false;
}
});
- assertEquals(1, FSHDFSUtils.RECOVER_LEASE_SUCCESS_COUNT.get() -
startRecoverLeaseSuccessCount);
+ assertEquals(
+ 1,
+ HdfsRecoverLeaseFileSystemUtils.RECOVER_LEASE_SUCCESS_COUNT.get()
+ - startRecoverLeaseSuccessCount);
fs3.close();
fs2.close();
@@ -142,7 +149,8 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
@Test
public void testMultiThreaded() throws Exception {
- long startRecoverLeaseSuccessCount =
FSHDFSUtils.RECOVER_LEASE_SUCCESS_COUNT.get();
+ long startRecoverLeaseSuccessCount =
+ HdfsRecoverLeaseFileSystemUtils.RECOVER_LEASE_SUCCESS_COUNT.get();
final URI uri = dfsCluster.getURI();
final Path path = new Path(uri);
@@ -207,7 +215,7 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
public void run() {
Path testFile = new Path(uri.toString() + "/file-" + id);
try {
- FSHDFSUtils.recoverFileLease(
+ HdfsRecoverLeaseFileSystemUtils.recoverFileLease(
fs,
testFile,
conf,
@@ -259,6 +267,8 @@ public class HdfsRecoverLeaseTest extends SolrTestCaseJ4 {
}
assertEquals(
- threadCount, FSHDFSUtils.RECOVER_LEASE_SUCCESS_COUNT.get() -
startRecoverLeaseSuccessCount);
+ threadCount,
+ HdfsRecoverLeaseFileSystemUtils.RECOVER_LEASE_SUCCESS_COUNT.get()
+ - startRecoverLeaseSuccessCount);
}
}
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRecoveryZkTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRecoveryZkTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRecoveryZkTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRecoveryZkTest.java
index de8daa1..5ee2a0e 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRecoveryZkTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRecoveryZkTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRestartWhileUpdatingTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRestartWhileUpdatingTest.java
similarity index 94%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRestartWhileUpdatingTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRestartWhileUpdatingTest.java
index 23faa29..5a2fd14 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsRestartWhileUpdatingTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsRestartWhileUpdatingTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -24,6 +24,7 @@ import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.cloud.AbstractRestartWhileUpdatingTestBase;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -46,7 +47,7 @@ public class HdfsRestartWhileUpdatingTest extends
AbstractRestartWhileUpdatingTe
super();
// The constructor runs after setupClass so reset the DirectoryFactory
- useFactory("org.apache.solr.core.HdfsDirectoryFactory");
+ useFactory(HdfsDirectoryFactory.class.getCanonicalName());
}
@BeforeClass
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsSyncSliceTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsSyncSliceTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsSyncSliceTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsSyncSliceTest.java
index 18319f1..f9f7a66 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsSyncSliceTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsSyncSliceTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsTestUtil.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsTestUtil.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsTestUtil.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsTestUtil.java
index 38cf0f1..91f9ca3 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsTestUtil.java
+++ b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsTestUtil.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import java.io.File;
import java.lang.invoke.MethodHandles;
@@ -53,8 +53,8 @@ import org.apache.lucene.util.Constants;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.SuppressForbidden;
-import org.apache.solr.core.HdfsDirectoryFactory;
-import org.apache.solr.util.HdfsUtil;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
+import org.apache.solr.hdfs.util.HdfsUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -278,7 +278,7 @@ public class HdfsTestUtil {
badTlogOutStream = badTlogOutStreamFs.create(hdfsDirPath);
}
- SolrTestCaseJ4.useFactory("org.apache.solr.core.HdfsDirectoryFactory");
+ SolrTestCaseJ4.useFactory(HdfsDirectoryFactory.class.getCanonicalName());
return dfsCluster;
}
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsThreadLeakTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsThreadLeakTest.java
index 658fcee..29ef43f 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsThreadLeakTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsThreadLeakTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsTlogReplayBufferedWhileIndexingTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsTlogReplayBufferedWhileIndexingTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsTlogReplayBufferedWhileIndexingTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsTlogReplayBufferedWhileIndexingTest.java
index 1d688c0..a047eae 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsTlogReplayBufferedWhileIndexingTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsTlogReplayBufferedWhileIndexingTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsUnloadDistributedZkTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsUnloadDistributedZkTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsUnloadDistributedZkTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsUnloadDistributedZkTest.java
index 6fb35a0..20f30a9 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsUnloadDistributedZkTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsUnloadDistributedZkTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsWriteToMultipleCollectionsTest.java
similarity index 95%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsWriteToMultipleCollectionsTest.java
index 18224af..3342da8 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/HdfsWriteToMultipleCollectionsTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/HdfsWriteToMultipleCollectionsTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -41,13 +41,13 @@ import
org.apache.solr.cloud.AbstractBasicDistributedZkTestBase;
import org.apache.solr.cloud.StoppableIndexingThread;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.DirectoryFactory;
-import org.apache.solr.core.HdfsDirectoryFactory;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.hdfs.HdfsDirectoryFactory;
+import org.apache.solr.hdfs.store.blockcache.BlockCache;
+import org.apache.solr.hdfs.store.blockcache.BlockDirectory;
+import org.apache.solr.hdfs.store.blockcache.BlockDirectoryCache;
+import org.apache.solr.hdfs.store.blockcache.Cache;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
-import org.apache.solr.store.blockcache.BlockCache;
-import org.apache.solr.store.blockcache.BlockDirectory;
-import org.apache.solr.store.blockcache.BlockDirectoryCache;
-import org.apache.solr.store.blockcache.Cache;
import org.apache.solr.util.RefCounted;
import org.junit.AfterClass;
import org.junit.BeforeClass;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/MoveReplicaHDFSFailoverTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/MoveReplicaHdfsFailoverTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/MoveReplicaHDFSFailoverTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/MoveReplicaHdfsFailoverTest.java
index 6577d6d..a83708e 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/MoveReplicaHDFSFailoverTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/MoveReplicaHdfsFailoverTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.solr.cloud;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -28,7 +28,7 @@ import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.ClusterStateUtil;
import org.apache.solr.common.cloud.DocCollection;
@@ -47,7 +47,7 @@ import org.junit.Test;
BadHdfsThreadsFilter.class // hdfs currently leaks thread(s)
})
@Nightly // test is too long for non nightly
-public class MoveReplicaHDFSFailoverTest extends SolrCloudTestCase {
+public class MoveReplicaHdfsFailoverTest extends SolrCloudTestCase {
private static MiniDFSCluster dfsCluster;
@BeforeClass
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/MoveReplicaHDFSTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/MoveReplicaHdfsTest.java
similarity index 95%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/MoveReplicaHDFSTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/MoveReplicaHdfsTest.java
index bfd96ad..255ea33 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/cloud/MoveReplicaHDFSTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/MoveReplicaHdfsTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -26,7 +26,7 @@ import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.lucene.util.TimeUnits;
import org.apache.solr.SolrIgnoredThreadsFilter;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import org.apache.solr.cloud.AbstractMoveReplicaTestBase;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -43,7 +43,7 @@ import org.junit.Test;
})
@TimeoutSuite(millis = TimeUnits.HOUR)
@AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/SOLR-13924")
-public class MoveReplicaHDFSTest extends AbstractMoveReplicaTestBase {
+public class MoveReplicaHdfsTest extends AbstractMoveReplicaTestBase {
private static MiniDFSCluster dfsCluster;
@BeforeClass
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/SharedFSAutoReplicaFailoverTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/SharedFileSystemAutoReplicaFailoverTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/SharedFSAutoReplicaFailoverTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/SharedFileSystemAutoReplicaFailoverTest.java
index 317c017..bf9f303 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/SharedFSAutoReplicaFailoverTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/SharedFileSystemAutoReplicaFailoverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -46,7 +46,8 @@ import
org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.CollectionAdminRequest.Create;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import org.apache.solr.cloud.AbstractFullDistribZkTestBase;
+import org.apache.solr.cloud.ChaosMonkey;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.ClusterState;
@@ -84,7 +85,7 @@ import org.slf4j.LoggerFactory;
@LogLevel("org.apache.solr.cloud.*=DEBUG")
@LuceneTestCase.BadApple(
bugUrl = "https://issues.apache.org/jira/browse/SOLR-12028") // added
20-Jul-2018
-public class SharedFSAutoReplicaFailoverTest extends
AbstractFullDistribZkTestBase {
+public class SharedFileSystemAutoReplicaFailoverTest extends
AbstractFullDistribZkTestBase {
private static final Logger log =
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static final boolean DEBUG = true;
@@ -140,7 +141,7 @@ public class SharedFSAutoReplicaFailoverTest extends
AbstractFullDistribZkTestBa
return "solr.xml";
}
- public SharedFSAutoReplicaFailoverTest() {
+ public SharedFileSystemAutoReplicaFailoverTest() {
completionService = new ExecutorCompletionService<>(executor);
pending = new HashSet<>();
}
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/StressHdfsTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/StressHdfsTest.java
similarity index 99%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/StressHdfsTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/StressHdfsTest.java
index 99b1dbe..60b02f0 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/cloud/hdfs/StressHdfsTest.java
+++ b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/StressHdfsTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.hdfs;
+package org.apache.solr.hdfs.cloud;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/HdfsCloudIncrementalBackupTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/HdfsCloudIncrementalBackupTest.java
similarity index 96%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/HdfsCloudIncrementalBackupTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/HdfsCloudIncrementalBackupTest.java
index 4cbd70e..0180c2a 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/HdfsCloudIncrementalBackupTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/HdfsCloudIncrementalBackupTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.solr.cloud.api.collections;
+package org.apache.solr.hdfs.cloud.api.collections;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -30,8 +30,9 @@ import org.apache.hadoop.hdfs.protocol.HdfsConstants;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import org.apache.solr.cloud.api.collections.AbstractIncrementalBackupTest;
import org.apache.solr.common.util.IOUtils;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -77,7 +78,7 @@ public class HdfsCloudIncrementalBackupTest extends
AbstractIncrementalBackupTes
+ " <repository name=\"trackingBackupRepository\"
default=\"true\" class=\"org.apache.solr.core.TrackingBackupRepository\"> \n"
+ " <str name=\"delegateRepoName\">hdfs</str>\n"
+ " </repository>\n"
- + " <repository name=\"hdfs\"
class=\"org.apache.solr.core.backup.repository.HdfsBackupRepository\"> \n"
+ + " <repository name=\"hdfs\"
class=\"org.apache.solr.hdfs.backup.repository.HdfsBackupRepository\"> \n"
+ " <str
name=\"location\">${solr.hdfs.default.backup.path}</str>\n"
+ " <str name=\"solr.hdfs.home\">${solr.hdfs.home:}</str>\n"
+ " <str
name=\"solr.hdfs.confdir\">${solr.hdfs.confdir:}</str>\n"
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/HdfsCollectionsAPIDistributedZkTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/HdfsCollectionsApiDistributedZkTest.java
similarity index 89%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/HdfsCollectionsAPIDistributedZkTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/HdfsCollectionsApiDistributedZkTest.java
index f2ee6c8..f1996b6 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/HdfsCollectionsAPIDistributedZkTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/HdfsCollectionsApiDistributedZkTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.api.collections;
+package org.apache.solr.hdfs.cloud.api.collections;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -24,7 +24,8 @@ import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.lucene.util.TimeUnits;
import org.apache.solr.SolrIgnoredThreadsFilter;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import
org.apache.solr.cloud.api.collections.AbstractCollectionsAPIDistributedZkTestBase;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -39,7 +40,7 @@ import org.junit.BeforeClass;
BadHdfsThreadsFilter.class // hdfs currently leaks thread(s)
})
@TimeoutSuite(millis = TimeUnits.HOUR)
-public class HdfsCollectionsAPIDistributedZkTest
+public class HdfsCollectionsApiDistributedZkTest
extends AbstractCollectionsAPIDistributedZkTestBase {
private static MiniDFSCluster dfsCluster;
@@ -57,6 +58,7 @@ public class HdfsCollectionsAPIDistributedZkTest
}
}
+ @Override
protected String getConfigSet() {
return "cloud-hdfs";
}
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/TestHdfsCloudBackupRestore.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/TestHdfsCloudBackupRestore.java
similarity index 97%
rename from
solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/TestHdfsCloudBackupRestore.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/TestHdfsCloudBackupRestore.java
index a4badb9..e982af3 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/cloud/api/collections/TestHdfsCloudBackupRestore.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/cloud/api/collections/TestHdfsCloudBackupRestore.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.cloud.api.collections;
+package org.apache.solr.hdfs.cloud.api.collections;
import static org.apache.solr.core.backup.BackupManager.CONFIG_STATE_DIR;
import static
org.apache.solr.core.backup.BackupManager.TRADITIONAL_BACKUP_PROPS_FILE;
@@ -43,13 +43,14 @@ import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.cloud.ZkConfigSetService;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import
org.apache.solr.cloud.api.collections.AbstractCloudBackupRestoreTestCase;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.params.CollectionAdminParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.backup.BackupManager;
import org.apache.solr.core.backup.BackupProperties;
-import org.apache.solr.core.backup.repository.HdfsBackupRepository;
+import org.apache.solr.hdfs.backup.repository.HdfsBackupRepository;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -96,7 +97,7 @@ public class TestHdfsCloudBackupRestore extends
AbstractCloudBackupRestoreTestCa
+ " </solrcloud>\n"
+ " \n"
+ " <backup>\n"
- + " <repository name=\"hdfs\"
class=\"org.apache.solr.core.backup.repository.HdfsBackupRepository\"> \n"
+ + " <repository name=\"hdfs\"
class=\"org.apache.solr.hdfs.backup.repository.HdfsBackupRepository\"> \n"
+ " <str
name=\"location\">${solr.hdfs.default.backup.path}</str>\n"
+ " <str name=\"solr.hdfs.home\">${solr.hdfs.home:}</str>\n"
+ " <str
name=\"solr.hdfs.confdir\">${solr.hdfs.confdir:}</str>\n"
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/handler/TestHdfsBackupRestoreCore.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/handler/TestHdfsBackupRestoreCore.java
similarity index 97%
rename from
solr/modules/hdfs/src/test/org/apache/solr/handler/TestHdfsBackupRestoreCore.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/handler/TestHdfsBackupRestoreCore.java
index f079ef3..447e52c 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/handler/TestHdfsBackupRestoreCore.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/handler/TestHdfsBackupRestoreCore.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.handler;
+package org.apache.solr.hdfs.handler;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -42,7 +42,6 @@ import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.cloud.SolrCloudTestCase;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
@@ -51,6 +50,11 @@ import org.apache.solr.common.params.CoreAdminParams;
import org.apache.solr.common.params.CoreAdminParams.CoreAdminAction;
import org.apache.solr.core.backup.BackupId;
import org.apache.solr.core.backup.ShardBackupId;
+import org.apache.solr.handler.BackupRestoreUtils;
+import org.apache.solr.handler.BackupStatusChecker;
+import org.apache.solr.handler.ReplicationHandler;
+import org.apache.solr.handler.TestRestoreCoreUtil;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -97,7 +101,7 @@ public class TestHdfsBackupRestoreCore extends
SolrCloudTestCase {
+ " </solrcloud>\n"
+ " \n"
+ " <backup>\n"
- + " <repository name=\"hdfs\"
class=\"org.apache.solr.core.backup.repository.HdfsBackupRepository\"> \n"
+ + " <repository name=\"hdfs\"
class=\"org.apache.solr.hdfs.backup.repository.HdfsBackupRepository\"> \n"
+ " <str
name=\"location\">${solr.hdfs.default.backup.path}</str>\n"
+ " <str name=\"solr.hdfs.home\">${solr.hdfs.home:}</str>\n"
+ " <str
name=\"solr.hdfs.confdir\">${solr.hdfs.confdir:}</str>\n"
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/index/hdfs/CheckHdfsIndexTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/index/CheckHdfsIndexTest.java
similarity index 97%
rename from
solr/modules/hdfs/src/test/org/apache/solr/index/hdfs/CheckHdfsIndexTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/index/CheckHdfsIndexTest.java
index 13fce0f..327d7b8 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/index/hdfs/CheckHdfsIndexTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/index/CheckHdfsIndexTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.index.hdfs;
+package org.apache.solr.hdfs.index;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import java.io.IOException;
@@ -30,10 +30,10 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.cloud.AbstractFullDistribZkTestBase;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
+import org.apache.solr.hdfs.store.HdfsDirectory;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
-import org.apache.solr.store.hdfs.HdfsDirectory;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/search/TestRecoveryHdfs.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/search/TestRecoveryHdfs.java
similarity index 99%
rename from
solr/modules/hdfs/src/test/org/apache/solr/search/TestRecoveryHdfs.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/search/TestRecoveryHdfs.java
index 15999b4..af4a775 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/search/TestRecoveryHdfs.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/search/TestRecoveryHdfs.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.search;
+package org.apache.solr.hdfs.search;
import static
org.apache.solr.update.processor.DistributingUpdateProcessorFactory.DISTRIB_UPDATE_PARAM;
@@ -43,13 +43,13 @@ import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.TimeSource;
import org.apache.solr.common.util.Utils;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
+import org.apache.solr.hdfs.update.HdfsUpdateLog;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.update.HdfsUpdateLog;
import org.apache.solr.update.UpdateHandler;
import org.apache.solr.update.UpdateLog;
import
org.apache.solr.update.processor.DistributedUpdateProcessor.DistribPhase;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsDirectoryTest.java
similarity index 99%
rename from
solr/modules/hdfs/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsDirectoryTest.java
index 3d024e6..6fd18a9 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/store/hdfs/HdfsDirectoryTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsDirectoryTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.hdfs;
+package org.apache.solr.hdfs.store;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
@@ -34,7 +34,7 @@ import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.After;
import org.junit.AfterClass;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/store/hdfs/HdfsLockFactoryTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsLockFactoryTest.java
similarity index 97%
rename from
solr/modules/hdfs/src/test/org/apache/solr/store/hdfs/HdfsLockFactoryTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsLockFactoryTest.java
index 13e5b08..5eb0e80 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/store/hdfs/HdfsLockFactoryTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/HdfsLockFactoryTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.hdfs;
+package org.apache.solr.hdfs.store;
import com.carrotsearch.randomizedtesting.annotations.Nightly;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -27,7 +27,7 @@ import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BlockCacheTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockCacheTest.java
similarity index 99%
rename from
solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BlockCacheTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockCacheTest.java
index c01e815..db9c4e5 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BlockCacheTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockCacheTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import com.github.benmanes.caffeine.cache.*;
import java.util.Arrays;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockDirectoryTest.java
similarity index 99%
rename from
solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockDirectoryTest.java
index 00cc022..6928444 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BlockDirectoryTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BlockDirectoryTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import com.github.benmanes.caffeine.cache.Caffeine;
import java.io.File;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BufferStoreTest.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BufferStoreTest.java
similarity index 98%
rename from
solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BufferStoreTest.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BufferStoreTest.java
index 10ee342..6962e64 100644
---
a/solr/modules/hdfs/src/test/org/apache/solr/store/blockcache/BufferStoreTest.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/store/blockcache/BufferStoreTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.store.blockcache;
+package org.apache.solr.hdfs.store.blockcache;
import java.math.BigDecimal;
import java.util.Map;
diff --git
a/solr/modules/hdfs/src/test/org/apache/solr/update/TestHdfsUpdateLog.java
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/update/TestHdfsUpdateLog.java
similarity index 95%
rename from
solr/modules/hdfs/src/test/org/apache/solr/update/TestHdfsUpdateLog.java
rename to
solr/modules/hdfs/src/test/org/apache/solr/hdfs/update/TestHdfsUpdateLog.java
index 8d88343..2409928 100644
--- a/solr/modules/hdfs/src/test/org/apache/solr/update/TestHdfsUpdateLog.java
+++
b/solr/modules/hdfs/src/test/org/apache/solr/hdfs/update/TestHdfsUpdateLog.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.solr.update;
+package org.apache.solr.hdfs.update;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import java.io.IOException;
@@ -26,10 +26,13 @@ import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.lucene.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
-import org.apache.solr.cloud.hdfs.HdfsTestUtil;
import org.apache.solr.common.util.IOUtils;
+import org.apache.solr.hdfs.cloud.HdfsTestUtil;
import org.apache.solr.hdfs.util.BadHdfsThreadsFilter;
import org.apache.solr.request.SolrQueryRequest;
+import org.apache.solr.update.DirectUpdateHandler2;
+import org.apache.solr.update.UpdateHandler;
+import org.apache.solr.update.UpdateLog;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
diff --git a/solr/server/scripts/cloud-scripts/snapshotscli.sh
b/solr/server/scripts/cloud-scripts/snapshotscli.sh
index e5a26d6..16c5983 100755
--- a/solr/server/scripts/cloud-scripts/snapshotscli.sh
+++ b/solr/server/scripts/cloud-scripts/snapshotscli.sh
@@ -11,7 +11,7 @@ run_solr_snapshot_tool() {
log4j_config="file:${scriptDir}/../../resources/log4j2-console.xml"
fi
PATH=${JAVA_HOME}/bin:${PATH} ${JVM} ${ZKCLI_JVM_FLAGS}
-Dlog4j.configurationFile=${log4j_config} \
- -classpath "${solrLibPath}" org.apache.solr.core.snapshots.SolrSnapshotsTool
"$@" 2> /dev/null
+ -classpath "${solrLibPath}" org.apache.solr.hdfs.snapshots.SolrSnapshotsTool
"$@" 2> /dev/null
}
usage() {
@@ -104,7 +104,7 @@ snapshotName="$2"
copyListingDirPath=""
distCpCmd="${SOLR_DISTCP_CMD:-hadoop distcp}"
scriptDir=$(dirname "$0")
-solrLibPath="${SOLR_LIB_PATH:-${scriptDir}/../../solr-webapp/webapp/WEB-INF/lib/*:${scriptDir}/../../lib/ext/*}"
+solrLibPath="${SOLR_LIB_PATH:-${scriptDir}/../../solr-webapp/webapp/WEB-INF/lib/*:${scriptDir}/../../lib/ext/*:${scriptDir}/../../../modules/hdfs/lib/*}"
case "${cmd}" in
--create)
diff --git
a/solr/solr-ref-guide/modules/configuration-guide/pages/index-location-format.adoc
b/solr/solr-ref-guide/modules/configuration-guide/pages/index-location-format.adoc
index f577db4..1735572 100644
---
a/solr/solr-ref-guide/modules/configuration-guide/pages/index-location-format.adoc
+++
b/solr/solr-ref-guide/modules/configuration-guide/pages/index-location-format.adoc
@@ -60,6 +60,6 @@ Use this DirectoryFactory to store your index in RAM.
[NOTE]
====
-If you are using Hadoop and would like to store your indexes in HDFS, you
should use the
{solr-javadocs}/modules/hdfs/org/apache/solr/core/HdfsDirectoryFactory.html[`solr.HdfsDirectoryFactory`]
instead of either of the above implementations.
+If you are using Hadoop and would like to store your indexes in HDFS, you
should use the
{solr-javadocs}/modules/hdfs/org/apache/solr/hdfs/HdfsDirectoryFactory.html[`solr.HdfsDirectoryFactory`]
instead of either of the above implementations.
For more details, see the section xref:deployment-guide:solr-on-hdfs.adoc[].
====
diff --git
a/solr/solr-ref-guide/modules/deployment-guide/pages/backup-restore.adoc
b/solr/solr-ref-guide/modules/deployment-guide/pages/backup-restore.adoc
index 12ba11f..18a5527 100644
--- a/solr/solr-ref-guide/modules/deployment-guide/pages/backup-restore.adoc
+++ b/solr/solr-ref-guide/modules/deployment-guide/pages/backup-restore.adoc
@@ -452,7 +452,7 @@ An example configuration using these properties can be
found below:
[source,xml]
----
<backup>
- <repository name="hdfs"
class="org.apache.solr.core.backup.repository.HdfsBackupRepository"
default="false">
+ <repository name="hdfs"
class="org.apache.solr.hdfs.backup.repository.HdfsBackupRepository"
default="false">
<str
name="solr.hdfs.home">hdfs://some_hdfs_host:1234/solr/backup/data</str>
<int name="solr.hdfs.buffer.size">8192</int>
<str name="solr.hdfs.permissions.umask-mode">0022</str>
diff --git
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc
index 7c544fc..652f95b 100644
---
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc
+++
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc
@@ -125,6 +125,8 @@ This is only applicable for users returning information in
JSON format, which is
* SOLR-14660: HDFS storage support has been moved to a module. Existing Solr
configurations do not need any HDFS-related
changes, however the module needs to be installed - see the section
xref:deployment-guide:solr-on-hdfs.adoc[].
+* SOLR-16040: If you are using the HDFS backup repository, you need to change
the repository class to
`org.apache.solr.hdfs.backup.repository.HdfsBackupRepository` - see the HDFS
section in xref:deployment-guide:backup-restore.adoc[].
+
* SOLR-13989: Hadoop authentication support has been moved to the hadoop-auth
module. Existing Solr configurations do not need any Hadoop authentication
related
changes, however the module needs to be installed - see the section
xref:deployment-guide:hadoop-authentication-plugin.adoc[].
diff --git
a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
index 07a803c..c7307dd 100644
---
a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
+++
b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
@@ -86,7 +86,7 @@ import static
org.apache.solr.common.cloud.ZkStateReader.REPLICATION_FACTOR;
public abstract class AbstractCollectionsAPIDistributedZkTestBase extends
SolrCloudTestCase {
private static final Logger log =
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- abstract String getConfigSet();
+ protected abstract String getConfigSet();
@Before
public void setupCluster() throws Exception {