You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2019/12/15 21:15:45 UTC
[lucene-solr] branch branch_8_4 updated: SOLR-14087: disable
package store API if -Denable.packages not set to true
This is an automated email from the ASF dual-hosted git repository.
noble pushed a commit to branch branch_8_4
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/branch_8_4 by this push:
new f302696 SOLR-14087: disable package store API if -Denable.packages not set to true
f302696 is described below
commit f30269689989472540b857592b204ecd8f432d26
Author: Noble Paul <no...@users.noreply.github.com>
AuthorDate: Mon Dec 16 08:04:33 2019 +1100
SOLR-14087: disable package store API if -Denable.packages not set to true
---
solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java | 6 +++++-
solr/core/src/java/org/apache/solr/pkg/PackageAPI.java | 8 +++++++-
.../test/org/apache/solr/filestore/TestDistribPackageStore.java | 1 +
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java
index f1750ea..5c09d5f 100644
--- a/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java
+++ b/solr/core/src/java/org/apache/solr/filestore/PackageStoreAPI.java
@@ -47,6 +47,7 @@ import org.apache.solr.common.util.Utils;
import org.apache.solr.core.BlobRepository;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.pkg.PackageAPI;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.security.PermissionNameProvider;
@@ -64,7 +65,7 @@ import static org.apache.solr.handler.ReplicationHandler.FILE_STREAM;
public class PackageStoreAPI {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- public static final String PACKAGESTORE_DIRECTORY = "filestore";
+ public static final String PACKAGESTORE_DIRECTORY = "$filestore";
private final CoreContainer coreContainer;
@@ -135,6 +136,9 @@ public class PackageStoreAPI {
@Command
public void upload(SolrQueryRequest req, SolrQueryResponse rsp) {
+ if(!coreContainer.getPackageLoader().getPackageAPI().isEnabled()) {
+ throw new RuntimeException(PackageAPI.ERR_MSG);
+ }
try {
coreContainer.getZkController().getZkClient().create(TMP_ZK_NODE, "true".getBytes(UTF_8),
CreateMode.EPHEMERAL, true);
diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
index 7dd7d82..d80e8bd 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
@@ -64,6 +64,8 @@ public class PackageAPI {
public final boolean enablePackages = Boolean.parseBoolean(System.getProperty("enable.packages", "false"));
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+ public static final String ERR_MSG = "Package loading is not enabled , Start your nodes with -Denable.packages=true";
+
final CoreContainer coreContainer;
private final ObjectMapper mapper = SolrJacksonAnnotationInspector.createObjectMapper();
private final PackageLoader packageLoader;
@@ -331,9 +333,13 @@ public class PackageAPI {
}
+ public boolean isEnabled() {
+ return enablePackages;
+ }
+
private boolean checkEnabled(CommandOperation payload) {
if (!enablePackages) {
- payload.addError("Package loading is not enabled , Start your nodes with -Denable.packages=true");
+ payload.addError(ERR_MSG);
return false;
}
return true;
diff --git a/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java b/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
index 9ca5e1b..64b1ef8 100644
--- a/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
+++ b/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
@@ -55,6 +55,7 @@ import static org.apache.solr.core.TestDynamicLoading.getFileContent;
public class TestDistribPackageStore extends SolrCloudTestCase {
public void testPackageStoreManagement() throws Exception {
+ System.setProperty("enable.packages", "true");
MiniSolrCloudCluster cluster =
configureCluster(4)
.withJettyConfig(jetty -> jetty.enableV2(true))