You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by th...@apache.org on 2021/12/08 20:01:49 UTC
[solr] branch main updated: SOLR-15832: Clean-up after publish action in Schema Designer shouldn't fail if .system collection doesn't exist (#451)
This is an automated email from the ASF dual-hosted git repository.
thelabdude 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 10fb66f SOLR-15832: Clean-up after publish action in Schema Designer shouldn't fail if .system collection doesn't exist (#451)
10fb66f is described below
commit 10fb66fcfc9de2ba4a149416d5e0c20c01acc943
Author: Timothy Potter <th...@gmail.com>
AuthorDate: Wed Dec 8 13:01:13 2021 -0700
SOLR-15832: Clean-up after publish action in Schema Designer shouldn't fail if .system collection doesn't exist (#451)
---
solr/CHANGES.txt | 2 ++
.../apache/solr/handler/designer/SchemaDesignerAPI.java | 17 ++++++++++++-----
.../handler/designer/SchemaDesignerConfigSetHelper.java | 5 +++--
3 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index ff3f0fb..b35eb73 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -472,6 +472,8 @@ Bug Fixes
* SOLR-15833: Enable exists queries on spatial types. (Mike Drob, Houston Putman)
+* SOLR-15832: Clean-up after publish action in Schema Designer shouldn't fail if .system collection doesn't exist (Timothy Potter)
+
================== 8.11.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
diff --git a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java
index 4eb26b2..14f97ba 100644
--- a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerAPI.java
@@ -512,7 +512,12 @@ public class SchemaDesignerAPI implements SchemaDesignerConstants {
}
if (req.getParams().getBool(CLEANUP_TEMP_PARAM, true)) {
- cleanupTemp(configSet);
+ try {
+ cleanupTemp(configSet);
+ } catch (IOException | SolrServerException | SolrException exc) {
+ final String excStr = exc.toString();
+ log.warn("Failed to clean-up temp collection {} due to: {}", mutableId, excStr);
+ }
}
settings.setDisabled(req.getParams().getBool(DISABLE_DESIGNER_PARAM, false));
@@ -769,11 +774,9 @@ public class SchemaDesignerAPI implements SchemaDesignerConstants {
Optional<SchemaField> maybeSchemaField = schemaSuggester.suggestField(normalizedField, sampleValues, schema, langs);
maybeSchemaField.ifPresent(fieldsToAdd::add);
}
-
if (!fieldsToAdd.isEmpty()) {
schema = (ManagedIndexSchema) schema.addFields(fieldsToAdd);
}
-
return schema;
}
@@ -799,6 +802,7 @@ public class SchemaDesignerAPI implements SchemaDesignerConstants {
"Schema '" + configSet + "' is locked for edits by the schema designer!");
}
publishedVersion = configSetHelper.getCurrentSchemaVersion(configSet);
+ log.info("Opening temp copy of {} as {} with publishedVersion {}", configSet, mutableId, publishedVersion);
// ignore the copyFrom as we're making a mutable temp copy of an already published configSet
copyConfig(configSet, mutableId);
copyFrom = null;
@@ -1138,8 +1142,11 @@ public class SchemaDesignerAPI implements SchemaDesignerConstants {
mutableId + " configSet not found! Are you sure " + configSet + " was being edited by the schema designer?");
}
- // check the versions agree
- configSetHelper.checkSchemaVersion(mutableId, requireSchemaVersionFromClient(req), -1);
+ final int schemaVersionInZk = configSetHelper.getCurrentSchemaVersion(mutableId);
+ if (schemaVersionInZk != -1) {
+ // check the versions agree
+ configSetHelper.checkSchemaVersion(mutableId, requireSchemaVersionFromClient(req), schemaVersionInZk);
+ } // else the stored is -1, can't really enforce here
return mutableId;
}
diff --git a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerConfigSetHelper.java b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerConfigSetHelper.java
index ee71a00..a6a3365 100644
--- a/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerConfigSetHelper.java
+++ b/solr/core/src/java/org/apache/solr/handler/designer/SchemaDesignerConfigSetHelper.java
@@ -460,8 +460,9 @@ class SchemaDesignerConfigSetHelper implements SchemaDesignerConstants {
void deleteStoredSampleDocs(String configSet) {
try {
cloudClient().deleteByQuery(BLOB_STORE_ID, "id:" + configSet + "_sample/*", 10);
- } catch (IOException | SolrServerException exc) {
- log.warn("Failed to delete sample docs from blob store for {}", configSet, exc);
+ } catch (IOException | SolrServerException | SolrException exc) {
+ final String excStr = exc.toString();
+ log.warn("Failed to delete sample docs from blob store for {} due to: {}", configSet, excStr);
}
}