You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by kr...@apache.org on 2023/06/09 12:42:24 UTC
[solr] branch main updated: Update dependencies com.adobe.testing:s3mock-junit4 to v2.12.2 and org.springframework.boot:spring-boot to 2.7.12 (#1545)
This is an automated email from the ASF dual-hosted git repository.
krisden pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new b12627c7486 Update dependencies com.adobe.testing:s3mock-junit4 to v2.12.2 and org.springframework.boot:spring-boot to 2.7.12 (#1545)
b12627c7486 is described below
commit b12627c74863e6c7ec8c3d9359b7ee620e2522c7
Author: Kevin Risden <ri...@users.noreply.github.com>
AuthorDate: Fri Jun 9 08:42:17 2023 -0400
Update dependencies com.adobe.testing:s3mock-junit4 to v2.12.2 and org.springframework.boot:spring-boot to 2.7.12 (#1545)
* Update dependencies com.adobe.testing:s3mock-junit4 to v2.12.2 and org.springframework.boot:spring-boot to 2.7.12
* Deprecate ignoreNoSuchFileException from BackupRepository delete API since it was only ever called with true outside of tests
---
.../randomization/policies/solr-tests.policy | 3 +
.../cloud/api/collections/DeleteBackupCmd.java | 14 ++--
.../solr/core/backup/ShardBackupMetadata.java | 2 +-
.../core/backup/repository/BackupRepository.java | 11 +++
.../repository/LocalFileSystemRepository.java | 7 +-
solr/licenses/aws-java-sdk-core-1.12.15.jar.sha1 | 1 -
solr/licenses/aws-java-sdk-core-1.12.389.jar.sha1 | 1 +
solr/licenses/aws-java-sdk-kms-1.12.15.jar.sha1 | 1 -
solr/licenses/aws-java-sdk-kms-1.12.389.jar.sha1 | 1 +
solr/licenses/aws-java-sdk-s3-1.12.15.jar.sha1 | 1 -
solr/licenses/aws-java-sdk-s3-1.12.389.jar.sha1 | 1 +
solr/licenses/jaxb-runtime-2.3.5.jar.sha1 | 1 -
solr/licenses/jaxb-runtime-2.3.7.jar.sha1 | 1 +
solr/licenses/jmespath-java-1.12.15.jar.sha1 | 1 -
solr/licenses/jmespath-java-1.12.389.jar.sha1 | 1 +
solr/licenses/micrometer-core-1.7.12.jar.sha1 | 1 -
solr/licenses/micrometer-core-1.9.11.jar.sha1 | 1 +
solr/licenses/s3mock-2.1.34.jar.sha1 | 1 -
solr/licenses/s3mock-2.12.2.jar.sha1 | 1 +
solr/licenses/s3mock-junit4-2.1.34.jar.sha1 | 1 -
solr/licenses/s3mock-junit4-2.12.2.jar.sha1 | 1 +
.../s3mock-testsupport-common-2.1.34.jar.sha1 | 1 -
.../s3mock-testsupport-common-2.12.2.jar.sha1 | 1 +
solr/licenses/snakeyaml-1.28.jar.sha1 | 1 -
solr/licenses/snakeyaml-1.30.jar.sha1 | 1 +
solr/licenses/spring-aop-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-aop-5.3.27.jar.sha1 | 1 +
solr/licenses/spring-beans-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-beans-5.3.27.jar.sha1 | 1 +
solr/licenses/spring-boot-2.5.14.jar.sha1 | 1 -
solr/licenses/spring-boot-2.7.12.jar.sha1 | 1 +
solr/licenses/spring-boot-actuator-2.5.14.jar.sha1 | 1 -
solr/licenses/spring-boot-actuator-2.7.12.jar.sha1 | 1 +
...ing-boot-actuator-autoconfigure-2.5.14.jar.sha1 | 1 -
...ing-boot-actuator-autoconfigure-2.7.12.jar.sha1 | 1 +
.../spring-boot-autoconfigure-2.5.14.jar.sha1 | 1 -
.../spring-boot-autoconfigure-2.7.12.jar.sha1 | 1 +
solr/licenses/spring-boot-starter-2.5.14.jar.sha1 | 1 -
solr/licenses/spring-boot-starter-2.7.12.jar.sha1 | 1 +
.../spring-boot-starter-actuator-2.5.14.jar.sha1 | 1 -
.../spring-boot-starter-actuator-2.7.12.jar.sha1 | 1 +
.../spring-boot-starter-jetty-2.5.14.jar.sha1 | 1 -
.../spring-boot-starter-jetty-2.7.12.jar.sha1 | 1 +
.../spring-boot-starter-json-2.5.14.jar.sha1 | 1 -
.../spring-boot-starter-json-2.7.12.jar.sha1 | 1 +
.../spring-boot-starter-logging-2.5.14.jar.sha1 | 1 -
.../spring-boot-starter-logging-2.7.12.jar.sha1 | 1 +
.../spring-boot-starter-web-2.5.14.jar.sha1 | 1 -
.../spring-boot-starter-web-2.7.12.jar.sha1 | 1 +
solr/licenses/spring-context-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-context-5.3.27.jar.sha1 | 1 +
solr/licenses/spring-core-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-core-5.3.27.jar.sha1 | 1 +
solr/licenses/spring-expression-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-expression-5.3.27.jar.sha1 | 1 +
solr/licenses/spring-jcl-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-jcl-5.3.27.jar.sha1 | 1 +
solr/licenses/spring-web-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-web-5.3.27.jar.sha1 | 1 +
solr/licenses/spring-webmvc-5.3.23.jar.sha1 | 1 -
solr/licenses/spring-webmvc-5.3.27.jar.sha1 | 1 +
solr/licenses/tomcat-embed-el-9.0.63.jar.sha1 | 1 -
solr/licenses/tomcat-embed-el-9.0.75.jar.sha1 | 1 +
solr/licenses/txw2-2.3.5.jar.sha1 | 1 -
solr/licenses/txw2-2.3.7.jar.sha1 | 1 +
.../org/apache/solr/gcs/GCSBackupRepository.java | 13 +---
.../solr/gcs/LocalStorageGCSBackupRepository.java | 17 +----
.../backup/repository/HdfsBackupRepository.java | 9 +--
.../org/apache/solr/s3/S3BackupRepository.java | 11 +--
.../java/org/apache/solr/s3/S3StorageClient.java | 3 +
.../org/apache/solr/s3/S3BackupRepositoryTest.java | 4 +-
.../src/test/org/apache/solr/s3/S3PathsTest.java | 2 +-
.../test/org/apache/solr/s3/S3ReadWriteTest.java | 3 -
.../collections/AbstractBackupRepositoryTest.java | 35 ++++-----
.../collections/AbstractIncrementalBackupTest.java | 2 +-
.../apache/solr/core/TrackingBackupRepository.java | 5 +-
versions.lock | 84 +++++++++++-----------
versions.props | 6 +-
78 files changed, 129 insertions(+), 162 deletions(-)
diff --git a/gradle/testing/randomization/policies/solr-tests.policy b/gradle/testing/randomization/policies/solr-tests.policy
index 1f39648da6a..d39a3818b98 100644
--- a/gradle/testing/randomization/policies/solr-tests.policy
+++ b/gradle/testing/randomization/policies/solr-tests.policy
@@ -144,6 +144,9 @@ grant {
permission javax.xml.bind.JAXBPermission "setDatatypeConverter";
+ // needed by s3mock
+ permission java.lang.RuntimePermission "accessClassInPackage.sun.nio.fs";
+
// SSL related properties for Solr tests
permission javax.net.ssl.SSLPermission "setDefaultSSLContext";
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteBackupCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteBackupCmd.java
index 72e1043a957..aa6c8f9ef5b 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteBackupCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteBackupCmd.java
@@ -127,10 +127,10 @@ public class DeleteBackupCmd implements CollApiCmds.CollectionApiCommand {
purgeGraph.build(repository, backupPath);
BackupFilePaths backupPaths = new BackupFilePaths(repository, backupPath);
- repository.delete(backupPaths.getIndexDir(), purgeGraph.indexFileDeletes, true);
+ repository.delete(backupPaths.getIndexDir(), purgeGraph.indexFileDeletes);
repository.delete(
- backupPaths.getShardBackupMetadataDir(), purgeGraph.shardBackupMetadataDeletes, true);
- repository.delete(backupPath, purgeGraph.backupIdDeletes, true);
+ backupPaths.getShardBackupMetadataDir(), purgeGraph.shardBackupMetadataDeletes);
+ repository.delete(backupPath, purgeGraph.backupIdDeletes);
NamedList<Integer> details = new NamedList<>();
details.add("numBackupIds", purgeGraph.backupIdDeletes.size());
@@ -205,9 +205,8 @@ public class DeleteBackupCmd implements CollApiCmds.CollectionApiCommand {
incBackupFiles.getShardBackupMetadataDir(),
shardBackupIdFileDeletes.stream()
.map(ShardBackupId::getBackupMetadataFilename)
- .collect(Collectors.toList()),
- true);
- repository.delete(incBackupFiles.getIndexDir(), unusedFiles, true);
+ .collect(Collectors.toList()));
+ repository.delete(incBackupFiles.getIndexDir(), unusedFiles);
try {
for (BackupId backupId : backupIdsDeletes) {
repository.deleteDirectory(
@@ -223,8 +222,7 @@ public class DeleteBackupCmd implements CollApiCmds.CollectionApiCommand {
backupUri,
backupIdsDeletes.stream()
.map(id -> BackupFilePaths.getBackupPropsName(id))
- .collect(Collectors.toList()),
- true);
+ .collect(Collectors.toList()));
}
private void addResult(
diff --git a/solr/core/src/java/org/apache/solr/core/backup/ShardBackupMetadata.java b/solr/core/src/java/org/apache/solr/core/backup/ShardBackupMetadata.java
index d5f51f25879..c2fe588c068 100644
--- a/solr/core/src/java/org/apache/solr/core/backup/ShardBackupMetadata.java
+++ b/solr/core/src/java/org/apache/solr/core/backup/ShardBackupMetadata.java
@@ -111,7 +111,7 @@ public class ShardBackupMetadata {
final String filename = shardBackupId.getBackupMetadataFilename();
URI fileURI = repository.resolve(folderURI, filename);
if (repository.exists(fileURI)) {
- repository.delete(folderURI, Collections.singleton(filename), true);
+ repository.delete(folderURI, Collections.singleton(filename));
}
try (OutputStream os = repository.createOutput(repository.resolve(folderURI, filename))) {
diff --git a/solr/core/src/java/org/apache/solr/core/backup/repository/BackupRepository.java b/solr/core/src/java/org/apache/solr/core/backup/repository/BackupRepository.java
index 99c96e17bb1..0d968fde0b2 100644
--- a/solr/core/src/java/org/apache/solr/core/backup/repository/BackupRepository.java
+++ b/solr/core/src/java/org/apache/solr/core/backup/repository/BackupRepository.java
@@ -228,12 +228,23 @@ public interface BackupRepository extends NamedListInitializedPlugin, Closeable
* Delete {@code files} at {@code path}
*
* @since 8.3.0
+ * @deprecated Use {@link #delete(URI, Collection)} instead
*/
+ @Deprecated
default void delete(URI path, Collection<String> files, boolean ignoreNoSuchFileException)
throws IOException {
throw new UnsupportedOperationException();
}
+ /**
+ * Delete {@code files} at {@code path}
+ *
+ * @since 9.3.0
+ */
+ default void delete(URI path, Collection<String> files) throws IOException {
+ delete(path, files, true);
+ }
+
/**
* Get checksum of {@code fileName} at {@code dir}. This method only be called on Lucene index
* files
diff --git a/solr/core/src/java/org/apache/solr/core/backup/repository/LocalFileSystemRepository.java b/solr/core/src/java/org/apache/solr/core/backup/repository/LocalFileSystemRepository.java
index 752986eb24d..f1dbe7d7362 100644
--- a/solr/core/src/java/org/apache/solr/core/backup/repository/LocalFileSystemRepository.java
+++ b/solr/core/src/java/org/apache/solr/core/backup/repository/LocalFileSystemRepository.java
@@ -160,16 +160,15 @@ public class LocalFileSystemRepository implements BackupRepository {
}
@Override
- public void delete(URI path, Collection<String> files, boolean ignoreNoSuchFileException)
- throws IOException {
+ public void delete(URI path, Collection<String> files) throws IOException {
if (files.isEmpty()) return;
try (FSDirectory dir = new NIOFSDirectory(Path.of(path), NoLockFactory.INSTANCE)) {
for (String file : files) {
try {
dir.deleteFile(file);
- } catch (NoSuchFileException e) {
- if (!ignoreNoSuchFileException) throw e;
+ } catch (NoSuchFileException ignore) {
+
}
}
}
diff --git a/solr/licenses/aws-java-sdk-core-1.12.15.jar.sha1 b/solr/licenses/aws-java-sdk-core-1.12.15.jar.sha1
deleted file mode 100644
index 840ba4d358b..00000000000
--- a/solr/licenses/aws-java-sdk-core-1.12.15.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-6b3df58b3908dfaf7bdef66005d5bc190117debb
diff --git a/solr/licenses/aws-java-sdk-core-1.12.389.jar.sha1 b/solr/licenses/aws-java-sdk-core-1.12.389.jar.sha1
new file mode 100644
index 00000000000..6190c485022
--- /dev/null
+++ b/solr/licenses/aws-java-sdk-core-1.12.389.jar.sha1
@@ -0,0 +1 @@
+64f0926ab1b3add2965db7ce241e81d35cba4cfb
diff --git a/solr/licenses/aws-java-sdk-kms-1.12.15.jar.sha1 b/solr/licenses/aws-java-sdk-kms-1.12.15.jar.sha1
deleted file mode 100644
index be936a01da1..00000000000
--- a/solr/licenses/aws-java-sdk-kms-1.12.15.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c22f8a7a167de059645ce65ce4f41a22d9287e04
diff --git a/solr/licenses/aws-java-sdk-kms-1.12.389.jar.sha1 b/solr/licenses/aws-java-sdk-kms-1.12.389.jar.sha1
new file mode 100644
index 00000000000..c8d1636b92b
--- /dev/null
+++ b/solr/licenses/aws-java-sdk-kms-1.12.389.jar.sha1
@@ -0,0 +1 @@
+d84b2979e8ef5f3797223e8301419a7974cb5768
diff --git a/solr/licenses/aws-java-sdk-s3-1.12.15.jar.sha1 b/solr/licenses/aws-java-sdk-s3-1.12.15.jar.sha1
deleted file mode 100644
index 1a8a33c600f..00000000000
--- a/solr/licenses/aws-java-sdk-s3-1.12.15.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d360360ca1a93cce9efa197be138e6f8741dd716
diff --git a/solr/licenses/aws-java-sdk-s3-1.12.389.jar.sha1 b/solr/licenses/aws-java-sdk-s3-1.12.389.jar.sha1
new file mode 100644
index 00000000000..32515165941
--- /dev/null
+++ b/solr/licenses/aws-java-sdk-s3-1.12.389.jar.sha1
@@ -0,0 +1 @@
+6f0621a45a6a71e2802972a311ae853404495941
diff --git a/solr/licenses/jaxb-runtime-2.3.5.jar.sha1 b/solr/licenses/jaxb-runtime-2.3.5.jar.sha1
deleted file mode 100644
index c61fff6d309..00000000000
--- a/solr/licenses/jaxb-runtime-2.3.5.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a169a961a2bb9ac69517ec1005e451becf5cdfab
diff --git a/solr/licenses/jaxb-runtime-2.3.7.jar.sha1 b/solr/licenses/jaxb-runtime-2.3.7.jar.sha1
new file mode 100644
index 00000000000..54fd7fb6dea
--- /dev/null
+++ b/solr/licenses/jaxb-runtime-2.3.7.jar.sha1
@@ -0,0 +1 @@
+ebcde6a44159eb9e3db721dfe6b45f26e6272341
diff --git a/solr/licenses/jmespath-java-1.12.15.jar.sha1 b/solr/licenses/jmespath-java-1.12.15.jar.sha1
deleted file mode 100644
index 4c4c3889dc0..00000000000
--- a/solr/licenses/jmespath-java-1.12.15.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a61d37bf81e4e2ff9a9b16491e8697cfab4bdee5
diff --git a/solr/licenses/jmespath-java-1.12.389.jar.sha1 b/solr/licenses/jmespath-java-1.12.389.jar.sha1
new file mode 100644
index 00000000000..b33c450c9a2
--- /dev/null
+++ b/solr/licenses/jmespath-java-1.12.389.jar.sha1
@@ -0,0 +1 @@
+e481f75369be62bd2ade115a1b2e55056f3b2c49
diff --git a/solr/licenses/micrometer-core-1.7.12.jar.sha1 b/solr/licenses/micrometer-core-1.7.12.jar.sha1
deleted file mode 100644
index 7fbe56d5602..00000000000
--- a/solr/licenses/micrometer-core-1.7.12.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2a6df7cf6131216940f3ae64c0c6b290d77de0cd
diff --git a/solr/licenses/micrometer-core-1.9.11.jar.sha1 b/solr/licenses/micrometer-core-1.9.11.jar.sha1
new file mode 100644
index 00000000000..5dd8a9d25bb
--- /dev/null
+++ b/solr/licenses/micrometer-core-1.9.11.jar.sha1
@@ -0,0 +1 @@
+c9c51ffe93b55af9deb2e77ac2fa1777b9ee1c14
diff --git a/solr/licenses/s3mock-2.1.34.jar.sha1 b/solr/licenses/s3mock-2.1.34.jar.sha1
deleted file mode 100644
index 9dede15e5dd..00000000000
--- a/solr/licenses/s3mock-2.1.34.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-1d01b90a971d751444251bc72be019a77eb77a7b
diff --git a/solr/licenses/s3mock-2.12.2.jar.sha1 b/solr/licenses/s3mock-2.12.2.jar.sha1
new file mode 100644
index 00000000000..5a1e0641d6b
--- /dev/null
+++ b/solr/licenses/s3mock-2.12.2.jar.sha1
@@ -0,0 +1 @@
+d841a4243f07171ae8cdfb131ff9df50d12e67b7
diff --git a/solr/licenses/s3mock-junit4-2.1.34.jar.sha1 b/solr/licenses/s3mock-junit4-2.1.34.jar.sha1
deleted file mode 100644
index bf545362441..00000000000
--- a/solr/licenses/s3mock-junit4-2.1.34.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ddac2928d2bf30dab3a3330f43a5c02a2315cda8
diff --git a/solr/licenses/s3mock-junit4-2.12.2.jar.sha1 b/solr/licenses/s3mock-junit4-2.12.2.jar.sha1
new file mode 100644
index 00000000000..66344538e7f
--- /dev/null
+++ b/solr/licenses/s3mock-junit4-2.12.2.jar.sha1
@@ -0,0 +1 @@
+dc3ea8f85c188e614c6158a7d4e687d56963a0af
diff --git a/solr/licenses/s3mock-testsupport-common-2.1.34.jar.sha1 b/solr/licenses/s3mock-testsupport-common-2.1.34.jar.sha1
deleted file mode 100644
index dabafd70c94..00000000000
--- a/solr/licenses/s3mock-testsupport-common-2.1.34.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-09e127b9e40a01f16bdd510f2aaf490b17e1b1f3
diff --git a/solr/licenses/s3mock-testsupport-common-2.12.2.jar.sha1 b/solr/licenses/s3mock-testsupport-common-2.12.2.jar.sha1
new file mode 100644
index 00000000000..0d4214b7b3b
--- /dev/null
+++ b/solr/licenses/s3mock-testsupport-common-2.12.2.jar.sha1
@@ -0,0 +1 @@
+09146d55f27bda32a83bebbb8832ba7b7c1d0acf
diff --git a/solr/licenses/snakeyaml-1.28.jar.sha1 b/solr/licenses/snakeyaml-1.28.jar.sha1
deleted file mode 100644
index 879e89213e8..00000000000
--- a/solr/licenses/snakeyaml-1.28.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-7cae037c3014350c923776548e71c9feb7a69259
diff --git a/solr/licenses/snakeyaml-1.30.jar.sha1 b/solr/licenses/snakeyaml-1.30.jar.sha1
new file mode 100644
index 00000000000..365daa0aef7
--- /dev/null
+++ b/solr/licenses/snakeyaml-1.30.jar.sha1
@@ -0,0 +1 @@
+8fde7fe2586328ac3c68db92045e1c8759125000
diff --git a/solr/licenses/spring-aop-5.3.23.jar.sha1 b/solr/licenses/spring-aop-5.3.23.jar.sha1
deleted file mode 100644
index b9b6080f9e5..00000000000
--- a/solr/licenses/spring-aop-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-30d0034ba29178e98781d85f51a7eb709a628e9b
diff --git a/solr/licenses/spring-aop-5.3.27.jar.sha1 b/solr/licenses/spring-aop-5.3.27.jar.sha1
new file mode 100644
index 00000000000..69f7603ae19
--- /dev/null
+++ b/solr/licenses/spring-aop-5.3.27.jar.sha1
@@ -0,0 +1 @@
+ecae2962d53c587fd0e405cd60dc8415d1b9e12d
diff --git a/solr/licenses/spring-beans-5.3.23.jar.sha1 b/solr/licenses/spring-beans-5.3.23.jar.sha1
deleted file mode 100644
index 82b616e0d43..00000000000
--- a/solr/licenses/spring-beans-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-3bdefbf6042ed742cbe16f27d2d14cca9096a606
diff --git a/solr/licenses/spring-beans-5.3.27.jar.sha1 b/solr/licenses/spring-beans-5.3.27.jar.sha1
new file mode 100644
index 00000000000..7c09b141146
--- /dev/null
+++ b/solr/licenses/spring-beans-5.3.27.jar.sha1
@@ -0,0 +1 @@
+46e7d917551ffcc0a104fd971d1fa207b30d7761
diff --git a/solr/licenses/spring-boot-2.5.14.jar.sha1 b/solr/licenses/spring-boot-2.5.14.jar.sha1
deleted file mode 100644
index 263b6d90901..00000000000
--- a/solr/licenses/spring-boot-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-4d581ebadc5fda0ec2d4a70653fe89087bd55983
diff --git a/solr/licenses/spring-boot-2.7.12.jar.sha1 b/solr/licenses/spring-boot-2.7.12.jar.sha1
new file mode 100644
index 00000000000..f14f7f17d63
--- /dev/null
+++ b/solr/licenses/spring-boot-2.7.12.jar.sha1
@@ -0,0 +1 @@
+888c3545dc3c6ca791753c7ad621a2d03f222732
diff --git a/solr/licenses/spring-boot-actuator-2.5.14.jar.sha1 b/solr/licenses/spring-boot-actuator-2.5.14.jar.sha1
deleted file mode 100644
index 9292954d702..00000000000
--- a/solr/licenses/spring-boot-actuator-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-7d8e27b27011ff0d5be6d09d7c335fee2c9bf239
diff --git a/solr/licenses/spring-boot-actuator-2.7.12.jar.sha1 b/solr/licenses/spring-boot-actuator-2.7.12.jar.sha1
new file mode 100644
index 00000000000..2de5e2e1354
--- /dev/null
+++ b/solr/licenses/spring-boot-actuator-2.7.12.jar.sha1
@@ -0,0 +1 @@
+c5b5961120028a8a7db9b2d5b4f5f926fd0b0b15
diff --git a/solr/licenses/spring-boot-actuator-autoconfigure-2.5.14.jar.sha1 b/solr/licenses/spring-boot-actuator-autoconfigure-2.5.14.jar.sha1
deleted file mode 100644
index 04f5cdb748e..00000000000
--- a/solr/licenses/spring-boot-actuator-autoconfigure-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b6bbfcf903699302aba7446b541772a1eb208272
diff --git a/solr/licenses/spring-boot-actuator-autoconfigure-2.7.12.jar.sha1 b/solr/licenses/spring-boot-actuator-autoconfigure-2.7.12.jar.sha1
new file mode 100644
index 00000000000..b06d09a061b
--- /dev/null
+++ b/solr/licenses/spring-boot-actuator-autoconfigure-2.7.12.jar.sha1
@@ -0,0 +1 @@
+18f55d22dc8d23f46f6dfd8dd352f3ae0bc8587c
diff --git a/solr/licenses/spring-boot-autoconfigure-2.5.14.jar.sha1 b/solr/licenses/spring-boot-autoconfigure-2.5.14.jar.sha1
deleted file mode 100644
index 954a37e9d37..00000000000
--- a/solr/licenses/spring-boot-autoconfigure-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-83a8477a3d150070792594dc3a72addc65de118e
diff --git a/solr/licenses/spring-boot-autoconfigure-2.7.12.jar.sha1 b/solr/licenses/spring-boot-autoconfigure-2.7.12.jar.sha1
new file mode 100644
index 00000000000..a9d9d59d1db
--- /dev/null
+++ b/solr/licenses/spring-boot-autoconfigure-2.7.12.jar.sha1
@@ -0,0 +1 @@
+5bb8661bba72f7ca353ae486ccb06285f0ed84eb
diff --git a/solr/licenses/spring-boot-starter-2.5.14.jar.sha1 b/solr/licenses/spring-boot-starter-2.5.14.jar.sha1
deleted file mode 100644
index 29393666dae..00000000000
--- a/solr/licenses/spring-boot-starter-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-932d4aba1c83f5bd0e5176dfd432ef1e6f874a9b
diff --git a/solr/licenses/spring-boot-starter-2.7.12.jar.sha1 b/solr/licenses/spring-boot-starter-2.7.12.jar.sha1
new file mode 100644
index 00000000000..aef33915fb5
--- /dev/null
+++ b/solr/licenses/spring-boot-starter-2.7.12.jar.sha1
@@ -0,0 +1 @@
+a5f6a95e4e4a50cfaf0f14c86240d8be49637141
diff --git a/solr/licenses/spring-boot-starter-actuator-2.5.14.jar.sha1 b/solr/licenses/spring-boot-starter-actuator-2.5.14.jar.sha1
deleted file mode 100644
index 8129f1851b2..00000000000
--- a/solr/licenses/spring-boot-starter-actuator-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-cc4c81502b3507dc1694dcef09370d0e97d047de
diff --git a/solr/licenses/spring-boot-starter-actuator-2.7.12.jar.sha1 b/solr/licenses/spring-boot-starter-actuator-2.7.12.jar.sha1
new file mode 100644
index 00000000000..b38b6a5e399
--- /dev/null
+++ b/solr/licenses/spring-boot-starter-actuator-2.7.12.jar.sha1
@@ -0,0 +1 @@
+f3f66262d4b856db3afbb55e4c04446b24b085d6
diff --git a/solr/licenses/spring-boot-starter-jetty-2.5.14.jar.sha1 b/solr/licenses/spring-boot-starter-jetty-2.5.14.jar.sha1
deleted file mode 100644
index 27dd9d61726..00000000000
--- a/solr/licenses/spring-boot-starter-jetty-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-17c20c40f0116ca6ce0fb478286e6064d2188dd0
diff --git a/solr/licenses/spring-boot-starter-jetty-2.7.12.jar.sha1 b/solr/licenses/spring-boot-starter-jetty-2.7.12.jar.sha1
new file mode 100644
index 00000000000..f7764cf0f9f
--- /dev/null
+++ b/solr/licenses/spring-boot-starter-jetty-2.7.12.jar.sha1
@@ -0,0 +1 @@
+12c93e9376bfb45f8eab849eb380137722f93c46
diff --git a/solr/licenses/spring-boot-starter-json-2.5.14.jar.sha1 b/solr/licenses/spring-boot-starter-json-2.5.14.jar.sha1
deleted file mode 100644
index ca55546f289..00000000000
--- a/solr/licenses/spring-boot-starter-json-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-24640eed89ce4705722d0a5e103cb3cce2fbf9a5
diff --git a/solr/licenses/spring-boot-starter-json-2.7.12.jar.sha1 b/solr/licenses/spring-boot-starter-json-2.7.12.jar.sha1
new file mode 100644
index 00000000000..d96990b6418
--- /dev/null
+++ b/solr/licenses/spring-boot-starter-json-2.7.12.jar.sha1
@@ -0,0 +1 @@
+863c30cf3a7858421d71762e1632d887cdb0866f
diff --git a/solr/licenses/spring-boot-starter-logging-2.5.14.jar.sha1 b/solr/licenses/spring-boot-starter-logging-2.5.14.jar.sha1
deleted file mode 100644
index e5a29f0b59c..00000000000
--- a/solr/licenses/spring-boot-starter-logging-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-312e9c5f3476ccc6b809c227fdfe7a72cdbce592
diff --git a/solr/licenses/spring-boot-starter-logging-2.7.12.jar.sha1 b/solr/licenses/spring-boot-starter-logging-2.7.12.jar.sha1
new file mode 100644
index 00000000000..e9aa96cf811
--- /dev/null
+++ b/solr/licenses/spring-boot-starter-logging-2.7.12.jar.sha1
@@ -0,0 +1 @@
+b6590492b4d92baebb4ac7c1b5db11fc3488e347
diff --git a/solr/licenses/spring-boot-starter-web-2.5.14.jar.sha1 b/solr/licenses/spring-boot-starter-web-2.5.14.jar.sha1
deleted file mode 100644
index f540a96a5f5..00000000000
--- a/solr/licenses/spring-boot-starter-web-2.5.14.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-284d497a5786bae68ece94a22f9ca4a7b52ff0c5
diff --git a/solr/licenses/spring-boot-starter-web-2.7.12.jar.sha1 b/solr/licenses/spring-boot-starter-web-2.7.12.jar.sha1
new file mode 100644
index 00000000000..920b5538fcb
--- /dev/null
+++ b/solr/licenses/spring-boot-starter-web-2.7.12.jar.sha1
@@ -0,0 +1 @@
+aba3f96331e2cfa316d8ec7446804721120a0552
diff --git a/solr/licenses/spring-context-5.3.23.jar.sha1 b/solr/licenses/spring-context-5.3.23.jar.sha1
deleted file mode 100644
index 5487c862696..00000000000
--- a/solr/licenses/spring-context-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-530b36b2ce2c9e471c6a260c3f181bcd20325a58
diff --git a/solr/licenses/spring-context-5.3.27.jar.sha1 b/solr/licenses/spring-context-5.3.27.jar.sha1
new file mode 100644
index 00000000000..6f6cccb3162
--- /dev/null
+++ b/solr/licenses/spring-context-5.3.27.jar.sha1
@@ -0,0 +1 @@
+0251162aa2fe5cb374a482ae87fa6e8e8e747d72
diff --git a/solr/licenses/spring-core-5.3.23.jar.sha1 b/solr/licenses/spring-core-5.3.23.jar.sha1
deleted file mode 100644
index 1b83d4905c5..00000000000
--- a/solr/licenses/spring-core-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-91407dc1106ea423c44150f3da1a0b4f8e25e5ca
diff --git a/solr/licenses/spring-core-5.3.27.jar.sha1 b/solr/licenses/spring-core-5.3.27.jar.sha1
new file mode 100644
index 00000000000..41cad273635
--- /dev/null
+++ b/solr/licenses/spring-core-5.3.27.jar.sha1
@@ -0,0 +1 @@
+ff5e35f2d4f72d22c476ff9b7bce1de25c980ebd
diff --git a/solr/licenses/spring-expression-5.3.23.jar.sha1 b/solr/licenses/spring-expression-5.3.23.jar.sha1
deleted file mode 100644
index 7253c5b000c..00000000000
--- a/solr/licenses/spring-expression-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-3a676bf4b9bc42bd37ab5ad264acb6ceb63397a2
diff --git a/solr/licenses/spring-expression-5.3.27.jar.sha1 b/solr/licenses/spring-expression-5.3.27.jar.sha1
new file mode 100644
index 00000000000..c2c59add74e
--- /dev/null
+++ b/solr/licenses/spring-expression-5.3.27.jar.sha1
@@ -0,0 +1 @@
+6225619970e8376df5c3d777610d9d03b977063b
diff --git a/solr/licenses/spring-jcl-5.3.23.jar.sha1 b/solr/licenses/spring-jcl-5.3.23.jar.sha1
deleted file mode 100644
index 402338e1b64..00000000000
--- a/solr/licenses/spring-jcl-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-3c7eb5fcca67b611065f73ff4325e398f8b051a3
diff --git a/solr/licenses/spring-jcl-5.3.27.jar.sha1 b/solr/licenses/spring-jcl-5.3.27.jar.sha1
new file mode 100644
index 00000000000..cef4cecae97
--- /dev/null
+++ b/solr/licenses/spring-jcl-5.3.27.jar.sha1
@@ -0,0 +1 @@
+09698ea7d5361b5e3a27ed08beb7770279bd2397
diff --git a/solr/licenses/spring-web-5.3.23.jar.sha1 b/solr/licenses/spring-web-5.3.23.jar.sha1
deleted file mode 100644
index 9c7d6862d02..00000000000
--- a/solr/licenses/spring-web-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-0193f5276092d9cbe3222c63885b47ca7b2cce97
diff --git a/solr/licenses/spring-web-5.3.27.jar.sha1 b/solr/licenses/spring-web-5.3.27.jar.sha1
new file mode 100644
index 00000000000..6b2d692cc30
--- /dev/null
+++ b/solr/licenses/spring-web-5.3.27.jar.sha1
@@ -0,0 +1 @@
+a51c45a8602052a2a90f7e645a47ba8df1547795
diff --git a/solr/licenses/spring-webmvc-5.3.23.jar.sha1 b/solr/licenses/spring-webmvc-5.3.23.jar.sha1
deleted file mode 100644
index 5dc279b7ae2..00000000000
--- a/solr/licenses/spring-webmvc-5.3.23.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b163527c275b0374371890c0b76c2a2a09f9804b
diff --git a/solr/licenses/spring-webmvc-5.3.27.jar.sha1 b/solr/licenses/spring-webmvc-5.3.27.jar.sha1
new file mode 100644
index 00000000000..5c353cce07c
--- /dev/null
+++ b/solr/licenses/spring-webmvc-5.3.27.jar.sha1
@@ -0,0 +1 @@
+8beabbb0cb64c448b39df790b62e342245ee7971
diff --git a/solr/licenses/tomcat-embed-el-9.0.63.jar.sha1 b/solr/licenses/tomcat-embed-el-9.0.63.jar.sha1
deleted file mode 100644
index 2242a4e69c2..00000000000
--- a/solr/licenses/tomcat-embed-el-9.0.63.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b595f0bdae0392c8b3c8592fea10023956a3f619
diff --git a/solr/licenses/tomcat-embed-el-9.0.75.jar.sha1 b/solr/licenses/tomcat-embed-el-9.0.75.jar.sha1
new file mode 100644
index 00000000000..695d5914abc
--- /dev/null
+++ b/solr/licenses/tomcat-embed-el-9.0.75.jar.sha1
@@ -0,0 +1 @@
+8b97771742cbd402ad1350190f8d08b240e1793b
diff --git a/solr/licenses/txw2-2.3.5.jar.sha1 b/solr/licenses/txw2-2.3.5.jar.sha1
deleted file mode 100644
index 793f9c8e802..00000000000
--- a/solr/licenses/txw2-2.3.5.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ec8930fa62e7b1758b1664d135f50c7abe86a4a3
diff --git a/solr/licenses/txw2-2.3.7.jar.sha1 b/solr/licenses/txw2-2.3.7.jar.sha1
new file mode 100644
index 00000000000..a0079c18b7d
--- /dev/null
+++ b/solr/licenses/txw2-2.3.7.jar.sha1
@@ -0,0 +1 @@
+55cddcac1945150e09b09b0f89d86799652eee82
diff --git a/solr/modules/gcs-repository/src/java/org/apache/solr/gcs/GCSBackupRepository.java b/solr/modules/gcs-repository/src/java/org/apache/solr/gcs/GCSBackupRepository.java
index 74f1f7f403d..5f9b2314b5d 100644
--- a/solr/modules/gcs-repository/src/java/org/apache/solr/gcs/GCSBackupRepository.java
+++ b/solr/modules/gcs-repository/src/java/org/apache/solr/gcs/GCSBackupRepository.java
@@ -38,7 +38,6 @@ import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.WritableByteChannel;
import java.nio.file.FileAlreadyExistsException;
-import java.nio.file.NoSuchFileException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -323,8 +322,7 @@ public class GCSBackupRepository implements BackupRepository {
}
@Override
- public void delete(URI path, Collection<String> files, boolean ignoreNoSuchFileException)
- throws IOException {
+ public void delete(URI path, Collection<String> files) {
if (files.isEmpty()) {
return;
}
@@ -333,14 +331,7 @@ public class GCSBackupRepository implements BackupRepository {
files.stream()
.map(file -> BlobId.of(bucketName, prefix + file))
.collect(Collectors.toList());
- List<Boolean> result = storage.delete(blobDeletes);
- if (!ignoreNoSuchFileException) {
- int failedDelete = result.indexOf(Boolean.FALSE);
- if (failedDelete != -1) {
- throw new NoSuchFileException(
- "File " + blobDeletes.get(failedDelete).getName() + " was not found");
- }
- }
+ storage.delete(blobDeletes);
}
@Override
diff --git a/solr/modules/gcs-repository/src/test/org/apache/solr/gcs/LocalStorageGCSBackupRepository.java b/solr/modules/gcs-repository/src/test/org/apache/solr/gcs/LocalStorageGCSBackupRepository.java
index 43a17aac5ed..fc26a188f87 100644
--- a/solr/modules/gcs-repository/src/test/org/apache/solr/gcs/LocalStorageGCSBackupRepository.java
+++ b/solr/modules/gcs-repository/src/test/org/apache/solr/gcs/LocalStorageGCSBackupRepository.java
@@ -25,7 +25,6 @@ import com.google.cloud.storage.StorageException;
import com.google.cloud.storage.contrib.nio.testing.LocalStorageHelper;
import java.io.IOException;
import java.net.URI;
-import java.nio.file.NoSuchFileException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -58,21 +57,11 @@ public class LocalStorageGCSBackupRepository extends GCSBackupRepository {
// production use cases, but
// isn't supported by the in-memory Storage implementation provided by LocalStorageHelper
@Override
- public void delete(URI path, Collection<String> files, boolean ignoreNoSuchFileException)
- throws IOException {
- final List<Boolean> results = new ArrayList<>();
-
+ public void delete(URI path, Collection<String> files) {
final List<String> filesOrdered = new ArrayList<>(files);
for (String file : filesOrdered) {
- final String prefix = path.toString().endsWith("/") ? path.toString() : path.toString() + "/";
- results.add(storage.delete(BlobId.of(bucketName, prefix + file)));
- }
-
- if (!ignoreNoSuchFileException) {
- int failedDelete = results.indexOf(Boolean.FALSE);
- if (failedDelete != -1) {
- throw new NoSuchFileException("File " + filesOrdered.get(failedDelete) + " was not found");
- }
+ final String prefix = path.toString().endsWith("/") ? path.toString() : path + "/";
+ storage.delete(BlobId.of(bucketName, prefix + file));
}
}
diff --git a/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/HdfsBackupRepository.java b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/HdfsBackupRepository.java
index c50b63e6752..2f02a9fa3fd 100644
--- a/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/HdfsBackupRepository.java
+++ b/solr/modules/hdfs/src/java/org/apache/solr/hdfs/backup/repository/HdfsBackupRepository.java
@@ -22,7 +22,6 @@ import java.io.OutputStream;
import java.lang.invoke.MethodHandles;
import java.net.URI;
import java.net.URISyntaxException;
-import java.nio.file.NoSuchFileException;
import java.util.Collection;
import java.util.Objects;
import org.apache.hadoop.conf.Configuration;
@@ -217,16 +216,12 @@ public class HdfsBackupRepository implements BackupRepository {
}
@Override
- public void delete(URI path, Collection<String> files, boolean ignoreNoSuchFileException)
- throws IOException {
+ public void delete(URI path, Collection<String> files) throws IOException {
if (files.isEmpty()) return;
for (String file : files) {
Path filePath = new Path(new Path(path), file);
- boolean success = fileSystem.delete(filePath, false);
- if (!ignoreNoSuchFileException && !success) {
- throw new NoSuchFileException(filePath.toString());
- }
+ fileSystem.delete(filePath, false);
}
}
}
diff --git a/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3BackupRepository.java b/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3BackupRepository.java
index 2f5f543360a..728c36a3b56 100644
--- a/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3BackupRepository.java
+++ b/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3BackupRepository.java
@@ -162,8 +162,7 @@ public class S3BackupRepository implements BackupRepository {
}
@Override
- public void delete(URI path, Collection<String> files, boolean ignoreNoSuchFileException)
- throws IOException {
+ public void delete(URI path, Collection<String> files) throws IOException {
Objects.requireNonNull(path, "cannot delete files without a valid URI path");
Objects.requireNonNull(files, "collection of files to delete cannot be null");
@@ -177,13 +176,7 @@ public class S3BackupRepository implements BackupRepository {
.map(S3BackupRepository::getS3Path)
.collect(Collectors.toSet());
- try {
- client.delete(filesToDelete);
- } catch (S3NotFoundException e) {
- if (!ignoreNoSuchFileException) {
- throw e;
- }
- }
+ client.delete(filesToDelete);
}
@Override
diff --git a/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3StorageClient.java b/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3StorageClient.java
index b13ab2a7bd9..3d600899647 100644
--- a/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3StorageClient.java
+++ b/solr/modules/s3-repository/src/java/org/apache/solr/s3/S3StorageClient.java
@@ -346,6 +346,9 @@ public class S3StorageClient {
*/
long length(String path) throws S3Exception {
String s3Path = sanitizedFilePath(path);
+ if (isDirectory(s3Path)) {
+ throw new S3Exception("Path is Directory");
+ }
try {
HeadObjectResponse objectMetadata =
s3Client.headObject(b -> b.bucket(bucketName).key(s3Path));
diff --git a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3BackupRepositoryTest.java b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3BackupRepositoryTest.java
index 6cc78f95e8d..b7f35c574f0 100644
--- a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3BackupRepositoryTest.java
+++ b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3BackupRepositoryTest.java
@@ -104,13 +104,13 @@ public class S3BackupRepositoryTest extends AbstractBackupRepositoryTest {
public void testLocalDirectoryFunctions() throws Exception {
try (S3BackupRepository repo = getRepository()) {
- URI path = new URI("/test");
+ URI path = new URI("/test/");
repo.createDirectory(path);
assertTrue(repo.exists(path));
assertEquals(BackupRepository.PathType.DIRECTORY, repo.getPathType(path));
assertEquals("No files should exist in dir yet", repo.listAll(path).length, 0);
- URI subDir = new URI("/test/dir");
+ URI subDir = new URI("/test/dir/");
repo.createDirectory(subDir);
assertTrue(repo.exists(subDir));
assertEquals(BackupRepository.PathType.DIRECTORY, repo.getPathType(subDir));
diff --git a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3PathsTest.java b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3PathsTest.java
index 4b3a0c9d3f2..d314855c3b1 100644
--- a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3PathsTest.java
+++ b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3PathsTest.java
@@ -48,7 +48,7 @@ public class S3PathsTest extends AbstractS3ClientTest {
public void testDirectory() throws S3Exception {
client.createDirectory("/simple-directory");
- assertTrue(client.pathExists("/simple-directory"));
+ assertFalse("Dir path needs a trailing slash", client.pathExists("/simple-directory"));
assertTrue("Dir should exist without a leading slash", client.pathExists("simple-directory/"));
assertTrue("Dir should exist with a leading slash", client.pathExists("/simple-directory/"));
assertTrue(
diff --git a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3ReadWriteTest.java b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3ReadWriteTest.java
index 8879879699d..9b6e3172f86 100644
--- a/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3ReadWriteTest.java
+++ b/solr/modules/s3-repository/src/test/org/apache/solr/s3/S3ReadWriteTest.java
@@ -20,7 +20,6 @@ import static org.hamcrest.Matchers.containsString;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
-import java.util.Collections;
import org.hamcrest.MatcherAssert;
import org.junit.Test;
@@ -103,7 +102,5 @@ public class S3ReadWriteTest extends AbstractS3ClientTest {
public void testNotFound() {
assertThrows(S3NotFoundException.class, () -> client.pullStream("/not-found"));
assertThrows(S3NotFoundException.class, () -> client.length("/not-found"));
- assertThrows(
- S3NotFoundException.class, () -> client.delete(Collections.singleton("/not-found")));
}
}
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractBackupRepositoryTest.java b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractBackupRepositoryTest.java
index 3bfac1a08cf..9a260d76a56 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractBackupRepositoryTest.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractBackupRepositoryTest.java
@@ -31,10 +31,6 @@ import org.apache.solr.core.backup.repository.BackupRepository;
import org.junit.Test;
public abstract class AbstractBackupRepositoryTest extends SolrTestCaseJ4 {
-
- private static final boolean IGNORE_NONEXISTENT = true;
- private static final boolean REPORT_NONEXISTENT = false;
-
protected abstract BackupRepository getRepository();
protected abstract URI getBaseUri() throws URISyntaxException;
@@ -78,8 +74,8 @@ public abstract class AbstractBackupRepositoryTest extends SolrTestCaseJ4 {
public void testCanDetermineWhetherFilesAndDirectoriesExist() throws Exception {
try (BackupRepository repo = getRepository()) {
// Create 'emptyDir/', 'nonEmptyDir/', and 'nonEmptyDir/file.txt'
- final URI emptyDirUri = repo.resolve(getBaseUri(), "emptyDir");
- final URI nonEmptyDirUri = repo.resolve(getBaseUri(), "nonEmptyDir");
+ final URI emptyDirUri = repo.resolve(getBaseUri(), "emptyDir/");
+ final URI nonEmptyDirUri = repo.resolve(getBaseUri(), "nonEmptyDir/");
final URI nestedFileUri = repo.resolve(nonEmptyDirUri, "file.txt");
repo.createDirectory(emptyDirUri);
repo.createDirectory(nonEmptyDirUri);
@@ -88,7 +84,7 @@ public abstract class AbstractBackupRepositoryTest extends SolrTestCaseJ4 {
assertTrue(repo.exists(emptyDirUri));
assertTrue(repo.exists(nonEmptyDirUri));
assertTrue(repo.exists(nestedFileUri));
- final URI nonexistedDirUri = repo.resolve(getBaseUri(), "nonexistentDir");
+ final URI nonexistedDirUri = repo.resolve(getBaseUri(), "nonexistentDir/");
assertFalse(repo.exists(nonexistedDirUri));
}
}
@@ -96,8 +92,8 @@ public abstract class AbstractBackupRepositoryTest extends SolrTestCaseJ4 {
@Test
public void testCanDistinguishBetweenFilesAndDirectories() throws Exception {
try (BackupRepository repo = getRepository()) {
- final URI emptyDirUri = repo.resolve(getBaseUri(), "emptyDir");
- final URI nonEmptyDirUri = repo.resolve(getBaseUri(), "nonEmptyDir");
+ final URI emptyDirUri = repo.resolve(getBaseUri(), "emptyDir/");
+ final URI nonEmptyDirUri = repo.resolve(getBaseUri(), "nonEmptyDir/");
final URI nestedFileUri = repo.resolve(nonEmptyDirUri, "file.txt");
repo.createDirectory(emptyDirUri);
repo.createDirectory(nonEmptyDirUri);
@@ -151,10 +147,10 @@ public abstract class AbstractBackupRepositoryTest extends SolrTestCaseJ4 {
assertFalse(repo.exists(fileUri));
// Delete the middle directory in a deeply nested structure (/nest1/nest2/nest3/nest4)
- final URI level1DeeplyNestedUri = repo.resolve(getBaseUri(), "nest1");
- final URI level2DeeplyNestedUri = repo.resolve(level1DeeplyNestedUri, "nest2");
- final URI level3DeeplyNestedUri = repo.resolve(level2DeeplyNestedUri, "nest3");
- final URI level4DeeplyNestedUri = repo.resolve(level3DeeplyNestedUri, "nest4");
+ final URI level1DeeplyNestedUri = repo.resolve(getBaseUri(), "nest1/");
+ final URI level2DeeplyNestedUri = repo.resolve(level1DeeplyNestedUri, "nest2/");
+ final URI level3DeeplyNestedUri = repo.resolve(level2DeeplyNestedUri, "nest3/");
+ final URI level4DeeplyNestedUri = repo.resolve(level3DeeplyNestedUri, "nest4/");
repo.createDirectory(level1DeeplyNestedUri);
repo.createDirectory(level2DeeplyNestedUri);
repo.createDirectory(level3DeeplyNestedUri);
@@ -187,19 +183,14 @@ public abstract class AbstractBackupRepositoryTest extends SolrTestCaseJ4 {
addFile(repo, file2Uri);
addFile(repo, file3Uri);
- // Ensure nonexistent files are handled differently based on boolean flag param
+ // Ensure nonexistent files can be deleted
final URI nonexistentFileUri = repo.resolve(getBaseUri(), "file4.txt");
assertFalse(repo.exists(nonexistentFileUri));
- repo.delete(getBaseUri(), List.of("file4.txt"), IGNORE_NONEXISTENT);
- expectThrows(
- IOException.class,
- () -> {
- repo.delete(getBaseUri(), List.of("file4.txt"), REPORT_NONEXISTENT);
- });
+ repo.delete(getBaseUri(), List.of("file4.txt"));
// Delete existing files individually and in 'bulk'
- repo.delete(getBaseUri(), List.of("file1.txt"), REPORT_NONEXISTENT);
- repo.delete(getBaseUri(), List.of("file2.txt", "file3.txt"), REPORT_NONEXISTENT);
+ repo.delete(getBaseUri(), List.of("file1.txt"));
+ repo.delete(getBaseUri(), List.of("file2.txt", "file3.txt"));
assertFalse(repo.exists(file1Uri));
assertFalse(repo.exists(file2Uri));
assertFalse(repo.exists(file3Uri));
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
index 8e4fb401101..43bd98e378a 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
@@ -578,7 +578,7 @@ public abstract class AbstractIncrementalBackupTest extends SolrCloudTestCase {
URI backupPropertiesFile =
repository.resolve(backupURI, "backup_" + numBackup + ".properties");
- URI zkBackupFolder = repository.resolve(backupURI, "zk_backup_" + numBackup);
+ URI zkBackupFolder = repository.resolveDirectory(backupURI, "zk_backup_" + numBackup);
assertTrue(repository.exists(backupPropertiesFile));
assertTrue(repository.exists(zkBackupFolder));
assertFolderAreSame(
diff --git a/solr/test-framework/src/java/org/apache/solr/core/TrackingBackupRepository.java b/solr/test-framework/src/java/org/apache/solr/core/TrackingBackupRepository.java
index 309306356b8..e02b16dcffb 100644
--- a/solr/test-framework/src/java/org/apache/solr/core/TrackingBackupRepository.java
+++ b/solr/test-framework/src/java/org/apache/solr/core/TrackingBackupRepository.java
@@ -111,9 +111,8 @@ public class TrackingBackupRepository implements BackupRepository {
}
@Override
- public void delete(URI path, Collection<String> files, boolean ignoreNoSuchFileException)
- throws IOException {
- delegate.delete(path, files, ignoreNoSuchFileException);
+ public void delete(URI path, Collection<String> files) throws IOException {
+ delegate.delete(path, files);
}
@Override
diff --git a/versions.lock b/versions.lock
index c3efc6d856c..1fc530b6630 100644
--- a/versions.lock
+++ b/versions.lock
@@ -9,11 +9,11 @@ com.epam:parso:2.0.14 (1 constraints: 8e0c750e)
com.fasterxml.jackson:jackson-bom:2.15.2 (12 constraints: 4ef8ad55)
com.fasterxml.jackson.core:jackson-annotations:2.15.2 (10 constraints: 9bbe6617)
com.fasterxml.jackson.core:jackson-core:2.15.2 (13 constraints: 42025e28)
-com.fasterxml.jackson.core:jackson-databind:2.15.2 (18 constraints: 8163bbd4)
-com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2 (2 constraints: 601c16f1)
+com.fasterxml.jackson.core:jackson-databind:2.15.2 (18 constraints: 89633f8a)
+com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2 (2 constraints: 631c9af1)
com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2 (1 constraints: ba0eab66)
com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.15.2 (2 constraints: a624c5e0)
-com.fasterxml.woodstox:woodstox-core:6.5.1 (3 constraints: ad28f4b8)
+com.fasterxml.woodstox:woodstox-core:6.5.1 (2 constraints: a0239c84)
com.github.ben-manes.caffeine:caffeine:3.1.5 (1 constraints: 0b050236)
com.github.jai-imageio:jai-imageio-core:1.4.0 (1 constraints: 5c0ced01)
com.github.junrar:junrar:7.5.3 (1 constraints: 660c1102)
@@ -157,7 +157,7 @@ jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 (10 constraints: c1cce3ec)
jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 (5 constraints: c45d665e)
javax.measure:unit-api:1.0 (5 constraints: 8e3e2cc5)
joda-time:joda-time:2.8.1 (3 constraints: d61aef93)
-junit:junit:4.13.2 (9 constraints: d4aa559e)
+junit:junit:4.13.2 (9 constraints: d5aafc9f)
net.arnx:jsonic:1.2.7 (1 constraints: d00b47eb)
net.java.dev.jna:jna:5.12.1 (1 constraints: 900c8e0e)
net.sf.ehcache:ehcache-core:2.6.2 (1 constraints: 2706f94d)
@@ -306,8 +306,8 @@ org.glassfish.hk2:hk2-utils:2.6.1 (2 constraints: 21173277)
org.glassfish.hk2:osgi-resource-locator:1.0.3 (2 constraints: 7d23b265)
org.glassfish.hk2.external:aopalliance-repackaged:2.6.1 (2 constraints: 21173277)
org.glassfish.hk2.external:jakarta.inject:2.6.1 (11 constraints: 2cbae60f)
-org.glassfish.jaxb:jaxb-runtime:2.3.5 (1 constraints: 610cf401)
-org.glassfish.jaxb:txw2:2.3.5 (1 constraints: bf0db735)
+org.glassfish.jaxb:jaxb-runtime:2.3.7 (2 constraints: 2217375b)
+org.glassfish.jaxb:txw2:2.3.7 (1 constraints: c10db935)
org.glassfish.jersey.containers:jersey-container-jetty-http:2.35 (1 constraints: de04fe30)
org.glassfish.jersey.core:jersey-client:2.35 (1 constraints: d510c6b2)
org.glassfish.jersey.core:jersey-common:2.35 (11 constraints: d3ddca6a)
@@ -369,29 +369,29 @@ software.amazon.awssdk:json-utils:2.20.63 (5 constraints: 603f0b35)
software.amazon.awssdk:metrics-spi:2.20.63 (7 constraints: 1362a3fe)
software.amazon.awssdk:profiles:2.20.63 (8 constraints: 3761ba2b)
software.amazon.awssdk:protocol-core:2.20.63 (5 constraints: 6c488050)
-software.amazon.awssdk:regions:2.20.63 (6 constraints: f844f0b7)
-software.amazon.awssdk:s3:2.20.63 (3 constraints: af24f125)
+software.amazon.awssdk:regions:2.20.63 (7 constraints: 2050a39f)
+software.amazon.awssdk:s3:2.20.63 (3 constraints: ad24a625)
software.amazon.awssdk:sdk-core:2.20.63 (10 constraints: 4c87aab9)
software.amazon.awssdk:sts:2.20.63 (2 constraints: c5112e14)
software.amazon.awssdk:third-party-jackson-core:2.20.63 (2 constraints: 871bdea6)
-software.amazon.awssdk:utils:2.20.63 (18 constraints: eb0c71e3)
+software.amazon.awssdk:utils:2.20.63 (19 constraints: 131861f1)
software.amazon.eventstream:eventstream:1.0.1 (2 constraints: 2e1ae62b)
ua.net.nlp:morfologik-ukrainian-search:4.9.1 (1 constraints: d5126e1e)
xerces:xercesImpl:2.12.2 (1 constraints: 8e0c7d0e)
[Test dependencies]
-com.adobe.testing:s3mock:2.1.34 (1 constraints: b012831d)
-com.adobe.testing:s3mock-junit4:2.1.34 (1 constraints: 3c05373b)
-com.adobe.testing:s3mock-testsupport-common:2.1.34 (1 constraints: 7b0d8b39)
-com.amazonaws:aws-java-sdk-core:1.12.15 (2 constraints: 501a5183)
-com.amazonaws:aws-java-sdk-kms:1.12.15 (1 constraints: d60cb42a)
-com.amazonaws:aws-java-sdk-s3:1.12.15 (1 constraints: e0125c30)
-com.amazonaws:jmespath-java:1.12.15 (2 constraints: 501a5183)
-com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.2 (2 constraints: a719cc12)
-com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.15.2 (2 constraints: 0c243d82)
-com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.2 (3 constraints: 7d3d5e10)
+com.adobe.testing:s3mock:2.12.2 (1 constraints: ad12831d)
+com.adobe.testing:s3mock-junit4:2.12.2 (1 constraints: 3905373b)
+com.adobe.testing:s3mock-testsupport-common:2.12.2 (1 constraints: 780d8b39)
+com.amazonaws:aws-java-sdk-core:1.12.389 (2 constraints: cc1a94b5)
+com.amazonaws:aws-java-sdk-kms:1.12.389 (1 constraints: 140dcf37)
+com.amazonaws:aws-java-sdk-s3:1.12.389 (1 constraints: 1e138143)
+com.amazonaws:jmespath-java:1.12.389 (2 constraints: cc1a94b5)
+com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.2 (2 constraints: a9192813)
+com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.15.2 (3 constraints: fb2eefb3)
+com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.2 (4 constraints: 6c48aa34)
com.fasterxml.jackson.module:jackson-module-kotlin:2.15.2 (2 constraints: a61d3360)
-com.fasterxml.jackson.module:jackson-module-parameter-names:2.15.2 (2 constraints: 0c243d82)
+com.fasterxml.jackson.module:jackson-module-parameter-names:2.15.2 (2 constraints: 0c243f82)
com.google.cloud:google-cloud-nio:0.126.10 (1 constraints: c70e207b)
com.nimbusds:content-type:2.2 (1 constraints: d80b68eb)
com.nimbusds:lang-tag:1.5 (1 constraints: da0b68eb)
@@ -400,7 +400,7 @@ com.nimbusds:oauth2-oidc-sdk:9.22.2 (1 constraints: f50ebb71)
com.squareup.okhttp3:mockwebserver:4.9.3 (1 constraints: c60ebf62)
io.github.microutils:kotlin-logging:2.1.21 (1 constraints: ec0e8871)
io.github.microutils:kotlin-logging-jvm:2.1.21 (1 constraints: af0f358c)
-io.micrometer:micrometer-core:1.7.12 (1 constraints: fc162119)
+io.micrometer:micrometer-core:1.9.11 (1 constraints: fd162819)
io.opentracing:opentracing-mock:0.33.0 (1 constraints: 3805343b)
jakarta.servlet:jakarta.servlet-api:4.0.4 (4 constraints: 586e1f6a)
jakarta.websocket:jakarta.websocket-api:1.1.2 (1 constraints: 92155ab9)
@@ -418,7 +418,7 @@ org.apache.kerby:kerb-common:1.0.1 (2 constraints: a51841ca)
org.apache.kerby:kerb-identity:1.0.1 (1 constraints: 5f0cb602)
org.apache.kerby:kerb-server:1.0.1 (1 constraints: d10b65f2)
org.apache.kerby:kerb-simplekdc:1.0.1 (1 constraints: dc0d7e3e)
-org.apache.tomcat.embed:tomcat-embed-el:9.0.63 (1 constraints: d01553cf)
+org.apache.tomcat.embed:tomcat-embed-el:9.0.75 (1 constraints: d31557cf)
org.freemarker:freemarker:2.3.31 (1 constraints: ef0e9271)
org.glassfish.grizzly:grizzly-framework:2.4.4 (1 constraints: 670fe271)
org.glassfish.grizzly:grizzly-http:2.4.4 (1 constraints: 2b127cf5)
@@ -437,24 +437,24 @@ org.jetbrains.kotlin:kotlin-reflect:1.6.10 (2 constraints: 6224e0e2)
org.latencyutils:LatencyUtils:2.0.3 (1 constraints: 210dcd1b)
org.mockito:mockito-core:3.8.0 (1 constraints: 0d051236)
org.objenesis:objenesis:3.1 (1 constraints: b00a12bd)
-org.springframework:spring-aop:5.3.23 (2 constraints: d41eae99)
-org.springframework:spring-beans:5.3.23 (4 constraints: 9c3abec4)
-org.springframework:spring-context:5.3.23 (2 constraints: 621fdbd1)
-org.springframework:spring-core:5.3.23 (8 constraints: e17dffad)
-org.springframework:spring-expression:5.3.23 (2 constraints: d41eae99)
-org.springframework:spring-jcl:5.3.23 (1 constraints: 4f0e9f4f)
-org.springframework:spring-web:5.3.23 (3 constraints: 5039958a)
-org.springframework:spring-webmvc:5.3.23 (1 constraints: d614689e)
-org.springframework.boot:spring-boot:2.5.14 (4 constraints: 8b564b45)
-org.springframework.boot:spring-boot-actuator:2.5.14 (1 constraints: 73199cb8)
-org.springframework.boot:spring-boot-actuator-autoconfigure:2.5.14 (1 constraints: fd162119)
-org.springframework.boot:spring-boot-autoconfigure:2.5.14 (2 constraints: df2c875d)
-org.springframework.boot:spring-boot-starter:2.5.14 (3 constraints: 274126c5)
-org.springframework.boot:spring-boot-starter-actuator:2.5.14 (1 constraints: a80fdfae)
-org.springframework.boot:spring-boot-starter-jetty:2.5.14 (1 constraints: 1d0d3137)
-org.springframework.boot:spring-boot-starter-json:2.5.14 (1 constraints: d814609e)
-org.springframework.boot:spring-boot-starter-logging:2.5.14 (1 constraints: 6d138546)
-org.springframework.boot:spring-boot-starter-web:2.5.14 (1 constraints: 1d0d3137)
-org.yaml:snakeyaml:1.28 (1 constraints: 0e13df1f)
-software.amazon.awssdk:url-connection-client:2.20.63 (2 constraints: 411f02f7)
+org.springframework:spring-aop:5.3.27 (2 constraints: dc1e629a)
+org.springframework:spring-beans:5.3.27 (4 constraints: ac3ac2c8)
+org.springframework:spring-context:5.3.27 (2 constraints: 6d1f9ed2)
+org.springframework:spring-core:5.3.27 (8 constraints: 077e17c3)
+org.springframework:spring-expression:5.3.27 (2 constraints: dc1e629a)
+org.springframework:spring-jcl:5.3.27 (1 constraints: 530ea34f)
+org.springframework:spring-web:5.3.27 (3 constraints: 6239118e)
+org.springframework:spring-webmvc:5.3.27 (1 constraints: dd146f9e)
+org.springframework.boot:spring-boot:2.7.12 (4 constraints: 8b566345)
+org.springframework.boot:spring-boot-actuator:2.7.12 (1 constraints: 7319a2b8)
+org.springframework.boot:spring-boot-actuator-autoconfigure:2.7.12 (1 constraints: fd162719)
+org.springframework.boot:spring-boot-autoconfigure:2.7.12 (2 constraints: df2c935d)
+org.springframework.boot:spring-boot-starter:2.7.12 (3 constraints: 274138c5)
+org.springframework.boot:spring-boot-starter-actuator:2.7.12 (2 constraints: 161858a6)
+org.springframework.boot:spring-boot-starter-jetty:2.7.12 (1 constraints: c60a4ccb)
+org.springframework.boot:spring-boot-starter-json:2.7.12 (1 constraints: d814669e)
+org.springframework.boot:spring-boot-starter-logging:2.7.12 (1 constraints: 6d138b46)
+org.springframework.boot:spring-boot-starter-web:2.7.12 (1 constraints: c60a4ccb)
+org.yaml:snakeyaml:1.30 (1 constraints: 0713d91f)
+software.amazon.awssdk:url-connection-client:2.20.63 (2 constraints: 3f1fb7f6)
software.amazon.ion:ion-java:1.0.2 (1 constraints: 720db831)
diff --git a/versions.props b/versions.props
index 9242b71a895..5d8651fa71e 100644
--- a/versions.props
+++ b/versions.props
@@ -1,12 +1,11 @@
# The lines in this file needs to be lexicographically sorted.
# Please only add direct dependencies. Overrides of transitive versions should be called out in a comment.
biz.aQute.bnd:biz.aQute.bnd.annotation=6.4.0
-com.adobe.testing:s3mock-junit4=2.1.34
+com.adobe.testing:s3mock-junit4=2.12.2
com.carrotsearch.randomizedtesting:*=2.8.1
com.carrotsearch:hppc=0.9.1
com.cybozu.labs:langdetect=1.1-20120112
com.fasterxml.jackson:jackson-bom=2.15.2
-com.fasterxml.woodstox:woodstox-core=6.5.1
com.github.ben-manes.caffeine:caffeine=3.1.5
com.github.spotbugs:*=4.7.3
com.github.stephenc.jcip:jcip-annotations=1.0-1
@@ -71,7 +70,6 @@ org.osgi:osgi.annotation=8.1.0
org.quicktheories:quicktheories=0.26
org.semver4j:semver4j=4.3.0
org.slf4j:*=2.0.7
-org.springframework.boot:spring-boot*=2.5.14
-org.springframework:spring*=5.3.23
+org.springframework.boot:spring-boot*=2.7.12
org.xerial.snappy:snappy-java=1.1.9.1
software.amazon.awssdk:*=2.20.63