Commit Graph

2625 Commits

Author SHA1 Message Date
Noble Paul 8505d4d416
SOLR-15052: Per-replica states for reducing overseer bottlenecks (trunk) (#2177) 2021-01-19 02:59:41 +11: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
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
Timothy Potter 2fcaba1ce2
SOLR-15058: Enforce node_name contains colon and port and find first underscore after colon to parse context (#2178) 2021-01-05 12:00:14 -07:00
Andrzej Bialecki 2695624a9f SOLR-15019: Replica placement API needs a way to fetch existing replica metrics. 2021-01-04 15:24:25 +01:00
Tim Dillon 17adcc7aa4
SOLR-14034: remove deprecated min_rf references (#2152) 2020-12-31 15:59:48 +00:00
Mike Drob bf7b438f12
SOLR-15029 Trigger leader election on index writer tragedy
SOLR-13027 Use TestInjection so that we always have a Tragic Event

When we encounter a tragic error in the index writer, we can trigger a
leader election instead of queing up a delete and re-add of the node in
question. This should result in a more graceful transition, and the
previous leader will eventually be put into recovery by a new leader.

closes #2120
2020-12-15 15:54:40 -06:00
Noble Paul 94c69f4385
SOLR-14977: improved plugin configuration (#2099) 2020-12-15 14:18:09 +11:00
Noble Paul a95ce0d422
SOLR-14827: Refactor schema loading to not use XPath (#1963) 2020-12-11 15:27:47 +11:00
Timothy Potter 30e5e38336
SOLR-14987: Reuse HttpSolrClient per node vs. one per Solr core when using CloudSolrStream (#2067) 2020-12-07 09:03:03 -07:00
Andrzej Bialecki cced5078ea SOLR-15016: Replica placement plugins should use container plugins API / configs. 2020-12-06 14:51:10 +01:00
Chris Hostetter 2e6a02394e SOLR-14934: Refactored duplicate "Solr Home" logic into a single place to eliminate risk of tests using divergent values for a single solr node. 2020-12-02 10:24:36 -07:00
Ilan Ginzburg 3df72502cc
SOLR-15004: tests for the replica placement API + placement plugin fixes and light refactoring (#2110)
Co-authored-by: Andrzej Bialecki <ab@apache.org>
2020-12-01 20:07:08 +01:00
Timothy Potter a0492840ee
SOLR-12182: Don't persist base_url in ZK as the scheme is variable, compute from node_name instead (#2010) 2020-11-30 12:05:48 -07:00
Jan Høydahl 99c38eee49
SOLR-14851 Http2SolrClient doesn't handle keystore type (#2098)
Signed-off-by: Jan Høydahl <janhoy@apache.org>
Co-authored-by: Andras Salamon <andras.salamon@melda.info>
2020-11-27 16:11:29 +01:00
Erick Erickson 77a205387f SOLR-14993: Unable to download zookeeper files of 1byte in size 2020-11-22 09:23:44 -05:00
Christine Poerschke c4d4767bca SOLR-14035: Remove deprecated preferLocalShards=true support in favour of the shards.preference=replica.location:local alternative.
(Alex Bulygin via Christine Poerschke)
2020-11-19 17:57:47 +00:00
Noble Paul 73d5e7ae77
SOLR-14977 : ContainerPlugins should be configurable (#2065) 2020-11-17 00:19:50 +11:00
Bruno Roustant 67f9245ce3
SOLR-14975: Optimize CoreContainer.getAllCoreNames and getLoadedCoreNames.
Also optimize getCoreDescriptors.
2020-11-11 11:37:45 +01:00
Adrien Grand fd98f677b9 Remove unused imports. 2020-11-10 09:22:34 +01:00
Dawid Weiss 0f871b2c56
SOLR-14926: Modernize and clean up search results clustering contrib. 2020-11-03 09:31:53 +01:00
Michael Aleythe e7f0294d85 SOLR-14961 ZkMaintenanceUtils.clean doesn't remove zk nodes with same length
fixes #2042
2020-11-02 16:54:00 -06:00
Ilan Ginzburg b649f3f40d
SOLR-14964: remove Autoscaling related withCollection and COLOCATED_WITH (#2034)
Part of SOLR-14656 (remove Autoscalin)
2020-10-26 19:10:49 +01:00
Tomas Fernandez Lobbe 38f02869b4
Remove sleeps from SolrZkClientTest.testWrappingWatches (#1936)
Only sleep when tests are nightly
2020-10-26 10:11:11 -07:00
Noble Paul 052efd62ae Revert "refactor method names"
This reverts commit e826b1f344.

accidental commite reverted
2020-10-22 15:25:31 +11:00
Noble Paul e826b1f344 refactor method names 2020-10-22 12:35:47 +11:00
Noble Paul 321b4fa0de
SOLR-14930: Deprecate rulebased replica placement strategy (remove in 9.0) (#1980) 2020-10-15 19:53:43 +11:00
Andrzej Bialecki 2a3da99e2d SOLR-14914: Add option to disable metrics collection. 2020-10-15 10:14:16 +02:00
Noble Paul 2f651b156c SOLR-14654: remove all references of runtime lib 2020-10-14 11:13:38 +11:00
Houston Putman bcd9cbec95
SOLR-14907: Support single file upload/overwrite in configSet API (#1977) 2020-10-13 16:51:21 -04:00
David Smiley ab83b3b7c3
SOLR-14917: Move DOMUtil and PropertiesUtil to SolrJ (#1953) 2020-10-10 08:52:10 -04:00
Andrzej Bialecki 969f9c1899 SOLR-14691: Fix a minor back-compat formatting issue. 2020-10-07 20:46:13 +02:00
Andrzej Bialecki 43b1a2fdc7 SOLR-14691: Metrics reporting should avoid creating objects. 2020-10-07 17:52:55 +02:00
Timothy Potter e879a52291
SOLR-14659: Remove restlet as dependency for the ManagedResource API (#1938)
Co-authored-by: noblepaul <noble.paul@gmail.com>
2020-10-04 11:21:49 -06:00
Erick Erickson f6c4f8a755 SOLR-14910: Use in-line tags for logger declarations in Gradle ValidateLogCalls that are non-standard, change //logok to //nowarn 2020-10-03 09:47:37 -04:00
Tomas Fernandez Lobbe 8f2f80bbb3 SOLR-14663: Copy ConfigSet root data from base ConfigSet when using CREATE command 2020-10-01 14:13:40 -07:00
Atri Sharma 4105414c90
SOLR-13528: Implement API Based Config For Rate Limiters (#1906)
This commit moves Rate Limiter configurations from web.xml to a new command based approach using clusterprops.json
2020-09-28 14:57:06 +05:30
S N Munendra ac58472310
SOLR-14036: Remove explicit distrib=false from /terms handler (#1900)
* Remove distrib=false from /terms handler so that terms are returned from across all shards instead of a single local shard.
* cleanup shards parameter handling in TermsComponent. This is handled in HttpShardHandler
* Remove redundant tests for shard whitelist
* remove redundant terms params from ScoreNodeStream
2020-09-24 22:12:24 +05:30
Christine Poerschke 876de8be41
SOLR-14828: reduce 'error' logging noise in BaseCloudSolrClient.requestWithRetryOnStaleState (#1825) 2020-09-24 17:06:45 +01:00
noblepaul cafa449769 SOLR-14613: Avoid multiple ZK write 2020-09-24 17:26:41 +10:00
noblepaul 565c5b1ac4 SOLR-14894: Use annotations to implement V2 collection APIs 2020-09-24 12:37:12 +10:00
Noble Paul fd0c08615d
SOLR-14890: Refactor code to use annotations for configset API (#1911) 2020-09-23 21:55:51 +10:00
Tomas Fernandez Lobbe 7b7a5a16ce
SOLR-10391: Add overwrite option to UPLOAD ConfigSet action (#1861)
When set to true, Solr will overwrite an existing configset in ZooKeeper in an UPLOAD.
A new cleanup parameter can also be passed to let Solr know what to do with the files that existed in the old configset, but no longer exist in the new configset (remove or keep)
2020-09-22 10:36:59 -07:00
noblepaul 745fc31785 SOLR-14871: Wrong field name in POJO 2020-09-18 20:33:59 +10:00
noblepaul 5bc7fb2861 SOLR-14871: remove unused test 2020-09-17 09:10:40 +10:00
Noble Paul 7b8e72e553
SOLR-14871 Use Annotations for v2 APIs in/cluster path (#1878) 2020-09-16 18:06:43 +10:00
Mike Drob c902837bb2
SOLR-14846 Clean up Optional use (#1843)
* Remove Optional.ofNullable.orElse pattern
* Remove use of Optional as method parameter
2020-09-09 09:19:48 -05:00
Christine Poerschke 12dab0f80e SOLR-14831: remove deprecated FacetParams.FACET_DISTRIB constant 2020-09-09 13:22:31 +01:00
Christine Poerschke 4716a0b2fa SOLR-14831: mark FacetParams.FACET_DISTRIB as deprecated 2020-09-09 13:21:41 +01:00