14793 Commits

Author SHA1 Message Date
cammiemw
9cc5c9b798
LUCENE-9537: Add initial Indri search engine functionality to Lucene 2021-01-29 14:47:24 -05:00
Eric Pugh
6d71a0aced
SOLR-14067: v4 Create /contrib/scripting module with ScriptingUpdateProcessor (#2257)
* Creating Scripting contrib module to centralize the less secure code related to scripts.

* tweak the changelog and update notice to explain why the name changed and the security posture thinking

* the test script happens to be a currency.xml, which made me think we were doing something specific to currency types, but instead any xml formatted file will suffice for the test.

* Update solr/contrib/scripting/src/java/org/apache/solr/scripting/update/ScriptUpdateProcessorFactory.java

* Update solr/contrib/scripting/src/java/org/apache/solr/scripting/update/package-info.java

* drop the ing, and be more specific on the name of the ref guide page

* comment out the script update chain.

The sample techproducts configSet is used by many of the solr unit tests, and by default doesn't have access to the jar file in the contrib module.   This is commented out, similar to how the lang contrib is.

* using a Mock for the script processor in order to keep the trusted configSets tests all together.

* tweak since we are using a mock script processor

Co-authored-by: David Smiley <dsmiley@apache.org>
2021-01-29 12:27:36 -05:00
Tim Dillon
a7a434dbc4
SOLR-15025: MiniSolrCloudCluster.waitForAllNodes ignores passed timeout value (#2193)
* Change timeout values to seconds
2021-01-29 11:22:06 -06:00
Tim Owen
715caaae52
SOLR-15085 Prevent EmbeddedSolrServer calling shutdown on a CoreContainer that was passed to it 2021-01-29 11:15:22 -06:00
Mike Drob
0d4769e174
SOLR-15120 Reduce duplicated core creation work (#2266)
Use j.u.c collections instead of sync block
Rework how we load implicit handlers
Additional debug and trace logging for zookeeper comms
2021-01-29 10:20:16 -06:00
Cassandra Targett
a9ad02cc54 SOLR-14616: remove leftover CDCR ref guide images 2021-01-28 15:40:32 -06:00
Mike Drob
b335034615
Require Thread Names in Solr (#2264)
When we are creating a new thread we should give it a descriptive name and enforce this via ForbiddenAPIs. This doesn't apply to Runnable or Callable objects that we pass to an executor, since those should be getting named by the executor itself.

We don't require this in tests because the tests should be more self contained and there is less benefit in descriptive names. If somebody is already profiling a test, then they likely have the context to understand what the unnamed threads are doing, whereas a thread dump from a running Solr instance should have good thread names for everything. This is especially helpful when doing profiling, otherwise we end up with a bunch of Thread-# that are hard to tell apart and search on.
2021-01-28 15:04:15 -06:00
Mike Drob
9be71b3939
SOLR-15113 Do not attempt to start Solr server when embedded ZK fails (#2255) 2021-01-28 11:37:51 -06:00
Joel Bernstein
acb98e549d SOLR-14672: Make timeouts configurable for the Streaming Expression SolrClientCache 2021-01-28 10:36:49 -05:00
Andrzej Bialecki
b1cd6b691f SOLR-15055: Fix this test to avoid OS dependency. 2021-01-27 13:38:46 +01:00
Houston Putman
7da0fa8a07 SOLR-15075: Remove docker gradle artifact
Gradle is currently picking up the dockerBuild task in "assemble",
because of the build artifact.
2021-01-26 13:33:32 -05:00
Houston Putman
2b8d7bcd6a
SOLR-15075: Solr docker gradle improvements (#2197)
* Removed docker plugin from gradle builds.
* Removed package docker image.
* Tasks now have correct inputs/outputs/dependencies.
* Move gradle help text to docker folder.
* Reduce duplicated Docker layer by doing file removal and chmod in another stage.

Co-authored-by: David Smiley <dsmiley@apache.org>
2021-01-26 10:22:50 -05:00
Andrzej Bialecki
6c72e2e17b SOLR-15055: Add missing license headers. 2021-01-26 16:09:38 +01:00
Andrzej Bialecki
6e9185a33a SOLR-15055: Re-implement 'withCollection'. 2021-01-26 15:16:33 +01:00
epugh@opensourceconnections.com
0d88c14837 typo 2021-01-25 14:41:10 -05:00
Chris Hostetter
47a89aca71 SOLR-15078: Fix ExpandComponent behavior when expanding on numeric fields to differentiate '0' group from null group 2021-01-25 11:33:57 -07:00
Andrzej Bialecki
166d39a12e SOLR-15076: Fix wrong test assumption - type of this property has changed
in SOLR-14924.
2021-01-25 16:56:50 +01:00
epugh@opensourceconnections.com
ce1bba6d66 Revert "SOLR-14067: v3 Create /contrib/scripting module with ScriptingUpdateProcessor (#2215)"
This reverts commit cf5db8d6513e0f3e556ab6ee1b9ad3a6472ad2f2.
2021-01-25 09:53:36 -05:00
Christine Poerschke
9d4811e02f SOLR-15073: Fix ClassCastException in SystemInfoHandler.getSecurityInfo.
Same fix as the #2210 PR commit earlier but this time not extending SystemInfoHandlerTest and also not adding a static SystemInfoHandler.getSecurityInfo variant for test use.
2021-01-22 18:33:28 +00:00
Christine Poerschke
64d445bbaa Revert "SOLR-15073: Fix ClassCastException in SystemInfoHandler.getSecurityInfo (#2210)"
This reverts commit fb88b0268aa0c7f14d77ae425b4851a8bedd2327.

Resolved Conflicts:
	solr/CHANGES.txt
2021-01-22 17:48:25 +00:00
Christine Poerschke
32e95ddb3f
SOLR-15071: Fix ArrayIndexOutOfBoundsException in contrib/ltr SolrFeatureScorer (#2196) 2021-01-22 13:34:58 +00:00
Christine Poerschke
fb88b0268a
SOLR-15073: Fix ClassCastException in SystemInfoHandler.getSecurityInfo (#2210) 2021-01-22 12:10:10 +00:00
Eric Pugh
cf5db8d651
SOLR-14067: v3 Create /contrib/scripting module with ScriptingUpdateProcessor (#2215)
* Creating Scripting contrib module to centralize the less secure code related to scripts.

* tweak the changelog and update notice to explain why the name changed and the security posture thinking

* the test script happens to be a currency.xml, which made me think we were doing something specific to currency types, but instead any xml formatted file will suffice for the test.

* drop the ing, and be more specific on the name of the ref guide page

* use the same name everywhere

Co-authored-by: David Smiley <dsmiley@apache.org>
2021-01-21 13:32:46 -05:00
András Salamon
83e0397c42
SOLR-14297: Replace commons-codec Base64 with JDK8 Base64 (#2222) 2021-01-21 13:10:33 -05:00
Cassandra Targett
e8276e09a1
SOLR-13105 - Visual Guide to Math Expressions (#2227)
* SOLR-13105: The Visual Guide to Streaming Expressions and Math Expressions
2021-01-20 16:14:01 -06:00
David Smiley
a233ed2fd1
SOLR-15081: Metrics for core: isLeader, replicaState (#2198)
Note that getLastPublished returns an Enum type.  TextWriter.writeVal should probably support Enums, which would simplify this code.
2021-01-19 16:43:39 -05:00
Joel Bernstein
5328ced82e SOLR-14608: Reduce percentage of priority queue size above total hits 2021-01-19 15:35:57 -05:00
Joel Bernstein
64df5a65f0 SOLR-14608: Faster sorting for the /export handler 2021-01-19 15:35:56 -05:00
Chris Hostetter
df692076a6 rectify 8.9 CHANGES sections from branch_8x 2021-01-19 12:41:33 -07:00
Chris Hostetter
a4aa3d1d4f SOLR-15079: Block Collapse - Faster collapse code when groups are co-located via Block Join style nested doc indexing.
Used by default when field=_root_, or explicitly requsted for other fields via hint=block.
2021-01-19 11:40:29 -07:00
Cassandra Targett
12e42a2a11 Ref Guide: update upgrade notes for 8.8 release 2021-01-19 12:00:27 -06:00
Patrick Marty
227256d951
LUCENE-9646: Set BM25Similarity discountOverlaps via the constructor 2021-01-19 09:49:57 +01:00
Simon Willnauer
c1ae6dc07c
LUCENE-9669: Add an expert API to allow opening indices created < N-1 (#2212)
Today we force indices that were created with N-2 and older versions of Lucene
to fail on open. This check doesn't even check if the codecs are available. In order
to allow users to open older indices and for us to support N-2 versions this change
adds an API on DirectoryReader to specify a minimum index version on a per reader basis.
This doesn't apply for the IndexWriter which will fail on opening older indices.
2021-01-19 09:23:49 +01:00
Noble Paul
8505d4d416
SOLR-15052: Per-replica states for reducing overseer bottlenecks (trunk) (#2177) 2021-01-19 02:59:41 +11:00
Cassandra Targett
30aa0f5ba4 Ref Guide: copy edits for 8.8 release 2021-01-15 14:54:41 -06:00
Cassandra Targett
90aabbdde8 Ref guide: add license to cluster-plugins.adoc; fix section title case throughout 2021-01-15 14:54:41 -06:00
Cassandra Targett
cb465044d7 SOLR-14560: ref guide: remove references to XML output when examples are all JSON 2021-01-15 14:54:41 -06:00
Florin Babes
f285f02c89
SOLR-15071: add TestEdisMaxSolrFeature.testEdisMaxSolrFeatureCustomMM() test case (#2201)
* add test case for SOLR-15071

* add temporary @Ignore to be removed when the fix is committed

Co-authored-by: Florin Babes <florin.babes@emag.ro>
Co-authored-by: Christine Poerschke <cpoerschke@apache.org>
2021-01-14 10:44:26 +00:00
Noble Paul
9466af576a
SOLR-14155: Load all other SolrCore plugins from packages (#1666) 2021-01-13 22:28:01 +11:00
Cassandra Targett
7a301c736c Ref Guide: clarify backup location requirements for SolrCloud backups 2021-01-11 14:36:14 -06:00
Eric Pugh
3e2fb59272
SOLR-15010 Try to use jattach for threaddump if jstack is missing (#2192)
* introduce jattach check if jstack is missing.  jattach ships in the Solr docker image instead of jstack.
* get the full path to the jattach command

Co-authored-by: Christine Poerschke <cpoerschke@apache.org>
2021-01-11 14:58:11 -05:00
Mike Drob
a429b969d8
SOLR-14413 fix unit test to use delayed handler (#2189) 2021-01-11 12:15:30 -06:00
Timothy Potter
6711eb7571
SOLR-15036: auto- select / rollup / sort / plist over facet expression when using a collection alias with multiple collections (#2132) 2021-01-11 10:34:28 -07:00
Jason Gerlowski
98c51ca34b
SOLR-15070: Remove HashMap usage in SuggestComponent rsp (#2183)
Prior to this commit, SuggestComponent used a HashMap as part of the
response it built on the server side.  This class is serialized/
deserialized differently depending on the SolrJ ResponseParser used:
a LinkedHashMap when javabin was used, and a SimpleOrderedMap when XML
was used.  This discrepancy led to ClassCastException's in downstream
SolrJ code.

This commit fixes the issue by changing SuggestComponent to avoid these
types that are serialized differently.  "suggest" response sections now
deserialize as a NamedList in SolrJ, and the SuggesterResponse POJO has
been updated accordingly.
2021-01-11 07:31:26 -05:00
Houston Putman
7e94a56e81 SOLR-14999: Fixing SolrXmlConfig tests for hostPort. 2021-01-09 10:19:47 -05:00
Munendra S N
2c1ec75eaa SOLR-12559: fix error when multi-val fields are derefernced in JSON aggs
This ensures all derefernced fields are not parsed into actual valuesource
but parsed into a placeholder value. This works for 1-level of dereferencing
2021-01-09 19:30:43 +05:30
Tomas Fernandez Lobbe
4789112f91
Remove unused test file (#2174) 2021-01-08 16:40:21 -08:00
Houston Putman
4be49cbdf5
SOLR-14999: Option to set the advertised port for Solr. (#2089) 2021-01-08 18:21:41 -05:00
David Smiley
4cb3ad4a1c
* SOLR-14923: Nested docs indexing perf & robustness (#2159)
* When the schema defines _root_, and you want to do atomic/partial updates...
** _root_ needn't be stored or have docValues any more
** _nest_path_ field isn't needed for this any more
** Simplified internal logic
* Allow (and recommend, eventually insist) that the _root_ field be passed for atomic/partial updates to child docs.
** In the absence of _root_, assume the _route_ param is equivalent to ameliorate back-compat scope.  This is a temporary hack; remove in SOLR-15064.
** One of the two is required; you'll get an exception if the assumption is false.  THIS IS A BACK-COMPAT CHANGE
* Ensure that the update log contains the _root_ field if it's defined in the schema; in some cases it wasn't.  It's important for robustness of atomic/partial updates to child docs.  Caveat: the buffer replay scenario is not tested with child docs.
* Limited the cases when a realtime searcher is re-opened.  It was being applied to any update that included child docs but now only some narrow subset: only for atomic/partial updates, and when the update log contains an in-place update for the same nest because it's complicated to resolve those log entries.
* Internal improvements to RealTimeGetComponent to aid clarity & robustness & probably performance...
** Use SolrDocumentFetcher.solrDoc(docID, ReturnFields) instead of more manual loading.  Will do more with this in another PR.
** Clarify when only root doc IDs are expected.
** Use Resolution enum more, add PARTIAL, remove DOC_WITH_CHILDREN; enhance docs.
** When have ReturnFields, a Set of "onlyTheseFields" becomes redundant.  Add a child doc resolution via a transformer when needed.
** Clarified where copy-field targets are removed
* NestPathField should default to single valued, instead of inheriting the schema default, which for ancient schemas was multi-valued.
* AddUpdateCommand.getLuceneDocument(s) methods are very internal; made package visible and refactored a bit for clarity
* DocumentBuilder: when in-place update, skip id and _root_ here, thus also simplifying further logic
* NestedShardedAtomicUpdateTest no longer extends AbstractFullDistribZkTestBase because it wasn't really leveraging the "control client" checking, and it added too much complexity to debug failures.
2021-01-07 23:23:20 -05:00
Christine Poerschke
60f2417aca
SOLR-15057: avoid unnecessary object retention in FacetRangeProcessor (#2160) 2021-01-07 18:45:46 +00:00