You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2017/10/13 18:04:59 UTC
[1/9] lucene-solr:jira/solr-11285: SOLR-10335 -- Upgrade to Tika 1.16
Repository: lucene-solr
Updated Branches:
refs/heads/jira/solr-11285 ec0214bb6 -> 06b5e5ebe
SOLR-10335 -- Upgrade to Tika 1.16
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a5c47773
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a5c47773
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a5c47773
Branch: refs/heads/jira/solr-11285
Commit: a5c4777314ca26ad7b6e33060c7a5132a80a1827
Parents: 3012239
Author: tballison <ta...@mitre.org>
Authored: Thu Oct 5 12:22:48 2017 -0400
Committer: tballison <ta...@mitre.org>
Committed: Thu Oct 5 12:22:48 2017 -0400
----------------------------------------------------------------------
lucene/ivy-versions.properties | 22 +++++++++++---------
lucene/licenses/commons-compress-1.11.jar.sha1 | 1 -
lucene/licenses/commons-compress-1.14.jar.sha1 | 1 +
.../morfologik-ukrainian-search-3.7.5.jar.sha1 | 1 -
solr/contrib/extraction/ivy.xml | 5 +++--
solr/licenses/commons-compress-1.11.jar.sha1 | 1 -
solr/licenses/commons-compress-1.14.jar.sha1 | 1 +
solr/licenses/fontbox-2.0.1.jar.sha1 | 1 -
solr/licenses/fontbox-2.0.6.jar.sha1 | 1 +
solr/licenses/jackcess-2.1.3.jar.sha1 | 1 -
solr/licenses/jackcess-2.1.8.jar.sha1 | 1 +
solr/licenses/jempbox-1.8.12.jar.sha1 | 1 -
solr/licenses/jempbox-1.8.13.jar.sha1 | 1 +
solr/licenses/jmatio-1.0.jar.sha1 | 1 -
solr/licenses/jmatio-1.2.jar.sha1 | 1 +
solr/licenses/metadata-extractor-2.8.1.jar.sha1 | 1 -
solr/licenses/metadata-extractor-2.9.1.jar.sha1 | 1 +
solr/licenses/pdfbox-2.0.1.jar.sha1 | 1 -
solr/licenses/pdfbox-2.0.6.jar.sha1 | 1 +
solr/licenses/pdfbox-tools-2.0.1.jar.sha1 | 1 -
solr/licenses/pdfbox-tools-2.0.6.jar.sha1 | 1 +
solr/licenses/poi-3.15-beta1.jar.sha1 | 1 -
solr/licenses/poi-3.17-beta1.jar.sha1 | 1 +
solr/licenses/poi-ooxml-3.15-beta1.jar.sha1 | 1 -
solr/licenses/poi-ooxml-3.17-beta1.jar.sha1 | 1 +
.../poi-ooxml-schemas-3.15-beta1.jar.sha1 | 1 -
.../poi-ooxml-schemas-3.17-beta1.jar.sha1 | 1 +
.../licenses/poi-scratchpad-3.15-beta1.jar.sha1 | 1 -
.../licenses/poi-scratchpad-3.17-beta1.jar.sha1 | 1 +
solr/licenses/rome-1.0.jar.sha1 | 1 -
solr/licenses/rome-1.5.1.jar.sha1 | 1 +
solr/licenses/tika-core-1.13.jar.sha1 | 1 -
solr/licenses/tika-core-1.16.jar.sha1 | 1 +
solr/licenses/tika-java7-1.13.jar.sha1 | 1 -
solr/licenses/tika-java7-1.16.jar.sha1 | 1 +
solr/licenses/tika-parsers-1.13.jar.sha1 | 1 -
solr/licenses/tika-parsers-1.16.jar.sha1 | 1 +
solr/licenses/tika-xmp-1.13.jar.sha1 | 1 -
solr/licenses/tika-xmp-1.16.jar.sha1 | 1 +
solr/licenses/xz-1.5.jar.sha1 | 1 -
solr/licenses/xz-1.6.jar.sha1 | 1 +
41 files changed, 34 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/lucene/ivy-versions.properties
----------------------------------------------------------------------
diff --git a/lucene/ivy-versions.properties b/lucene/ivy-versions.properties
index 620f713..8ce6006 100644
--- a/lucene/ivy-versions.properties
+++ b/lucene/ivy-versions.properties
@@ -13,7 +13,7 @@ com.carrotsearch.randomizedtesting.version = 2.5.3
/com.cybozu.labs/langdetect = 1.1-20120112
-/com.drewnoakes/metadata-extractor = 2.8.1
+/com.drewnoakes/metadata-extractor = 2.9.1
com.fasterxml.jackson.core.version = 2.5.4
/com.fasterxml.jackson.core/jackson-annotations = ${com.fasterxml.jackson.core.version}
@@ -28,10 +28,11 @@ com.fasterxml.jackson.core.version = 2.5.4
/com.google.protobuf/protobuf-java = 3.1.0
/com.googlecode.juniversalchardet/juniversalchardet = 1.0.3
/com.googlecode.mp4parser/isoparser = 1.1.18
-/com.healthmarketscience.jackcess/jackcess = 2.1.3
+/com.healthmarketscience.jackcess/jackcess = 2.1.8
/com.ibm.icu/icu4j = 59.1
/com.pff/java-libpst = 0.8.1
+/com.rometools/rome = 1.5.1
com.sun.jersey.version = 1.9
/com.sun.jersey/jersey-core = ${com.sun.jersey.version}
/com.sun.jersey/jersey-server = ${com.sun.jersey.version}
@@ -78,7 +79,6 @@ io.netty.netty-all.version = 4.0.36.Final
/net.bytebuddy/byte-buddy = 1.6.2
/net.hydromatic/eigenbase-properties = 1.1.5
/net.sf.ehcache/ehcache-core = 2.4.4
-/net.sourceforge.jmatio/jmatio = 1.0
/net.sourceforge.nekohtml/nekohtml = 1.9.17
/org.antlr/antlr4-runtime = 4.5.1-1
@@ -91,7 +91,8 @@ org.apache.calcite.version = 1.13.0
/org.apache.calcite/calcite-core = ${org.apache.calcite.version}
/org.apache.calcite/calcite-linq4j = ${org.apache.calcite.version}
-/org.apache.commons/commons-compress = 1.11
+/org.apache.commons/commons-collections4 = 4.1
+/org.apache.commons/commons-compress = 1.14
/org.apache.commons/commons-exec = 1.3
/org.apache.commons/commons-lang3 = 3.6
/org.apache.commons/commons-math3 = 3.6.1
@@ -159,19 +160,19 @@ org.apache.james.apache.mime4j.version = 0.7.2
/org.apache.mina/mina-core = 2.0.0-M5
-org.apache.pdfbox.version = 2.0.1
+org.apache.pdfbox.version = 2.0.6
/org.apache.pdfbox/fontbox = ${org.apache.pdfbox.version}
-/org.apache.pdfbox/jempbox = 1.8.12
+/org.apache.pdfbox/jempbox = 1.8.13
/org.apache.pdfbox/pdfbox = ${org.apache.pdfbox.version}
/org.apache.pdfbox/pdfbox-tools = ${org.apache.pdfbox.version}
-org.apache.poi.version = 3.15-beta1
+org.apache.poi.version = 3.17-beta1
/org.apache.poi/poi = ${org.apache.poi.version}
/org.apache.poi/poi-ooxml = ${org.apache.poi.version}
/org.apache.poi/poi-ooxml-schemas = ${org.apache.poi.version}
/org.apache.poi/poi-scratchpad = ${org.apache.poi.version}
-org.apache.tika.version = 1.13
+org.apache.tika.version = 1.16
/org.apache.tika/tika-core = ${org.apache.tika.version}
/org.apache.tika/tika-java7 = ${org.apache.tika.version}
/org.apache.tika/tika-parsers = ${org.apache.tika.version}
@@ -275,8 +276,9 @@ org.slf4j.version = 1.7.7
/org.slf4j/slf4j-log4j12 = ${org.slf4j.version}
/org.slf4j/slf4j-simple = ${org.slf4j.version}
-/org.tukaani/xz = 1.5
-/rome/rome = 1.0
+/org.tallison/jmatio = 1.2
+/org.tukaani/xz = 1.6
+
ua.net.nlp.morfologik-ukrainian-search.version = 3.9.0
/ua.net.nlp/morfologik-ukrainian-search = ${ua.net.nlp.morfologik-ukrainian-search.version}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/lucene/licenses/commons-compress-1.11.jar.sha1
----------------------------------------------------------------------
diff --git a/lucene/licenses/commons-compress-1.11.jar.sha1 b/lucene/licenses/commons-compress-1.11.jar.sha1
deleted file mode 100644
index 89bab1e..0000000
--- a/lucene/licenses/commons-compress-1.11.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f43ce4c878078cbcfbb061353aa672a4c8e81443
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/lucene/licenses/commons-compress-1.14.jar.sha1
----------------------------------------------------------------------
diff --git a/lucene/licenses/commons-compress-1.14.jar.sha1 b/lucene/licenses/commons-compress-1.14.jar.sha1
new file mode 100644
index 0000000..833f49b
--- /dev/null
+++ b/lucene/licenses/commons-compress-1.14.jar.sha1
@@ -0,0 +1 @@
+7b18320d668ab080758bf5383d6d8fcf750babce
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/lucene/licenses/morfologik-ukrainian-search-3.7.5.jar.sha1
----------------------------------------------------------------------
diff --git a/lucene/licenses/morfologik-ukrainian-search-3.7.5.jar.sha1 b/lucene/licenses/morfologik-ukrainian-search-3.7.5.jar.sha1
deleted file mode 100644
index 8794e71..0000000
--- a/lucene/licenses/morfologik-ukrainian-search-3.7.5.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2b8c8fbd740164d220ca7d18605b8b2092e163e9
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/contrib/extraction/ivy.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/ivy.xml b/solr/contrib/extraction/ivy.xml
index 42cee8a..1d9d7a3 100644
--- a/solr/contrib/extraction/ivy.xml
+++ b/solr/contrib/extraction/ivy.xml
@@ -50,18 +50,19 @@
<dependency org="org.apache.poi" name="poi-ooxml" rev="${/org.apache.poi/poi-ooxml}" conf="compile"/>
<dependency org="org.apache.poi" name="poi-ooxml-schemas" rev="${/org.apache.poi/poi-ooxml-schemas}" conf="compile"/>
<dependency org="org.apache.xmlbeans" name="xmlbeans" rev="${/org.apache.xmlbeans/xmlbeans}" conf="compile"/>
+ <dependency org="org.apache.commons" name="commons-collections4" rev="${/org.apache.commons/commons-collections4}" conf="compile"/>
<dependency org="org.ccil.cowan.tagsoup" name="tagsoup" rev="${/org.ccil.cowan.tagsoup/tagsoup}" conf="compile"/>
<dependency org="com.googlecode.mp4parser" name="isoparser" rev="${/com.googlecode.mp4parser/isoparser}" conf="compile"/>
<dependency org="org.aspectj" name="aspectjrt" rev="${/org.aspectj/aspectjrt}" conf="compile"/>
<dependency org="com.drewnoakes" name="metadata-extractor" rev="${/com.drewnoakes/metadata-extractor}" conf="compile"/>
<dependency org="de.l3s.boilerpipe" name="boilerpipe" rev="${/de.l3s.boilerpipe/boilerpipe}" conf="compile"/>
- <dependency org="rome" name="rome" rev="${/rome/rome}" conf="compile"/>
+ <dependency org="com.rometools" name="rome" rev="${/com.rometools/rome}" conf="compile"/>
<dependency org="jdom" name="jdom" rev="${/jdom/jdom}" conf="compile"/>
<dependency org="com.googlecode.juniversalchardet" name="juniversalchardet" rev="${/com.googlecode.juniversalchardet/juniversalchardet}" conf="compile"/>
<dependency org="org.tukaani" name="xz" rev="${/org.tukaani/xz}" conf="compile"/>
<dependency org="com.adobe.xmp" name="xmpcore" rev="${/com.adobe.xmp/xmpcore}" conf="compile"/>
<dependency org="com.pff" name="java-libpst" rev="${/com.pff/java-libpst}" conf="compile"/>
- <dependency org="net.sourceforge.jmatio" name="jmatio" rev="${/net.sourceforge.jmatio/jmatio}" conf="compile"/>
+ <dependency org="org.tallison" name="jmatio" rev="${/org.tallison/jmatio}" conf="compile"/>
<!-- Other ExtractingRequestHandler dependencies -->
<dependency org="com.ibm.icu" name="icu4j" rev="${/com.ibm.icu/icu4j}" conf="compile"/>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/commons-compress-1.11.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/commons-compress-1.11.jar.sha1 b/solr/licenses/commons-compress-1.11.jar.sha1
deleted file mode 100644
index 89bab1e..0000000
--- a/solr/licenses/commons-compress-1.11.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f43ce4c878078cbcfbb061353aa672a4c8e81443
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/commons-compress-1.14.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/commons-compress-1.14.jar.sha1 b/solr/licenses/commons-compress-1.14.jar.sha1
new file mode 100644
index 0000000..833f49b
--- /dev/null
+++ b/solr/licenses/commons-compress-1.14.jar.sha1
@@ -0,0 +1 @@
+7b18320d668ab080758bf5383d6d8fcf750babce
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/fontbox-2.0.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/fontbox-2.0.1.jar.sha1 b/solr/licenses/fontbox-2.0.1.jar.sha1
deleted file mode 100644
index d55b6cb..0000000
--- a/solr/licenses/fontbox-2.0.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b9d4f0993e015f3f1ce0be9e7300cf62dd7a7f15
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/fontbox-2.0.6.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/fontbox-2.0.6.jar.sha1 b/solr/licenses/fontbox-2.0.6.jar.sha1
new file mode 100644
index 0000000..dc11e43
--- /dev/null
+++ b/solr/licenses/fontbox-2.0.6.jar.sha1
@@ -0,0 +1 @@
+33f44ea67f1b5ab314e2d5768365b1a3e794fb3b
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/jackcess-2.1.3.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/jackcess-2.1.3.jar.sha1 b/solr/licenses/jackcess-2.1.3.jar.sha1
deleted file mode 100644
index fb74a27..0000000
--- a/solr/licenses/jackcess-2.1.3.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-fe8553847c6744d61e071ef11a6a64010731d241
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/jackcess-2.1.8.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/jackcess-2.1.8.jar.sha1 b/solr/licenses/jackcess-2.1.8.jar.sha1
new file mode 100644
index 0000000..ecfca41
--- /dev/null
+++ b/solr/licenses/jackcess-2.1.8.jar.sha1
@@ -0,0 +1 @@
+dfc7156e11ce33bbcb7f4f6724a87b9d969f2fd6
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/jempbox-1.8.12.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/jempbox-1.8.12.jar.sha1 b/solr/licenses/jempbox-1.8.12.jar.sha1
deleted file mode 100644
index 9882f8d..0000000
--- a/solr/licenses/jempbox-1.8.12.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-426450c573c19f6f2c751a7a52c11931b712c9f6
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/jempbox-1.8.13.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/jempbox-1.8.13.jar.sha1 b/solr/licenses/jempbox-1.8.13.jar.sha1
new file mode 100644
index 0000000..b1b5bdc
--- /dev/null
+++ b/solr/licenses/jempbox-1.8.13.jar.sha1
@@ -0,0 +1 @@
+a874cef0ed0e2a8c4cc5ed52c23ba3e6d78eca4e
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/jmatio-1.0.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/jmatio-1.0.jar.sha1 b/solr/licenses/jmatio-1.0.jar.sha1
deleted file mode 100644
index 8caf687..0000000
--- a/solr/licenses/jmatio-1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-df72993ea17d34c3bacd983558d2970a866abaf6
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/jmatio-1.2.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/jmatio-1.2.jar.sha1 b/solr/licenses/jmatio-1.2.jar.sha1
new file mode 100644
index 0000000..5941dc9
--- /dev/null
+++ b/solr/licenses/jmatio-1.2.jar.sha1
@@ -0,0 +1 @@
+69d8f2f49c1503f9b15b0eb50b1905a734a025e2
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/metadata-extractor-2.8.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/metadata-extractor-2.8.1.jar.sha1 b/solr/licenses/metadata-extractor-2.8.1.jar.sha1
deleted file mode 100644
index d067bbf..0000000
--- a/solr/licenses/metadata-extractor-2.8.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-120630f96316e0f173aedf0c88bb06c5e146ad96
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/metadata-extractor-2.9.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/metadata-extractor-2.9.1.jar.sha1 b/solr/licenses/metadata-extractor-2.9.1.jar.sha1
new file mode 100644
index 0000000..fcdcfd6
--- /dev/null
+++ b/solr/licenses/metadata-extractor-2.9.1.jar.sha1
@@ -0,0 +1 @@
+53fdf22be10c9d426ec63431c7342895bc642261
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/pdfbox-2.0.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/pdfbox-2.0.1.jar.sha1 b/solr/licenses/pdfbox-2.0.1.jar.sha1
deleted file mode 100644
index a96cb90..0000000
--- a/solr/licenses/pdfbox-2.0.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-dbc69649118b7eff278f228c070a40ee559e1f62
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/pdfbox-2.0.6.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/pdfbox-2.0.6.jar.sha1 b/solr/licenses/pdfbox-2.0.6.jar.sha1
new file mode 100644
index 0000000..9c93973
--- /dev/null
+++ b/solr/licenses/pdfbox-2.0.6.jar.sha1
@@ -0,0 +1 @@
+68616a583c5f9b9ba72140364d15a07cd937ce0e
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/pdfbox-tools-2.0.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/pdfbox-tools-2.0.1.jar.sha1 b/solr/licenses/pdfbox-tools-2.0.1.jar.sha1
deleted file mode 100644
index a38c974..0000000
--- a/solr/licenses/pdfbox-tools-2.0.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a585a59c58f822884b1c5e56b670efa9241b699d
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/pdfbox-tools-2.0.6.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/pdfbox-tools-2.0.6.jar.sha1 b/solr/licenses/pdfbox-tools-2.0.6.jar.sha1
new file mode 100644
index 0000000..dfc26a1
--- /dev/null
+++ b/solr/licenses/pdfbox-tools-2.0.6.jar.sha1
@@ -0,0 +1 @@
+3b0c2622015c048a29496291cfe44f235f5c7cdf
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-3.15-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-3.15-beta1.jar.sha1 b/solr/licenses/poi-3.15-beta1.jar.sha1
deleted file mode 100644
index a6d9c5e..0000000
--- a/solr/licenses/poi-3.15-beta1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-048bb8326b81323631d9ceb4236cfbd382e56da2
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-3.17-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-3.17-beta1.jar.sha1 b/solr/licenses/poi-3.17-beta1.jar.sha1
new file mode 100644
index 0000000..83a318c
--- /dev/null
+++ b/solr/licenses/poi-3.17-beta1.jar.sha1
@@ -0,0 +1 @@
+d2df762cc8301c257db1fd0f4fc2f37ed9fbbb78
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-ooxml-3.15-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-ooxml-3.15-beta1.jar.sha1 b/solr/licenses/poi-ooxml-3.15-beta1.jar.sha1
deleted file mode 100644
index ea71044..0000000
--- a/solr/licenses/poi-ooxml-3.15-beta1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-81085a47fdf0d74d473d605c6b3784e26731842e
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-ooxml-3.17-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-ooxml-3.17-beta1.jar.sha1 b/solr/licenses/poi-ooxml-3.17-beta1.jar.sha1
new file mode 100644
index 0000000..f16c93f
--- /dev/null
+++ b/solr/licenses/poi-ooxml-3.17-beta1.jar.sha1
@@ -0,0 +1 @@
+96f537614c5f5ec232fb8832313280dcb93c59ab
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-ooxml-schemas-3.15-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-ooxml-schemas-3.15-beta1.jar.sha1 b/solr/licenses/poi-ooxml-schemas-3.15-beta1.jar.sha1
deleted file mode 100644
index 6b094dd..0000000
--- a/solr/licenses/poi-ooxml-schemas-3.15-beta1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f8bc979ad79908a99483337f1ca2edf78558ac20
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-ooxml-schemas-3.17-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-ooxml-schemas-3.17-beta1.jar.sha1 b/solr/licenses/poi-ooxml-schemas-3.17-beta1.jar.sha1
new file mode 100644
index 0000000..fc99957
--- /dev/null
+++ b/solr/licenses/poi-ooxml-schemas-3.17-beta1.jar.sha1
@@ -0,0 +1 @@
+99811dc063afea4cde813726ba6f45f724bf2c3b
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-scratchpad-3.15-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-scratchpad-3.15-beta1.jar.sha1 b/solr/licenses/poi-scratchpad-3.15-beta1.jar.sha1
deleted file mode 100644
index 5a30126..0000000
--- a/solr/licenses/poi-scratchpad-3.15-beta1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f4e276aaf97a60a1156388c9e38069122b7ea914
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/poi-scratchpad-3.17-beta1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/poi-scratchpad-3.17-beta1.jar.sha1 b/solr/licenses/poi-scratchpad-3.17-beta1.jar.sha1
new file mode 100644
index 0000000..a2b7c33
--- /dev/null
+++ b/solr/licenses/poi-scratchpad-3.17-beta1.jar.sha1
@@ -0,0 +1 @@
+d4ad39b023c377ec534ab25205344eb79da4996b
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/rome-1.0.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/rome-1.0.jar.sha1 b/solr/licenses/rome-1.0.jar.sha1
deleted file mode 100644
index 8481078..0000000
--- a/solr/licenses/rome-1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-022b33347f315833e9348cec2751af1a5d5656e4
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/rome-1.5.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/rome-1.5.1.jar.sha1 b/solr/licenses/rome-1.5.1.jar.sha1
new file mode 100644
index 0000000..f24eb2a
--- /dev/null
+++ b/solr/licenses/rome-1.5.1.jar.sha1
@@ -0,0 +1 @@
+cc3489f066749bede7fc81f4e80c0d8c9534a210
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-core-1.13.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-core-1.13.jar.sha1 b/solr/licenses/tika-core-1.13.jar.sha1
deleted file mode 100644
index 90ffc56..0000000
--- a/solr/licenses/tika-core-1.13.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-1305c798d41d1d7bbf12cb7c0ca184c98eed25ad
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-core-1.16.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-core-1.16.jar.sha1 b/solr/licenses/tika-core-1.16.jar.sha1
new file mode 100644
index 0000000..e8ee028
--- /dev/null
+++ b/solr/licenses/tika-core-1.16.jar.sha1
@@ -0,0 +1 @@
+7b75cb2b65f6d014b6a3e4793835f5759168c34e
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-java7-1.13.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-java7-1.13.jar.sha1 b/solr/licenses/tika-java7-1.13.jar.sha1
deleted file mode 100644
index 80d5225..0000000
--- a/solr/licenses/tika-java7-1.13.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d6ffea1f1f76faa01509598b8a31f54b3da124cd
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-java7-1.16.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-java7-1.16.jar.sha1 b/solr/licenses/tika-java7-1.16.jar.sha1
new file mode 100644
index 0000000..97a229d
--- /dev/null
+++ b/solr/licenses/tika-java7-1.16.jar.sha1
@@ -0,0 +1 @@
+b4d7dc8dd2f592824cb0fa0677d08fe9bbee2ab4
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-parsers-1.13.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-parsers-1.13.jar.sha1 b/solr/licenses/tika-parsers-1.13.jar.sha1
deleted file mode 100644
index 6e704e7..0000000
--- a/solr/licenses/tika-parsers-1.13.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-374fde67b9d35f785534b0e6c4953533c31bab5f
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-parsers-1.16.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-parsers-1.16.jar.sha1 b/solr/licenses/tika-parsers-1.16.jar.sha1
new file mode 100644
index 0000000..4b16dde
--- /dev/null
+++ b/solr/licenses/tika-parsers-1.16.jar.sha1
@@ -0,0 +1 @@
+bececafbe32c013eae8d3f3cf10d28b136a6f9d7
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-xmp-1.13.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-xmp-1.13.jar.sha1 b/solr/licenses/tika-xmp-1.13.jar.sha1
deleted file mode 100644
index 38942cd..0000000
--- a/solr/licenses/tika-xmp-1.13.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-1d73457bcc68ba7df72833baa40b29c39ce4a67e
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/tika-xmp-1.16.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/tika-xmp-1.16.jar.sha1 b/solr/licenses/tika-xmp-1.16.jar.sha1
new file mode 100644
index 0000000..0c4ce3a
--- /dev/null
+++ b/solr/licenses/tika-xmp-1.16.jar.sha1
@@ -0,0 +1 @@
+06db0bda27d4edf452c5a72a29f78805bfd23a0f
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/xz-1.5.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/xz-1.5.jar.sha1 b/solr/licenses/xz-1.5.jar.sha1
deleted file mode 100644
index 2e2d390..0000000
--- a/solr/licenses/xz-1.5.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-9c64274b7dbb65288237216e3fae7877fd3f2bee
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c47773/solr/licenses/xz-1.6.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/xz-1.6.jar.sha1 b/solr/licenses/xz-1.6.jar.sha1
new file mode 100644
index 0000000..30da818
--- /dev/null
+++ b/solr/licenses/xz-1.6.jar.sha1
@@ -0,0 +1 @@
+05b6f921f1810bdf90e25471968f741f87168b64
[2/9] lucene-solr:jira/solr-11285: SOLR-10335 -- Upgrade to Tika 1.16
-- add collections4 sha1 and license/notice info
Posted by ab...@apache.org.
SOLR-10335 -- Upgrade to Tika 1.16 -- add collections4 sha1 and license/notice info
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/c501e813
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/c501e813
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/c501e813
Branch: refs/heads/jira/solr-11285
Commit: c501e8139c569e703c0c2de80173a89ab7fc1c8a
Parents: a5c4777
Author: tballison <ta...@mitre.org>
Authored: Thu Oct 5 12:26:56 2017 -0400
Committer: tballison <ta...@mitre.org>
Committed: Thu Oct 5 12:26:56 2017 -0400
----------------------------------------------------------------------
solr/licenses/commons-collections4-4.1.jar.sha1 | 1 +
.../commons-collections4-LICENSE-ASL.txt | 202 +++++++++++++++++++
solr/licenses/commons-collections4-NOTICE.txt | 5 +
3 files changed, 208 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c501e813/solr/licenses/commons-collections4-4.1.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/commons-collections4-4.1.jar.sha1 b/solr/licenses/commons-collections4-4.1.jar.sha1
new file mode 100644
index 0000000..c554bdc
--- /dev/null
+++ b/solr/licenses/commons-collections4-4.1.jar.sha1
@@ -0,0 +1 @@
+a4cf4688fe1c7e3a63aa636cc96d013af537768e
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c501e813/solr/licenses/commons-collections4-LICENSE-ASL.txt
----------------------------------------------------------------------
diff --git a/solr/licenses/commons-collections4-LICENSE-ASL.txt b/solr/licenses/commons-collections4-LICENSE-ASL.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/solr/licenses/commons-collections4-LICENSE-ASL.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c501e813/solr/licenses/commons-collections4-NOTICE.txt
----------------------------------------------------------------------
diff --git a/solr/licenses/commons-collections4-NOTICE.txt b/solr/licenses/commons-collections4-NOTICE.txt
new file mode 100644
index 0000000..77fd82f
--- /dev/null
+++ b/solr/licenses/commons-collections4-NOTICE.txt
@@ -0,0 +1,5 @@
+Apache Commons Collections
+Copyright 2001-2017 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
[7/9] lucene-solr:jira/solr-11285: SOLR-11285: Add some javadocs,
move some interfaces to more suitable packages.
Posted by ab...@apache.org.
SOLR-11285: Add some javadocs, move some interfaces to more suitable packages.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a076f72d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a076f72d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a076f72d
Branch: refs/heads/jira/solr-11285
Commit: a076f72d13758aad20e903893ae4f9b9436a310f
Parents: ec0214b
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Fri Oct 13 16:22:33 2017 +0200
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Fri Oct 13 16:22:33 2017 +0200
----------------------------------------------------------------------
.../org/apache/solr/cloud/ZkController.java | 1 -
.../solr/cloud/ZkDistributedQueueFactory.java | 43 +++++++++++++++++++
.../cloud/autoscaling/AutoScalingHandler.java | 7 ++--
.../autoscaling/ZkDistributedQueueFactory.java | 44 --------------------
.../org/apache/solr/cloud/OverseerTest.java | 1 -
.../solr/cloud/autoscaling/TestPolicyCloud.java | 4 +-
.../client/solrj/cloud/DistributedQueue.java | 13 +++++-
.../solrj/cloud/DistributedQueueFactory.java | 28 +++++++++++++
.../autoscaling/DelegatingCloudManager.java | 3 +-
.../DelegatingClusterStateProvider.java | 2 +-
.../DelegatingNodeStateProvider.java | 2 +-
.../cloud/autoscaling/DistribStateManager.java | 2 +-
.../cloud/autoscaling/NodeStateProvider.java | 5 +--
.../cloud/autoscaling/SolrCloudManager.java | 8 +---
.../solrj/cloud/autoscaling/VersionedData.java | 8 +++-
.../solrj/impl/SolrClientCloudManager.java | 1 +
.../solrj/cloud/autoscaling/TestPolicy.java | 1 +
17 files changed, 108 insertions(+), 65 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/ZkController.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index add4908c..35171da 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -59,7 +59,6 @@ import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
import org.apache.solr.client.solrj.request.CoreAdminRequest.WaitForState;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventType;
-import org.apache.solr.cloud.autoscaling.ZkDistributedQueueFactory;
import org.apache.solr.cloud.overseer.OverseerAction;
import org.apache.solr.cloud.overseer.SliceMutator;
import org.apache.solr.common.SolrException;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java b/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java
new file mode 100644
index 0000000..1cf79e5
--- /dev/null
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkDistributedQueueFactory.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.cloud;
+
+import java.io.IOException;
+
+import org.apache.solr.client.solrj.cloud.DistributedQueue;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
+import org.apache.solr.common.cloud.SolrZkClient;
+
+/**
+ * Implementation of {@link DistributedQueueFactory} that uses ZooKeeper.
+ */
+public class ZkDistributedQueueFactory implements DistributedQueueFactory {
+ private final SolrZkClient zkClient;
+
+ public ZkDistributedQueueFactory(SolrZkClient zkClient) {
+ this.zkClient = zkClient;
+ }
+ @Override
+ public DistributedQueue makeQueue(String path) throws IOException {
+ return new ZkDistributedQueue(zkClient, path);
+ }
+
+ @Override
+ public void removeQueue(String path) throws IOException {
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
index f29d498..3d0f8e1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
@@ -36,17 +36,18 @@ import java.util.stream.Stream;
import org.apache.solr.api.Api;
import org.apache.solr.api.ApiBag;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
import org.apache.solr.client.solrj.cloud.autoscaling.Cell;
import org.apache.solr.client.solrj.cloud.autoscaling.Clause;
import org.apache.solr.client.solrj.cloud.autoscaling.Policy;
import org.apache.solr.client.solrj.cloud.autoscaling.Preference;
import org.apache.solr.client.solrj.cloud.autoscaling.Row;
-import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventProcessorStage;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventType;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
+import org.apache.solr.cloud.ZkDistributedQueueFactory;
import org.apache.solr.common.MapWriter;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.ZkStateReader;
@@ -215,7 +216,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
try (CloudSolrClient build = new CloudSolrClient.Builder()
.withHttpClient(container.getUpdateShardHandler().getHttpClient())
.withZkHost(container.getZkController().getZkServerAddress()).build()) {
- SolrCloudManager.DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
+ DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
Policy.Session session = policy.createSession(new SolrClientCloudManager(queueFactory, build));
List<Row> sorted = session.getSorted();
List<Clause.Violation> violations = session.getViolations();
@@ -640,7 +641,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
try (CloudSolrClient build = new CloudSolrClient.Builder()
.withHttpClient(container.getUpdateShardHandler().getHttpClient())
.withZkHost(container.getZkController().getZkServerAddress()).build()) {
- SolrCloudManager.DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
+ DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(container.getZkController().getZkClient());
Policy.Session session = autoScalingConf.getPolicy()
.createSession(new SolrClientCloudManager(queueFactory, build));
log.debug("Verified autoscaling configuration");
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java
deleted file mode 100644
index 0b1c5f8..0000000
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ZkDistributedQueueFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.solr.cloud.autoscaling;
-
-import java.io.IOException;
-
-import org.apache.solr.client.solrj.cloud.DistributedQueue;
-import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
-import org.apache.solr.cloud.ZkDistributedQueue;
-import org.apache.solr.common.cloud.SolrZkClient;
-
-/**
- *
- */
-public class ZkDistributedQueueFactory implements SolrCloudManager.DistributedQueueFactory {
- private final SolrZkClient zkClient;
-
- public ZkDistributedQueueFactory(SolrZkClient zkClient) {
- this.zkClient = zkClient;
- }
- @Override
- public DistributedQueue makeQueue(String path) throws IOException {
- return new ZkDistributedQueue(zkClient, path);
- }
-
- @Override
- public void removeQueue(String path) throws IOException {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
index be8da4d..527a28b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -42,7 +42,6 @@ import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
-import org.apache.solr.cloud.autoscaling.ZkDistributedQueueFactory;
import org.apache.solr.cloud.overseer.NodeMutator;
import org.apache.solr.cloud.overseer.OverseerAction;
import org.apache.solr.cloud.overseer.ZkWriteCommand;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
index 1de575e..4136d27 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
@@ -28,6 +28,7 @@ import org.apache.lucene.util.Constants;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
@@ -36,6 +37,7 @@ import org.apache.solr.client.solrj.impl.SolrClientCloudManager;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.cloud.OverseerTaskProcessor;
import org.apache.solr.cloud.SolrCloudTestCase;
+import org.apache.solr.cloud.ZkDistributedQueueFactory;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.ZkStateReader;
@@ -169,7 +171,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
CollectionAdminRequest.createCollection("metricsTest", "conf", 1, 1)
.process(cluster.getSolrClient());
DocCollection collection = getCollectionState("metricsTest");
- SolrCloudManager.DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(cluster.getZkClient());
+ DistributedQueueFactory queueFactory = new ZkDistributedQueueFactory(cluster.getZkClient());
SolrCloudManager provider = new SolrClientCloudManager(queueFactory, solrClient);
List<String> tags = Arrays.asList("metrics:solr.node:ADMIN./admin/authorization.clientErrors:count",
"metrics:solr.jvm:buffers.direct.Count");
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
index c420e54..9a31bff 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueue.java
@@ -23,7 +23,7 @@ import java.util.function.Predicate;
import org.apache.solr.common.util.Pair;
/**
- *
+ * Distributed queue component. Methods largely follow those in {@link java.util.Queue}.
*/
public interface DistributedQueue {
byte[] peek() throws Exception;
@@ -40,8 +40,19 @@ public interface DistributedQueue {
void offer(byte[] data) throws Exception;
+ /**
+ * Retrieve statistics about the queue size, operations and their timings.
+ */
Map<String, Object> getStats();
+ /**
+ * Peek multiple elements from the queue in a single call.
+ * @param max maximum elements to retrieve
+ * @param waitMillis if less than maximum element is in the queue then wait at most this time for at least one new element.
+ * @param acceptFilter peek only elements that pass this filter
+ * @return peeked elements
+ * @throws Exception on errors
+ */
Collection<Pair<String, byte[]>> peekElements(int max, long waitMillis, Predicate<String> acceptFilter) throws Exception;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java
new file mode 100644
index 0000000..c54ccbd
--- /dev/null
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DistributedQueueFactory.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.client.solrj.cloud;
+
+import java.io.IOException;
+
+/**
+ *
+ */
+public interface DistributedQueueFactory {
+ DistributedQueue makeQueue(String path) throws IOException;
+
+ void removeQueue(String path) throws IOException;
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
index dca67e7..05801b9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingCloudManager.java
@@ -21,10 +21,11 @@ import java.util.Map;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrResponse;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
import org.apache.solr.client.solrj.impl.ClusterStateProvider;
/**
- *
+ * Base class for overriding some behavior of {@link SolrCloudManager}.
*/
public class DelegatingCloudManager implements SolrCloudManager {
private final SolrCloudManager delegate;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
index 0fecfed..9c81005 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingClusterStateProvider.java
@@ -25,7 +25,7 @@ import org.apache.solr.client.solrj.impl.ClusterStateProvider;
import org.apache.solr.common.cloud.ClusterState;
/**
- *
+ * Base class for overriding some behavior of {@link ClusterStateProvider}
*/
public class DelegatingClusterStateProvider implements ClusterStateProvider {
protected ClusterStateProvider delegate;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
index df125ac..8b717f8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DelegatingNodeStateProvider.java
@@ -22,7 +22,7 @@ import java.util.List;
import java.util.Map;
/**
- *
+ * Base class for overriding some behavior of {@link NodeStateProvider}.
*/
public class DelegatingNodeStateProvider implements NodeStateProvider {
private final NodeStateProvider delegate;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
index b5839d6..4318418 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/DistribStateManager.java
@@ -28,7 +28,7 @@ import org.apache.zookeeper.OpResult;
import org.apache.zookeeper.Watcher;
/**
- * Represents a distributed state repository.
+ * This interface represents a distributed state repository.
*/
public interface DistribStateManager extends Closeable {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
index a0fd4dc..dbf6836 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/NodeStateProvider.java
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.Map;
/**
- * This interface models access to node and replica information.
+ * This interface models the access to node and replica information.
*/
public interface NodeStateProvider {
/**
@@ -36,8 +36,7 @@ public interface NodeStateProvider {
/**
* Get the details of each replica in a node. It attempts to fetch as much details about
* the replica as mentioned in the keys list. It is not necessary to give all details
- * <p>
- * the format is {collection:shard :[{replicadetails}]}
+ * <p>The format is {collection:shard :[{replicadetails}]}.</p>
*/
Map<String, Map<String, List<ReplicaInfo>>> getReplicaInfo(String node, Collection<String> keys);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
index f44118f..5b38e88 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/SolrCloudManager.java
@@ -23,12 +23,13 @@ import java.util.Map;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrResponse;
-import org.apache.solr.client.solrj.cloud.DistributedQueue;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
import org.apache.solr.client.solrj.impl.ClusterStateProvider;
/**
* This interface abstracts the access to a SolrCloud cluster, including interactions with Zookeeper, Solr
* and generic HTTP calls.
+ * <p>This abstraction should be used when possible instead of directly referencing ZK, Solr and HTTP.</p>
*/
public interface SolrCloudManager extends Closeable {
@@ -38,11 +39,6 @@ public interface SolrCloudManager extends Closeable {
DistribStateManager getDistribStateManager();
- interface DistributedQueueFactory {
- DistributedQueue makeQueue(String path) throws IOException;
- void removeQueue(String path) throws IOException;
- }
-
DistributedQueueFactory getDistributedQueueFactory();
// Solr-like methods
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
index 16f02c6..63341b9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/VersionedData.java
@@ -17,13 +17,19 @@
package org.apache.solr.client.solrj.cloud.autoscaling;
/**
- *
+ * Immutable representation of binary data with version.
*/
public class VersionedData {
private final int version;
private final byte[] data;
private final String owner;
+ /**
+ * Constructor.
+ * @param version version of the data, or -1 if unknown
+ * @param data binary data, or null.
+ * @param owner symbolic identifier of data owner / creator, or null.
+ */
public VersionedData(int version, byte[] data, String owner) {
this.version = version;
this.data = data;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
index 44dc2e1..b8db4ab 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
@@ -37,6 +37,7 @@ import org.apache.http.util.EntityUtils;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrResponse;
import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
import org.apache.solr.client.solrj.cloud.autoscaling.DistribStateManager;
import org.apache.solr.client.solrj.cloud.autoscaling.NodeStateProvider;
import org.apache.solr.client.solrj.cloud.autoscaling.SolrCloudManager;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a076f72d/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
index 1957afc..720e7a6 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
@@ -35,6 +35,7 @@ import com.google.common.collect.ImmutableList;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrResponse;
+import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
import org.apache.solr.client.solrj.cloud.autoscaling.Clause.Violation;
import org.apache.solr.client.solrj.cloud.autoscaling.Policy.Suggester.Hint;
import org.apache.solr.client.solrj.impl.ClusterStateProvider;
[6/9] lucene-solr:jira/solr-11285: SOLR-11477: Disallow resolving of
external entities in Lucene queryparser/xml/CoreParser and SolrCoreParser
(defType=xmlparser or {!xmlparser ...}) by default.
Posted by ab...@apache.org.
SOLR-11477: Disallow resolving of external entities in Lucene queryparser/xml/CoreParser and SolrCoreParser (defType=xmlparser or {!xmlparser ...}) by default.
(Michael Stepankin, Olga Barinova, Uwe Schindler, Christine Poerschke)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/926cc4d6
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/926cc4d6
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/926cc4d6
Branch: refs/heads/jira/solr-11285
Commit: 926cc4d65b6d2cc40ff07f76d50ddeda947e3cc4
Parents: 7b313bb
Author: Christine Poerschke <cp...@apache.org>
Authored: Fri Oct 13 12:46:58 2017 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Fri Oct 13 12:51:19 2017 +0100
----------------------------------------------------------------------
lucene/CHANGES.txt | 8 +++
.../lucene/queryparser/xml/CoreParser.java | 65 ++++++++++++++++----
.../queryparser/xml/DOCTYPE_TermQuery.xml | 19 ++++++
.../lucene/queryparser/xml/ENTITY_TermQuery.xml | 23 +++++++
.../lucene/queryparser/xml/TestCoreParser.java | 13 ++++
solr/CHANGES.txt | 6 ++
.../org/apache/solr/search/SolrCoreParser.java | 8 +++
7 files changed, 130 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/926cc4d6/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index f19bed5..1ad72df 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -18,6 +18,11 @@ Changes in Runtime Behavior
======================= Lucene 7.1.0 =======================
+Changes in Runtime Behavior
+
+* Resolving of external entities in queryparser/xml/CoreParser is disallowed
+ by default. See SOLR-11477 for details.
+
New Features
* LUCENE-7970: Add a shape to Geo3D that consists of multiple planes that
@@ -124,6 +129,9 @@ Bug Fixes
* LUCENE-7957: ConjunctionScorer.getChildren was failing to return all
child scorers (Adrien Grand, Mike McCandless)
+* SOLR-11477: Disallow resolving of external entities in queryparser/xml/CoreParser
+ by default. (Michael Stepankin, Olga Barinova, Uwe Schindler, Christine Poerschke)
+
Build
* SOLR-11181: Switch order of maven artifact publishing procedure: deploy first
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/926cc4d6/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
index 8637c4a..a4f5ce5 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
@@ -23,11 +23,17 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.spans.SpanQuery;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
import java.io.InputStream;
+import java.util.Locale;
/**
* Assembles a QueryBuilder which uses only core Lucene Query objects
@@ -111,6 +117,10 @@ public class CoreParser implements QueryBuilder, SpanQueryBuilder {
queryFactory.addBuilder("SpanNot", snot);
}
+ /**
+ * Parses the given stream as XML file and returns a {@link Query}.
+ * By default this disallows external entities for security reasons.
+ */
public Query parse(InputStream xmlStream) throws ParserException {
return getQuery(parseXML(xmlStream).getDocumentElement());
}
@@ -133,23 +143,47 @@ public class CoreParser implements QueryBuilder, SpanQueryBuilder {
spanFactory.addBuilder(nodeName, builder);
}
- static Document parseXML(InputStream pXmlFile) throws ParserException {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = null;
+ /**
+ * Returns a SAX {@link EntityResolver} to be used by {@link DocumentBuilder}.
+ * By default this returns {@link #DISALLOW_EXTERNAL_ENTITY_RESOLVER}, which disallows the
+ * expansion of external entities (for security reasons). To restore legacy behavior,
+ * override this method to return {@code null}.
+ */
+ protected EntityResolver getEntityResolver() {
+ return DISALLOW_EXTERNAL_ENTITY_RESOLVER;
+ }
+
+ /**
+ * Subclass and override to return a SAX {@link ErrorHandler} to be used by {@link DocumentBuilder}.
+ * By default this returns {@code null} so no error handler is used.
+ * This method can be used to redirect XML parse errors/warnings to a custom logger.
+ */
+ protected ErrorHandler getErrorHandler() {
+ return null;
+ }
+
+ private Document parseXML(InputStream pXmlFile) throws ParserException {
+ final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setValidating(false);
try {
- db = dbf.newDocumentBuilder();
- }
- catch (Exception se) {
- throw new ParserException("XML Parser configuration error", se);
+ dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ } catch (ParserConfigurationException e) {
+ // ignore since all implementations are required to support the
+ // {@link javax.xml.XMLConstants#FEATURE_SECURE_PROCESSING} feature
}
- org.w3c.dom.Document doc = null;
+ final DocumentBuilder db;
try {
- doc = db.parse(pXmlFile);
+ db = dbf.newDocumentBuilder();
+ } catch (Exception se) {
+ throw new ParserException("XML Parser configuration error.", se);
}
- catch (Exception se) {
- throw new ParserException("Error parsing XML stream:" + se, se);
+ try {
+ db.setEntityResolver(getEntityResolver());
+ db.setErrorHandler(getErrorHandler());
+ return db.parse(pXmlFile);
+ } catch (Exception se) {
+ throw new ParserException("Error parsing XML stream: " + se, se);
}
- return doc;
}
public Query getQuery(Element e) throws ParserException {
@@ -160,4 +194,11 @@ public class CoreParser implements QueryBuilder, SpanQueryBuilder {
public SpanQuery getSpanQuery(Element e) throws ParserException {
return spanFactory.getSpanQuery(e);
}
+
+ public static final EntityResolver DISALLOW_EXTERNAL_ENTITY_RESOLVER = (String publicId, String systemId) -> {
+ throw new SAXException(String.format(Locale.ENGLISH,
+ "External Entity resolving unsupported: publicId=\"%s\" systemId=\"%s\"",
+ publicId, systemId));
+ };
+
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/926cc4d6/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/DOCTYPE_TermQuery.xml
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/DOCTYPE_TermQuery.xml b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/DOCTYPE_TermQuery.xml
new file mode 100644
index 0000000..28938ae
--- /dev/null
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/DOCTYPE_TermQuery.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TermQuery SYSTEM "foo://bar.xyz/mydtd">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<TermQuery fieldName="contents">sumitomo</TermQuery>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/926cc4d6/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ENTITY_TermQuery.xml
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ENTITY_TermQuery.xml b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ENTITY_TermQuery.xml
new file mode 100644
index 0000000..dc59613
--- /dev/null
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ENTITY_TermQuery.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TermQuery [
+<!ENTITY internalTerm "sumitomo">
+<!ENTITY externalTerm SYSTEM "foo://bar.xyz/external">
+<!ENTITY % myParameterEntity "foo://bar.xyz/param">
+]>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<TermQuery fieldName="contents">&internalTerm;&externalTerm;</TermQuery>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/926cc4d6/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
----------------------------------------------------------------------
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
index 11ffda6..d97e2f6 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestCoreParser.java
@@ -30,6 +30,7 @@ import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.util.LuceneTestCase;
import org.junit.AfterClass;
+import org.xml.sax.SAXException;
import java.io.IOException;
import java.io.InputStream;
@@ -67,6 +68,18 @@ public class TestCoreParser extends LuceneTestCase {
dumpResults("TermQuery", q, 5);
}
+ public void test_DOCTYPE_TermQueryXML() throws ParserException, IOException {
+ SAXException saxe = LuceneTestCase.expectThrows(ParserException.class, SAXException.class,
+ () -> parse("DOCTYPE_TermQuery.xml"));
+ assertTrue(saxe.getMessage().startsWith("External Entity resolving unsupported:"));
+ }
+
+ public void test_ENTITY_TermQueryXML() throws ParserException, IOException {
+ SAXException saxe = LuceneTestCase.expectThrows(ParserException.class, SAXException.class,
+ () -> parse("ENTITY_TermQuery.xml"));
+ assertTrue(saxe.getMessage().startsWith("External Entity resolving unsupported:"));
+ }
+
public void testTermQueryEmptyXML() throws ParserException, IOException {
parseShouldFail("TermQueryEmpty.xml",
"TermQuery has no text");
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/926cc4d6/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 28fea4e..8ec6f01 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -100,6 +100,9 @@ Upgrade Notes
events caused by updates, commits, or optimize, write your own listener as native Java class
as part of a Solr plugin.
+* SOLR-11477: in the XML query parser (defType=xmlparser or {!xmlparser ... })
+ the resolving of external entities is now disallowed by default.
+
New Features
----------------------
* SOLR-10339: New set-trigger and remove-trigger APIs for autoscaling. (shalin)
@@ -271,6 +274,9 @@ Bug Fixes
* SOLR-11449: MoveReplicaCmd mistakenly called registerCollectionStateWatcher on failure. (ab)
+* SOLR-11477: Disallow resolving of external entities in the XML query parser (defType=xmlparser).
+ (Michael Stepankin, Olga Barinova, Uwe Schindler, Christine Poerschke)
+
Optimizations
----------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/926cc4d6/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java b/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
index a5c2b03..df0127a 100755
--- a/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
@@ -25,11 +25,13 @@ import org.apache.lucene.queryparser.xml.QueryBuilder;
import org.apache.lucene.queryparser.xml.builders.SpanQueryBuilder;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.XMLErrorLogger;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.util.plugin.NamedListInitializedPlugin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.xml.sax.ErrorHandler;
/**
* Assembles a QueryBuilder which uses Query objects from Solr's <code>search</code> module
@@ -38,6 +40,7 @@ import org.slf4j.LoggerFactory;
public class SolrCoreParser extends CoreParser implements NamedListInitializedPlugin {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+ private static final XMLErrorLogger xmllog = new XMLErrorLogger(log);
protected final SolrQueryRequest req;
@@ -97,4 +100,9 @@ public class SolrCoreParser extends CoreParser implements NamedListInitializedPl
}
}
+ @Override
+ protected ErrorHandler getErrorHandler() {
+ return xmllog;
+ }
+
}
[8/9] lucene-solr:jira/solr-11285: SOLR-10335: Merge branch
'SOLR-10335' of https://github.com/tballison/lucene-solr
Posted by ab...@apache.org.
SOLR-10335: Merge branch 'SOLR-10335' of https://github.com/tballison/lucene-solr
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/9d2f0cf2
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/9d2f0cf2
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/9d2f0cf2
Branch: refs/heads/jira/solr-11285
Commit: 9d2f0cf2547263e8c7472b694e7ed6e700f1399b
Parents: 926cc4d 605304d
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Fri Oct 13 20:24:25 2017 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Fri Oct 13 20:24:25 2017 +0530
----------------------------------------------------------------------
lucene/ivy-versions.properties | 23 ++-
lucene/licenses/commons-compress-1.11.jar.sha1 | 1 -
lucene/licenses/commons-compress-1.14.jar.sha1 | 1 +
.../handler/dataimport/TikaEntityProcessor.java | 4 +
.../src/test-files/dihextras/test_vsdx.vsdx | Bin 0 -> 44426 bytes
.../dataimport/TestTikaEntityProcessor.java | 22 ++
solr/contrib/extraction/ivy.xml | 6 +-
solr/licenses/commons-collections4-4.1.jar.sha1 | 1 +
.../commons-collections4-LICENSE-ASL.txt | 202 +++++++++++++++++++
solr/licenses/commons-collections4-NOTICE.txt | 5 +
solr/licenses/commons-compress-1.11.jar.sha1 | 1 -
solr/licenses/commons-compress-1.14.jar.sha1 | 1 +
solr/licenses/curvesapi-1.04.jar.sha1 | 1 +
solr/licenses/curvesapi-LICENSE-BSD_LIKE.txt | 28 +++
solr/licenses/curvesapi-NOTICE.txt | 2 +
solr/licenses/fontbox-2.0.1.jar.sha1 | 1 -
solr/licenses/fontbox-2.0.6.jar.sha1 | 1 +
solr/licenses/jackcess-2.1.3.jar.sha1 | 1 -
solr/licenses/jackcess-2.1.8.jar.sha1 | 1 +
solr/licenses/jempbox-1.8.12.jar.sha1 | 1 -
solr/licenses/jempbox-1.8.13.jar.sha1 | 1 +
solr/licenses/jmatio-1.0.jar.sha1 | 1 -
solr/licenses/jmatio-1.2.jar.sha1 | 1 +
solr/licenses/metadata-extractor-2.8.1.jar.sha1 | 1 -
solr/licenses/metadata-extractor-2.9.1.jar.sha1 | 1 +
solr/licenses/pdfbox-2.0.1.jar.sha1 | 1 -
solr/licenses/pdfbox-2.0.6.jar.sha1 | 1 +
solr/licenses/pdfbox-tools-2.0.1.jar.sha1 | 1 -
solr/licenses/pdfbox-tools-2.0.6.jar.sha1 | 1 +
solr/licenses/poi-3.15-beta1.jar.sha1 | 1 -
solr/licenses/poi-3.17-beta1.jar.sha1 | 1 +
solr/licenses/poi-ooxml-3.15-beta1.jar.sha1 | 1 -
solr/licenses/poi-ooxml-3.17-beta1.jar.sha1 | 1 +
.../poi-ooxml-schemas-3.15-beta1.jar.sha1 | 1 -
.../poi-ooxml-schemas-3.17-beta1.jar.sha1 | 1 +
.../licenses/poi-scratchpad-3.15-beta1.jar.sha1 | 1 -
.../licenses/poi-scratchpad-3.17-beta1.jar.sha1 | 1 +
solr/licenses/rome-1.0.jar.sha1 | 1 -
solr/licenses/rome-1.5.1.jar.sha1 | 1 +
solr/licenses/tika-core-1.13.jar.sha1 | 1 -
solr/licenses/tika-core-1.16.jar.sha1 | 1 +
solr/licenses/tika-java7-1.13.jar.sha1 | 1 -
solr/licenses/tika-java7-1.16.jar.sha1 | 1 +
solr/licenses/tika-parsers-1.13.jar.sha1 | 1 -
solr/licenses/tika-parsers-1.16.jar.sha1 | 1 +
solr/licenses/tika-xmp-1.13.jar.sha1 | 1 -
solr/licenses/tika-xmp-1.16.jar.sha1 | 1 +
solr/licenses/xz-1.5.jar.sha1 | 1 -
solr/licenses/xz-1.6.jar.sha1 | 1 +
49 files changed, 301 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
[3/9] lucene-solr:jira/solr-11285: Merge remote-tracking branch
'upstream/master' into SOLR-10335
Posted by ab...@apache.org.
Merge remote-tracking branch 'upstream/master' into SOLR-10335
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/4c7ff73c
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/4c7ff73c
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/4c7ff73c
Branch: refs/heads/jira/solr-11285
Commit: 4c7ff73c98169c837a8617fcfb8ea1789df29473
Parents: c501e81 77fc188
Author: tballison <ta...@mitre.org>
Authored: Thu Oct 5 12:51:03 2017 -0400
Committer: tballison <ta...@mitre.org>
Committed: Thu Oct 5 12:51:03 2017 -0400
----------------------------------------------------------------------
dev-tools/maven/pom.xml.template | 2 +-
dev-tools/scripts/checkJavadocLinks.py | 2 +-
lucene/CHANGES.txt | 9 +-
.../lucene/search/NormsFieldExistsQuery.java | 80 +++++++
.../search/TestNormsFieldExistsQuery.java | 197 +++++++++++++++++
.../directory/DirectoryTaxonomyReader.java | 58 ++++-
.../taxonomy/directory/TaxonomyIndexArrays.java | 40 +++-
.../directory/TestDirectoryTaxonomyReader.java | 34 ++-
solr/CHANGES.txt | 2 +-
solr/README.txt | 4 +-
solr/build.xml | 29 +--
solr/contrib/ltr/README.md | 2 +-
.../org/apache/solr/cloud/AddReplicaCmd.java | 1 -
.../solr/cloud/autoscaling/AutoScaling.java | 3 +-
.../cloud/autoscaling/ScheduledTriggers.java | 17 +-
.../org/apache/solr/handler/StreamHandler.java | 2 +
.../apache/solr/search/facet/FacetField.java | 3 +-
.../cloud/TestCloudJSONFacetJoinDomain.java | 220 +++++++++++++++----
solr/example/README.txt | 4 +-
solr/site/index.xsl | 3 +-
solr/site/quickstart.mdtext | 6 -
.../client/solrj/cloud/autoscaling/Policy.java | 29 ++-
.../io/eval/PolyFitDerivativeEvaluator.java | 104 +++++++++
.../client/solrj/io/eval/PolyFitEvaluator.java | 102 +++++++++
.../java/org/apache/solr/common/MapWriter.java | 1 -
.../solrj/cloud/autoscaling/TestPolicy.java | 1 -
.../solrj/io/stream/StreamExpressionTest.java | 76 +++++--
27 files changed, 911 insertions(+), 120 deletions(-)
----------------------------------------------------------------------
[4/9] lucene-solr:jira/solr-11285: tika's default was switched to
"process embedded" -- need to send EmptyParser into ParseContext now to turn
off parsing of embedded documents
Posted by ab...@apache.org.
tika's default was switched to "process embedded" -- need to send EmptyParser
into ParseContext now to turn off parsing of embedded documents
add curvesapi for vsdx and unit test.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/605304d9
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/605304d9
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/605304d9
Branch: refs/heads/jira/solr-11285
Commit: 605304d92789396dab83b8cf32d82c3014ad5dbc
Parents: 4c7ff73
Author: tballison <ta...@mitre.org>
Authored: Tue Oct 10 08:23:59 2017 -0400
Committer: tballison <ta...@mitre.org>
Committed: Tue Oct 10 08:23:59 2017 -0400
----------------------------------------------------------------------
lucene/ivy-versions.properties | 1 +
.../handler/dataimport/TikaEntityProcessor.java | 4 +++
.../src/test-files/dihextras/test_vsdx.vsdx | Bin 0 -> 44426 bytes
.../dataimport/TestTikaEntityProcessor.java | 22 +++++++++++++++
solr/contrib/extraction/ivy.xml | 1 +
solr/licenses/curvesapi-1.04.jar.sha1 | 1 +
solr/licenses/curvesapi-LICENSE-BSD_LIKE.txt | 28 +++++++++++++++++++
solr/licenses/curvesapi-NOTICE.txt | 2 ++
8 files changed, 59 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/lucene/ivy-versions.properties
----------------------------------------------------------------------
diff --git a/lucene/ivy-versions.properties b/lucene/ivy-versions.properties
index 8ce6006..d020231 100644
--- a/lucene/ivy-versions.properties
+++ b/lucene/ivy-versions.properties
@@ -22,6 +22,7 @@ com.fasterxml.jackson.core.version = 2.5.4
/com.fasterxml.jackson.dataformat/jackson-dataformat-smile = ${com.fasterxml.jackson.core.version}
/com.github.ben-manes.caffeine/caffeine = 2.4.0
+/com.github.virtuald/curvesapi = 1.04
/com.google.guava/guava = 14.0.1
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/TikaEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/TikaEntityProcessor.java b/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/TikaEntityProcessor.java
index 22850a1..95f0073 100644
--- a/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/TikaEntityProcessor.java
+++ b/solr/contrib/dataimporthandler-extras/src/java/org/apache/solr/handler/dataimport/TikaEntityProcessor.java
@@ -20,6 +20,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.tika.config.TikaConfig;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
+import org.apache.tika.parser.EmptyParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.parser.html.HtmlMapper;
@@ -62,6 +63,7 @@ import static org.apache.solr.handler.dataimport.XPathEntityProcessor.URL;
* @since solr 3.1
*/
public class TikaEntityProcessor extends EntityProcessorBase {
+ private static Parser EMPTY_PARSER = new EmptyParser();
private TikaConfig tikaConfig;
private String format = "text";
private boolean done = false;
@@ -155,6 +157,8 @@ public class TikaEntityProcessor extends EntityProcessorBase {
}
if (extractEmbedded) {
context.set(Parser.class, tikaParser);
+ } else {
+ context.set(Parser.class, EMPTY_PARSER);
}
tikaParser.parse(is, contentHandler, metadata , context);
} catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/solr/contrib/dataimporthandler-extras/src/test-files/dihextras/test_vsdx.vsdx
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler-extras/src/test-files/dihextras/test_vsdx.vsdx b/solr/contrib/dataimporthandler-extras/src/test-files/dihextras/test_vsdx.vsdx
new file mode 100644
index 0000000..659ecdd
Binary files /dev/null and b/solr/contrib/dataimporthandler-extras/src/test-files/dihextras/test_vsdx.vsdx differ
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/solr/contrib/dataimporthandler-extras/src/test/org/apache/solr/handler/dataimport/TestTikaEntityProcessor.java
----------------------------------------------------------------------
diff --git a/solr/contrib/dataimporthandler-extras/src/test/org/apache/solr/handler/dataimport/TestTikaEntityProcessor.java b/solr/contrib/dataimporthandler-extras/src/test/org/apache/solr/handler/dataimport/TestTikaEntityProcessor.java
index fe769bc..05acfca 100644
--- a/solr/contrib/dataimporthandler-extras/src/test/org/apache/solr/handler/dataimport/TestTikaEntityProcessor.java
+++ b/solr/contrib/dataimporthandler-extras/src/test/org/apache/solr/handler/dataimport/TestTikaEntityProcessor.java
@@ -62,6 +62,15 @@ public class TestTikaEntityProcessor extends AbstractDataImportHandlerTestCase {
" </document>" +
"</dataConfig>";
+ private String vsdxConf =
+ "<dataConfig>" +
+ " <dataSource type=\"BinFileDataSource\"/>" +
+ " <document>" +
+ " <entity name=\"Tika\" processor=\"TikaEntityProcessor\" url=\"" + getFile("dihextras/test_vsdx.vsdx").getAbsolutePath() + "\" >" +
+ " <field column=\"text\"/>" +
+ " </entity>" +
+ " </document>" +
+ "</dataConfig>";
private String[] tests = {
"//*[@numFound='1']"
@@ -100,6 +109,11 @@ public class TestTikaEntityProcessor extends AbstractDataImportHandlerTestCase {
"//str[@name='text'][not(contains(.,'When in the Course'))]"
};
+ private String[] testsVSDX = {
+ "//*[@numFound='1']",
+ "//str[@name='text'][contains(.,'Arrears')]"
+ };
+
@BeforeClass
public static void beforeClass() throws Exception {
assumeFalse("This test fails on UNIX with Turkish default locale (https://issues.apache.org/jira/browse/SOLR-6387)",
@@ -120,6 +134,14 @@ public class TestTikaEntityProcessor extends AbstractDataImportHandlerTestCase {
}
@Test
+ public void testVSDX() throws Exception {
+ //this ensures that we've included the curvesapi dependency
+ //and that the ConnectsType class is bundled with poi-ooxml-schemas.
+ runFullImport(vsdxConf);
+ assertQ(req("*:*"), testsVSDX);
+ }
+
+ @Test
public void testTikaHTMLMapperEmpty() throws Exception {
runFullImport(getConfigHTML(null));
assertQ(req("*:*"), testsHTMLDefault);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/solr/contrib/extraction/ivy.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/ivy.xml b/solr/contrib/extraction/ivy.xml
index 1d9d7a3..7143d81 100644
--- a/solr/contrib/extraction/ivy.xml
+++ b/solr/contrib/extraction/ivy.xml
@@ -51,6 +51,7 @@
<dependency org="org.apache.poi" name="poi-ooxml-schemas" rev="${/org.apache.poi/poi-ooxml-schemas}" conf="compile"/>
<dependency org="org.apache.xmlbeans" name="xmlbeans" rev="${/org.apache.xmlbeans/xmlbeans}" conf="compile"/>
<dependency org="org.apache.commons" name="commons-collections4" rev="${/org.apache.commons/commons-collections4}" conf="compile"/>
+ <dependency org="com.github.virtuald" name="curvesapi" rev="${/com.github.virtuald/curvesapi}" conf="compile"/>
<dependency org="org.ccil.cowan.tagsoup" name="tagsoup" rev="${/org.ccil.cowan.tagsoup/tagsoup}" conf="compile"/>
<dependency org="com.googlecode.mp4parser" name="isoparser" rev="${/com.googlecode.mp4parser/isoparser}" conf="compile"/>
<dependency org="org.aspectj" name="aspectjrt" rev="${/org.aspectj/aspectjrt}" conf="compile"/>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/solr/licenses/curvesapi-1.04.jar.sha1
----------------------------------------------------------------------
diff --git a/solr/licenses/curvesapi-1.04.jar.sha1 b/solr/licenses/curvesapi-1.04.jar.sha1
new file mode 100644
index 0000000..51c2626
--- /dev/null
+++ b/solr/licenses/curvesapi-1.04.jar.sha1
@@ -0,0 +1 @@
+3386abf821719bc89c7685f9eaafaf4a842f0199
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/solr/licenses/curvesapi-LICENSE-BSD_LIKE.txt
----------------------------------------------------------------------
diff --git a/solr/licenses/curvesapi-LICENSE-BSD_LIKE.txt b/solr/licenses/curvesapi-LICENSE-BSD_LIKE.txt
new file mode 100644
index 0000000..22df7b1
--- /dev/null
+++ b/solr/licenses/curvesapi-LICENSE-BSD_LIKE.txt
@@ -0,0 +1,28 @@
+Copyright (c) 2005, Graph Builder
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+-Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+-Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+-Neither the name of Graph Builder nor the names of its contributors may be
+used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/605304d9/solr/licenses/curvesapi-NOTICE.txt
----------------------------------------------------------------------
diff --git a/solr/licenses/curvesapi-NOTICE.txt b/solr/licenses/curvesapi-NOTICE.txt
new file mode 100644
index 0000000..326e674
--- /dev/null
+++ b/solr/licenses/curvesapi-NOTICE.txt
@@ -0,0 +1,2 @@
+Copyright (c) 2005, Graph Builder
+All rights reserved.
[5/9] lucene-solr:jira/solr-11285: SOLR-11482: RunExecutableListener
was removed for security reasons
Posted by ab...@apache.org.
SOLR-11482: RunExecutableListener was removed for security reasons
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/7b313bb5
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/7b313bb5
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/7b313bb5
Branch: refs/heads/jira/solr-11285
Commit: 7b313bb597a6d1f78773dc9c00f484c078a46c25
Parents: 8a7d04a
Author: Uwe Schindler <us...@apache.org>
Authored: Fri Oct 13 13:48:18 2017 +0200
Committer: Uwe Schindler <us...@apache.org>
Committed: Fri Oct 13 13:48:18 2017 +0200
----------------------------------------------------------------------
solr/CHANGES.txt | 7 +
.../solr/collection1/conf/solrconfig.xml | 25 ----
.../solr/collection1/conf/solrconfig.xml | 18 ---
.../uima/solr/collection1/conf/solrconfig.xml | 25 ----
.../uima/uima-tokenizers-solrconfig.xml | 27 +---
.../apache/solr/core/RunExecutableListener.java | 148 -------------------
.../conf/solrconfig-analytics-query.xml | 17 ---
.../conf/solrconfig-collapseqparser.xml | 17 ---
.../collection1/conf/solrconfig-elevate.xml | 17 ---
.../conf/solrconfig-plugcollector.xml | 16 --
.../solr/collection1/conf/solrconfig.xml | 17 ---
.../configsets/_default/conf/solrconfig.xml | 23 ---
.../with-run-executable-listener/managed-schema | 25 ----
.../with-run-executable-listener/solrconfig.xml | 69 ---------
.../apache/solr/cloud/TestConfigSetsAPI.java | 12 --
.../example-DIH/solr/db/conf/solrconfig.xml | 23 ---
.../example-DIH/solr/mail/conf/solrconfig.xml | 23 ---
.../example-DIH/solr/solr/conf/solrconfig.xml | 23 ---
solr/example/files/conf/solrconfig.xml | 23 ---
.../configsets/_default/conf/solrconfig.xml | 23 ---
.../conf/solrconfig.xml | 23 ---
solr/solr-ref-guide/src/configsets-api.adoc | 1 -
.../src/updatehandlers-in-solrconfig.adoc | 18 +--
23 files changed, 10 insertions(+), 610 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 9101440..28fea4e 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -96,6 +96,10 @@ Upgrade Notes
* SOLR-10962: in the ReplicationHandler the master.commitReserveDuration sub-element is deprecated. Instead
please configure a direct commitReserveDuration element for use in all modes (master, slave, cloud).
+* SOLR-11482: RunExecutableListener was removed for security reasons. If you want to listen to
+ events caused by updates, commits, or optimize, write your own listener as native Java class
+ as part of a Solr plugin.
+
New Features
----------------------
* SOLR-10339: New set-trigger and remove-trigger APIs for autoscaling. (shalin)
@@ -368,6 +372,9 @@ Other Changes
* SOLR-11306: Fix inaccurate comments on docValues and StrField in the example schemas
(Tom Burton-West, Jason Gerlowski, Varun Thacker)
+* SOLR-11482: RunExecutableListener was removed for security reasons. (Michael Stepankin,
+ Olga Barinova, Uwe Schindler, Tomás Fernández Löbbe)
+
================== 7.0.1 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/contrib/clustering/src/test-files/clustering/solr/collection1/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/clustering/src/test-files/clustering/solr/collection1/conf/solrconfig.xml b/solr/contrib/clustering/src/test-files/clustering/solr/collection1/conf/solrconfig.xml
index 8d0f82e..5ff4254 100644
--- a/solr/contrib/clustering/src/test-files/clustering/solr/collection1/conf/solrconfig.xml
+++ b/solr/contrib/clustering/src/test-files/clustering/solr/collection1/conf/solrconfig.xml
@@ -63,31 +63,6 @@
</autoCommit>
-->
- <!-- The RunExecutableListener executes an external command.
- exe - the name of the executable to run
- dir - dir to use as the current working directory. default="."
- wait - the calling thread waits until the executable returns. default="true"
- args - the arguments to pass to the program. default=nothing
- env - environment variables to set. default=nothing
- -->
- <!-- A postCommit event is fired after every commit or optimize command
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
- <!-- A postOptimize event is fired only after every optimize command, useful
- in conjunction with index distribution to only distribute optimized indicies
- <listener event="postOptimize" class="solr.RunExecutableListener">
- <str name="exe">snapshooter</str>
- <str name="dir">solr/bin</str>
- <bool name="wait">true</bool>
- </listener>
- -->
-
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml b/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
index 4dbf082..faffeb8 100644
--- a/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
+++ b/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
@@ -40,24 +40,6 @@
</autoCommit>
-->
- <!-- The RunExecutableListener executes an external command.
- exe - the name of the executable to run
- dir - dir to use as the current working directory. default="."
- wait - the calling thread waits until the executable returns. default="true"
- args - the arguments to pass to the program. default=nothing
- env - environment variables to set. default=nothing
- -->
- <!-- A postCommit event is fired after every commit
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
- <str name="dir">/var/opt/resin3/__PORT__</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
-
-
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/contrib/uima/src/test-files/uima/solr/collection1/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/test-files/uima/solr/collection1/conf/solrconfig.xml b/solr/contrib/uima/src/test-files/uima/solr/collection1/conf/solrconfig.xml
index 96392d3..776de39 100644
--- a/solr/contrib/uima/src/test-files/uima/solr/collection1/conf/solrconfig.xml
+++ b/solr/contrib/uima/src/test-files/uima/solr/collection1/conf/solrconfig.xml
@@ -101,31 +101,6 @@
</autoCommit>
-->
-
- <!--
- The RunExecutableListener executes an external command from a hook
- such as postCommit or postOptimize. exe - the name of the
- executable to run dir - dir to use as the current working
- directory. default="." wait - the calling thread waits until the
- executable returns. default="true" args - the arguments to pass to
- the program. default=nothing env - environment variables to set.
- default=nothing
- -->
- <!--
- A postCommit event is fired after every commit or optimize command
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str> <str name="dir">.</str>
- <bool name="wait">true</bool> <arr name="args"> <str>arg1</str>
- <str>arg2</str> </arr> <arr name="env"> <str>MYVAR=val1</str>
- </arr> </listener>
- -->
- <!--
- A postOptimize event is fired only after every optimize command
- <listener event="postOptimize" class="solr.RunExecutableListener">
- <str name="exe">snapshooter</str> <str name="dir">solr/bin</str>
- <bool name="wait">true</bool> </listener>
- -->
-
</updateHandler>
<!--
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/contrib/uima/src/test-files/uima/uima-tokenizers-solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/uima/src/test-files/uima/uima-tokenizers-solrconfig.xml b/solr/contrib/uima/src/test-files/uima/uima-tokenizers-solrconfig.xml
index df7dc1e..55cd3fa 100644
--- a/solr/contrib/uima/src/test-files/uima/uima-tokenizers-solrconfig.xml
+++ b/solr/contrib/uima/src/test-files/uima/uima-tokenizers-solrconfig.xml
@@ -99,32 +99,7 @@
<autoCommit> <maxDocs>10000</maxDocs> <maxTime>1000</maxTime>
</autoCommit>
-->
-
-
- <!--
- The RunExecutableListener executes an external command from a hook
- such as postCommit or postOptimize. exe - the name of the
- executable to run dir - dir to use as the current working
- directory. default="." wait - the calling thread waits until the
- executable returns. default="true" args - the arguments to pass to
- the program. default=nothing env - environment variables to set.
- default=nothing
- -->
- <!--
- A postCommit event is fired after every commit or optimize command
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str> <str name="dir">.</str>
- <bool name="wait">true</bool> <arr name="args"> <str>arg1</str>
- <str>arg2</str> </arr> <arr name="env"> <str>MYVAR=val1</str>
- </arr> </listener>
- -->
- <!--
- A postOptimize event is fired only after every optimize command
- <listener event="postOptimize" class="solr.RunExecutableListener">
- <str name="exe">snapshooter</str> <str name="dir">solr/bin</str>
- <bool name="wait">true</bool> </listener>
- -->
-
+
</updateHandler>
<!--
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java b/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java
deleted file mode 100644
index c6d0090..0000000
--- a/solr/core/src/java/org/apache/solr/core/RunExecutableListener.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.solr.core;
-
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.search.SolrIndexSearcher;
-import org.apache.solr.util.plugin.SolrCoreAware;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.invoke.MethodHandles;
-import java.util.List;
-import java.util.ArrayList;
-
-/**
- */
-class RunExecutableListener extends AbstractSolrEventListener implements SolrCoreAware {
- private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-
- public RunExecutableListener(SolrCore core) {
- super(core);
- }
- protected String[] cmd;
- protected File dir;
- protected String[] envp;
- protected boolean wait=true;
-
- @Override
- public void init(NamedList args) {
- super.init(args);
-
- List cmdlist = new ArrayList();
- cmdlist.add(args.get("exe"));
- List lst = (List)args.get("args");
- if (lst != null) cmdlist.addAll(lst);
- cmd = (String[])cmdlist.toArray(new String[cmdlist.size()]);
-
- lst = (List)args.get("env");
- if (lst != null) {
- envp = (String[])lst.toArray(new String[lst.size()]);
- }
-
- String str = (String)args.get("dir");
- if (str==null || str.equals("") || str.equals(".") || str.equals("./")) {
- dir = null;
- } else {
- dir = new File(str);
- }
-
- if ("false".equals(args.get("wait")) || Boolean.FALSE.equals(args.get("wait"))) wait=false;
- }
-
- @Override
- public void inform(SolrCore core) {
- if (!core.getCoreDescriptor().isConfigSetTrusted()) {
- throw new SolrException(ErrorCode.UNAUTHORIZED, "The configset for this collection was uploaded without any authentication in place,"
- + " and this operation is not available for collections with untrusted configsets. To have this component, re-upload the configset"
- + " after enabling authentication and authorization.");
- }
- }
-
- /**
- * External executable listener.
- *
- * @param callback Unused (As of solr 1.4-dev)
- * @return Error code indicating if the command has executed successfully. <br />
- * 0 , indicates normal termination.<br />
- * non-zero , otherwise.
- */
- protected int exec(String callback) {
- int ret = 0;
-
- try {
- boolean doLog = log.isDebugEnabled();
- if (doLog) {
- log.debug("About to exec " + cmd[0]);
- }
- final Process proc;
- try {
- proc = Runtime.getRuntime().exec(cmd, envp ,dir);
- } catch (Error err) {
- // Create better error message
- if (err.getMessage() != null && (err.getMessage().contains("posix_spawn") || err.getMessage().contains("UNIXProcess"))) {
- Error newErr = new Error("Error forking command due to JVM locale bug (see https://issues.apache.org/jira/browse/SOLR-6387): " + err.getMessage());
- newErr.setStackTrace(err.getStackTrace());
- err = newErr;
- }
- throw err;
- }
-
- if (wait) {
- try {
- ret = proc.waitFor();
- } catch (InterruptedException e) {
- SolrException.log(log,e);
- ret = INVALID_PROCESS_RETURN_CODE;
- }
- }
-
- if (wait && doLog) {
- log.debug("Executable " + cmd[0] + " returned " + ret);
- }
-
- } catch (IOException e) {
- // don't throw exception, just log it...
- SolrException.log(log,e);
- ret = INVALID_PROCESS_RETURN_CODE;
- }
-
- return ret;
- }
-
-
- @Override
- public void postCommit() {
- // anything generic need to be passed to the external program?
- // the directory of the index? the command that caused it to be
- // invoked? the version of the index?
- exec("postCommit");
- }
-
- @Override
- public void newSearcher(SolrIndexSearcher newSearcher, SolrIndexSearcher currentSearcher) {
- exec("newSearcher");
- }
-
- /** Non-zero value for an invalid return code **/
- private static int INVALID_PROCESS_RETURN_CODE = -1;
-
-}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/collection1/conf/solrconfig-analytics-query.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-analytics-query.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-analytics-query.xml
index fc33e46..b967c0d 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-analytics-query.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig-analytics-query.xml
@@ -62,23 +62,6 @@
</autoCommit>
-->
- <!-- The RunExecutableListener executes an external command.
- exe - the name of the executable to run
- dir - dir to use as the current working directory. default="."
- wait - the calling thread waits until the executable returns. default="true"
- args - the arguments to pass to the program. default=nothing
- env - environment variables to set. default=nothing
- -->
- <!-- A postCommit event is fired after every commit
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
- <str name="dir">/var/opt/resin3/__PORT__</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
-
<updateLog enable="${enable.update.log:true}">
<str name="dir">${solr.ulog.dir:}</str>
</updateLog>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/collection1/conf/solrconfig-collapseqparser.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-collapseqparser.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-collapseqparser.xml
index 65820e0..1edaa86 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-collapseqparser.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig-collapseqparser.xml
@@ -62,23 +62,6 @@
</autoCommit>
-->
- <!-- The RunExecutableListener executes an external command.
- exe - the name of the executable to run
- dir - dir to use as the current working directory. default="."
- wait - the calling thread waits until the executable returns. default="true"
- args - the arguments to pass to the program. default=nothing
- env - environment variables to set. default=nothing
- -->
- <!-- A postCommit event is fired after every commit
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
- <str name="dir">/var/opt/resin3/__PORT__</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
-
<updateLog enable="${enable.update.log:true}">
<str name="dir">${solr.ulog.dir:}</str>
</updateLog>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/collection1/conf/solrconfig-elevate.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-elevate.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-elevate.xml
index 083333c..1c8e10f 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-elevate.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig-elevate.xml
@@ -43,23 +43,6 @@
</autoCommit>
-->
- <!-- The RunExecutableListener executes an external command.
- exe - the name of the executable to run
- dir - dir to use as the current working directory. default="."
- wait - the calling thread waits until the executable returns. default="true"
- args - the arguments to pass to the program. default=nothing
- env - environment variables to set. default=nothing
- -->
- <!-- A postCommit event is fired after every commit
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
- <str name="dir">/var/opt/resin3/__PORT__</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
-
</updateHandler>
<query>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/collection1/conf/solrconfig-plugcollector.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-plugcollector.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-plugcollector.xml
index 431447c..25071a5 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-plugcollector.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig-plugcollector.xml
@@ -60,22 +60,6 @@
<maxTime>3600000</maxTime>
</autoCommit>
-->
- <!-- The RunExecutableListener executes an external command.
- exe - the name of the executable to run
- dir - dir to use as the current working directory. default="."
- wait - the calling thread waits until the executable returns. default="true"
- args - the arguments to pass to the program. default=nothing
- env - environment variables to set. default=nothing
- -->
- <!-- A postCommit event is fired after every commit
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
- <str name="dir">/var/opt/resin3/__PORT__</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
<updateLog enable="${enable.update.log:true}">
<str name="dir">${solr.ulog.dir:}</str>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/collection1/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig.xml
index 6528aba..3393f9f 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig.xml
@@ -73,23 +73,6 @@
<maxTime>3600000</maxTime>
</autoCommit>
-->
-
- <!-- The RunExecutableListener executes an external command.
- exe - the name of the executable to run
- dir - dir to use as the current working directory. default="."
- wait - the calling thread waits until the executable returns. default="true"
- args - the arguments to pass to the program. default=nothing
- env - environment variables to set. default=nothing
- -->
- <!-- A postCommit event is fired after every commit
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
- <str name="dir">/var/opt/resin3/__PORT__</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
<updateLog enable="${enable.update.log:true}">
<str name="dir">${solr.ulog.dir:}</str>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml b/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
index 3b11082..49f3a38 100644
--- a/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
+++ b/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
@@ -331,29 +331,6 @@
postCommit - fired after every commit or optimize command
postOptimize - fired after every optimize command
-->
- <!-- The RunExecutableListener executes an external command from a
- hook such as postCommit or postOptimize.
-
- exe - the name of the executable to run
- dir - dir to use as the current working directory. (default=".")
- wait - the calling thread waits until the executable returns.
- (default="true")
- args - the arguments to pass to the program. (default is none)
- env - environment variables to set. (default is none)
- -->
- <!-- This example shows how RunExecutableListener could be used
- with the script based replication...
- http://wiki.apache.org/solr/CollectionDistribution
- -->
- <!--
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/managed-schema
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/managed-schema b/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/managed-schema
deleted file mode 100644
index 9e2f947..0000000
--- a/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/managed-schema
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<schema name="minimal" version="1.1">
- <types>
- <fieldType name="string" class="solr.StrField"/>
- </types>
- <fields>
- <dynamicField name="*" type="string" indexed="true" stored="true" />
- </fields>
-</schema>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/solrconfig.xml b/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/solrconfig.xml
deleted file mode 100644
index 4683841..0000000
--- a/solr/core/src/test-files/solr/configsets/upload/with-run-executable-listener/solrconfig.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" ?>
-
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!-- This is a "kitchen sink" config file that tests can use.
- When writting a new test, feel free to add *new* items (plugins,
- config options, etc...) as long as they don't break any existing
- tests. if you need to test something esoteric please add a new
- "solrconfig-your-esoteric-purpose.xml" config file.
-
- Note in particular that this test is used by MinimalSchemaTest so
- Anything added to this file needs to work correctly even if there
- is now uniqueKey or defaultSearch Field.
- -->
-
-<config>
-
- <dataDir>${solr.data.dir:}</dataDir>
-
- <directoryFactory name="DirectoryFactory"
- class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
-
- <luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion>
-
- <updateHandler class="solr.DirectUpdateHandler2">
- <commitWithin>
- <softCommit>${solr.commitwithin.softcommit:true}</softCommit>
- </commitWithin>
-
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
- <str name="dir">/var/opt/resin3/__PORT__</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
-
- </updateHandler>
- <requestHandler name="/select" class="solr.SearchHandler">
- <lst name="defaults">
- <str name="echoParams">explicit</str>
- <str name="indent">true</str>
- <str name="df">text</str>
- </lst>
-
- </requestHandler>
-
- <requestHandler name="/update/xslt"
- startup="lazy"
- class="solr.XsltUpdateRequestHandler"/>
-
- <requestHandler name="/update" class="solr.UpdateRequestHandler" />
-</config>
-
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
index d59b6ea..374e27a 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java
@@ -328,18 +328,6 @@ public class TestConfigSetsAPI extends SolrTestCaseJ4 {
}
@Test
- public void testUploadWithRunExecutableListener() throws Exception {
- String suffix = "-untrusted";
- uploadConfigSet("with-run-executable-listener", suffix, null, null);
- // try to create a collection with the uploaded configset
- CollectionAdminResponse resp = createCollection("newcollection3", "with-run-executable-listener" + suffix, 1, 1, solrCluster.getSolrClient());
- log.info("Client saw errors: "+resp.getErrorMessages());
- assertTrue(resp.getErrorMessages() != null && resp.getErrorMessages().size() > 0);
- assertTrue(resp.getErrorMessages().getVal(0).
- contains("The configset for this collection was uploaded without any authentication"));
- }
-
- @Test
public void testUploadWithScriptUpdateProcessor() throws Exception {
for (boolean withAuthorization: Arrays.asList(false, true)) {
String suffix;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/example/example-DIH/solr/db/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/example/example-DIH/solr/db/conf/solrconfig.xml b/solr/example/example-DIH/solr/db/conf/solrconfig.xml
index 6b53a95..1ffbbe8 100644
--- a/solr/example/example-DIH/solr/db/conf/solrconfig.xml
+++ b/solr/example/example-DIH/solr/db/conf/solrconfig.xml
@@ -321,29 +321,6 @@
postCommit - fired after every commit or optimize command
postOptimize - fired after every optimize command
-->
- <!-- The RunExecutableListener executes an external command from a
- hook such as postCommit or postOptimize.
-
- exe - the name of the executable to run
- dir - dir to use as the current working directory. (default=".")
- wait - the calling thread waits until the executable returns.
- (default="true")
- args - the arguments to pass to the program. (default is none)
- env - environment variables to set. (default is none)
- -->
- <!-- This example shows how RunExecutableListener could be used
- with the script based replication...
- http://wiki.apache.org/solr/CollectionDistribution
- -->
- <!--
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/example/example-DIH/solr/mail/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/example/example-DIH/solr/mail/conf/solrconfig.xml b/solr/example/example-DIH/solr/mail/conf/solrconfig.xml
index ba7f2e1..770b0fd 100644
--- a/solr/example/example-DIH/solr/mail/conf/solrconfig.xml
+++ b/solr/example/example-DIH/solr/mail/conf/solrconfig.xml
@@ -324,29 +324,6 @@
postCommit - fired after every commit or optimize command
postOptimize - fired after every optimize command
-->
- <!-- The RunExecutableListener executes an external command from a
- hook such as postCommit or postOptimize.
-
- exe - the name of the executable to run
- dir - dir to use as the current working directory. (default=".")
- wait - the calling thread waits until the executable returns.
- (default="true")
- args - the arguments to pass to the program. (default is none)
- env - environment variables to set. (default is none)
- -->
- <!-- This example shows how RunExecutableListener could be used
- with the script based replication...
- http://wiki.apache.org/solr/CollectionDistribution
- -->
- <!--
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/example/example-DIH/solr/solr/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/example/example-DIH/solr/solr/conf/solrconfig.xml b/solr/example/example-DIH/solr/solr/conf/solrconfig.xml
index 745e575..3f00141 100644
--- a/solr/example/example-DIH/solr/solr/conf/solrconfig.xml
+++ b/solr/example/example-DIH/solr/solr/conf/solrconfig.xml
@@ -321,29 +321,6 @@
postCommit - fired after every commit or optimize command
postOptimize - fired after every optimize command
-->
- <!-- The RunExecutableListener executes an external command from a
- hook such as postCommit or postOptimize.
-
- exe - the name of the executable to run
- dir - dir to use as the current working directory. (default=".")
- wait - the calling thread waits until the executable returns.
- (default="true")
- args - the arguments to pass to the program. (default is none)
- env - environment variables to set. (default is none)
- -->
- <!-- This example shows how RunExecutableListener could be used
- with the script based replication...
- http://wiki.apache.org/solr/CollectionDistribution
- -->
- <!--
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/example/files/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/example/files/conf/solrconfig.xml b/solr/example/files/conf/solrconfig.xml
index 748bd0f..bca0df8 100644
--- a/solr/example/files/conf/solrconfig.xml
+++ b/solr/example/files/conf/solrconfig.xml
@@ -322,29 +322,6 @@
postCommit - fired after every commit or optimize command
postOptimize - fired after every optimize command
-->
- <!-- The RunExecutableListener executes an external command from a
- hook such as postCommit or postOptimize.
-
- exe - the name of the executable to run
- dir - dir to use as the current working directory. (default=".")
- wait - the calling thread waits until the executable returns.
- (default="true")
- args - the arguments to pass to the program. (default is none)
- env - environment variables to set. (default is none)
- -->
- <!-- This example shows how RunExecutableListener could be used
- with the script based replication...
- http://wiki.apache.org/solr/CollectionDistribution
- -->
- <!--
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/server/solr/configsets/_default/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/server/solr/configsets/_default/conf/solrconfig.xml b/solr/server/solr/configsets/_default/conf/solrconfig.xml
index 3b11082..49f3a38 100644
--- a/solr/server/solr/configsets/_default/conf/solrconfig.xml
+++ b/solr/server/solr/configsets/_default/conf/solrconfig.xml
@@ -331,29 +331,6 @@
postCommit - fired after every commit or optimize command
postOptimize - fired after every optimize command
-->
- <!-- The RunExecutableListener executes an external command from a
- hook such as postCommit or postOptimize.
-
- exe - the name of the executable to run
- dir - dir to use as the current working directory. (default=".")
- wait - the calling thread waits until the executable returns.
- (default="true")
- args - the arguments to pass to the program. (default is none)
- env - environment variables to set. (default is none)
- -->
- <!-- This example shows how RunExecutableListener could be used
- with the script based replication...
- http://wiki.apache.org/solr/CollectionDistribution
- -->
- <!--
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml b/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
index 65750c2..6fc1bd2 100644
--- a/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
+++ b/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
@@ -336,29 +336,6 @@
postCommit - fired after every commit or optimize command
postOptimize - fired after every optimize command
-->
- <!-- The RunExecutableListener executes an external command from a
- hook such as postCommit or postOptimize.
-
- exe - the name of the executable to run
- dir - dir to use as the current working directory. (default=".")
- wait - the calling thread waits until the executable returns.
- (default="true")
- args - the arguments to pass to the program. (default is none)
- env - environment variables to set. (default is none)
- -->
- <!-- This example shows how RunExecutableListener could be used
- with the script based replication...
- http://wiki.apache.org/solr/CollectionDistribution
- -->
- <!--
- <listener event="postCommit" class="solr.RunExecutableListener">
- <str name="exe">solr/bin/snapshooter</str>
- <str name="dir">.</str>
- <bool name="wait">true</bool>
- <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
- <arr name="env"> <str>MYVAR=val1</str> </arr>
- </listener>
- -->
</updateHandler>
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/solr-ref-guide/src/configsets-api.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/configsets-api.adoc b/solr/solr-ref-guide/src/configsets-api.adoc
index ee4f24c..ef67781 100644
--- a/solr/solr-ref-guide/src/configsets-api.adoc
+++ b/solr/solr-ref-guide/src/configsets-api.adoc
@@ -155,7 +155,6 @@ http://localhost:8983/solr/admin/configs?action=LIST
Upload a ConfigSet, sent in as a zipped file. Please note that a ConfigSet is uploaded in a "trusted" mode if authentication is enabled and this upload operation is performed as an authenticated request. Without authentication, a ConfigSet is uploaded in an "untrusted" mode. Upon creation of a collection using an "untrusted" ConfigSet, the following functionality would not work:
- * RunExecutableListener does not initialize, if specified in the ConfigSet.
* DataImportHandler's ScriptTransformer does not initialize, if specified in the ConfigSet.
* XSLT transformer (tr parameter) cannot be used at request processing time.
* StatelessScriptUpdateProcessor does not initialize, if specified in the ConfigSet.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/7b313bb5/solr/solr-ref-guide/src/updatehandlers-in-solrconfig.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/updatehandlers-in-solrconfig.adoc b/solr/solr-ref-guide/src/updatehandlers-in-solrconfig.adoc
index 1d0a5cf..082ccf9 100644
--- a/solr/solr-ref-guide/src/updatehandlers-in-solrconfig.adoc
+++ b/solr/solr-ref-guide/src/updatehandlers-in-solrconfig.adoc
@@ -91,22 +91,8 @@ With this configuration, when you call `commitWithin` as part of your update mes
The UpdateHandler section is also where update-related event listeners can be configured. These can be triggered to occur after any commit (`event="postCommit"`) or only after optimize commands (`event="postOptimize"`).
-Users can write custom update event listener classes, but a common use case is to run external executables via the `RunExecutableListener`:
-
-`exe`::
-The name of the executable to run. It should include the path to the file, relative to Solr home.
-
-`dir`::
-The directory to use as the working directory. The default is the current directory (".").
-
-`wait`::
-Forces the calling thread to wait until the executable returns a response. The default is `true`.
-
-`args`::
-Any arguments to pass to the program. The default is none.
-
-`env`::
-Any environment variables to set. The default is none.
+Users can write custom update event listener classes in Solr plugins. As of Solr 7.1,
+`RunExecutableListener` was removed for security reasons.
== Transaction Log
[9/9] lucene-solr:jira/solr-11285: Merge branch 'master' into
jira/solr-11285
Posted by ab...@apache.org.
Merge branch 'master' into jira/solr-11285
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/06b5e5eb
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/06b5e5eb
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/06b5e5eb
Branch: refs/heads/jira/solr-11285
Commit: 06b5e5ebee525f4827fbd2ede77c53b01378cc5f
Parents: a076f72 9d2f0cf
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Fri Oct 13 19:11:29 2017 +0200
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Fri Oct 13 19:11:29 2017 +0200
----------------------------------------------------------------------
lucene/CHANGES.txt | 8 +
lucene/ivy-versions.properties | 23 ++-
lucene/licenses/commons-compress-1.11.jar.sha1 | 1 -
lucene/licenses/commons-compress-1.14.jar.sha1 | 1 +
.../lucene/queryparser/xml/CoreParser.java | 65 ++++--
.../queryparser/xml/DOCTYPE_TermQuery.xml | 19 ++
.../lucene/queryparser/xml/ENTITY_TermQuery.xml | 23 +++
.../lucene/queryparser/xml/TestCoreParser.java | 13 ++
solr/CHANGES.txt | 13 ++
.../solr/collection1/conf/solrconfig.xml | 25 ---
.../handler/dataimport/TikaEntityProcessor.java | 4 +
.../src/test-files/dihextras/test_vsdx.vsdx | Bin 0 -> 44426 bytes
.../dataimport/TestTikaEntityProcessor.java | 22 ++
solr/contrib/extraction/ivy.xml | 6 +-
.../solr/collection1/conf/solrconfig.xml | 18 --
.../uima/solr/collection1/conf/solrconfig.xml | 25 ---
.../uima/uima-tokenizers-solrconfig.xml | 27 +--
.../apache/solr/core/RunExecutableListener.java | 148 --------------
.../org/apache/solr/search/SolrCoreParser.java | 8 +
.../conf/solrconfig-analytics-query.xml | 17 --
.../conf/solrconfig-collapseqparser.xml | 17 --
.../collection1/conf/solrconfig-elevate.xml | 17 --
.../conf/solrconfig-plugcollector.xml | 16 --
.../solr/collection1/conf/solrconfig.xml | 17 --
.../configsets/_default/conf/solrconfig.xml | 23 ---
.../with-run-executable-listener/managed-schema | 25 ---
.../with-run-executable-listener/solrconfig.xml | 69 -------
.../apache/solr/cloud/TestConfigSetsAPI.java | 12 --
.../example-DIH/solr/db/conf/solrconfig.xml | 23 ---
.../example-DIH/solr/mail/conf/solrconfig.xml | 23 ---
.../example-DIH/solr/solr/conf/solrconfig.xml | 23 ---
solr/example/files/conf/solrconfig.xml | 23 ---
solr/licenses/commons-collections4-4.1.jar.sha1 | 1 +
.../commons-collections4-LICENSE-ASL.txt | 202 +++++++++++++++++++
solr/licenses/commons-collections4-NOTICE.txt | 5 +
solr/licenses/commons-compress-1.11.jar.sha1 | 1 -
solr/licenses/commons-compress-1.14.jar.sha1 | 1 +
solr/licenses/curvesapi-1.04.jar.sha1 | 1 +
solr/licenses/curvesapi-LICENSE-BSD_LIKE.txt | 28 +++
solr/licenses/curvesapi-NOTICE.txt | 2 +
solr/licenses/fontbox-2.0.1.jar.sha1 | 1 -
solr/licenses/fontbox-2.0.6.jar.sha1 | 1 +
solr/licenses/jackcess-2.1.3.jar.sha1 | 1 -
solr/licenses/jackcess-2.1.8.jar.sha1 | 1 +
solr/licenses/jempbox-1.8.12.jar.sha1 | 1 -
solr/licenses/jempbox-1.8.13.jar.sha1 | 1 +
solr/licenses/jmatio-1.0.jar.sha1 | 1 -
solr/licenses/jmatio-1.2.jar.sha1 | 1 +
solr/licenses/metadata-extractor-2.8.1.jar.sha1 | 1 -
solr/licenses/metadata-extractor-2.9.1.jar.sha1 | 1 +
solr/licenses/pdfbox-2.0.1.jar.sha1 | 1 -
solr/licenses/pdfbox-2.0.6.jar.sha1 | 1 +
solr/licenses/pdfbox-tools-2.0.1.jar.sha1 | 1 -
solr/licenses/pdfbox-tools-2.0.6.jar.sha1 | 1 +
solr/licenses/poi-3.15-beta1.jar.sha1 | 1 -
solr/licenses/poi-3.17-beta1.jar.sha1 | 1 +
solr/licenses/poi-ooxml-3.15-beta1.jar.sha1 | 1 -
solr/licenses/poi-ooxml-3.17-beta1.jar.sha1 | 1 +
.../poi-ooxml-schemas-3.15-beta1.jar.sha1 | 1 -
.../poi-ooxml-schemas-3.17-beta1.jar.sha1 | 1 +
.../licenses/poi-scratchpad-3.15-beta1.jar.sha1 | 1 -
.../licenses/poi-scratchpad-3.17-beta1.jar.sha1 | 1 +
solr/licenses/rome-1.0.jar.sha1 | 1 -
solr/licenses/rome-1.5.1.jar.sha1 | 1 +
solr/licenses/tika-core-1.13.jar.sha1 | 1 -
solr/licenses/tika-core-1.16.jar.sha1 | 1 +
solr/licenses/tika-java7-1.13.jar.sha1 | 1 -
solr/licenses/tika-java7-1.16.jar.sha1 | 1 +
solr/licenses/tika-parsers-1.13.jar.sha1 | 1 -
solr/licenses/tika-parsers-1.16.jar.sha1 | 1 +
solr/licenses/tika-xmp-1.13.jar.sha1 | 1 -
solr/licenses/tika-xmp-1.16.jar.sha1 | 1 +
solr/licenses/xz-1.5.jar.sha1 | 1 -
solr/licenses/xz-1.6.jar.sha1 | 1 +
.../configsets/_default/conf/solrconfig.xml | 23 ---
.../conf/solrconfig.xml | 23 ---
solr/solr-ref-guide/src/configsets-api.adoc | 1 -
.../src/updatehandlers-in-solrconfig.adoc | 18 +-
78 files changed, 441 insertions(+), 653 deletions(-)
----------------------------------------------------------------------