Commit Graph

5734 Commits

Author SHA1 Message Date
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
Munendra S N 6ff4a9b395 SOLR-14514: add extra checks for picking 'stream' method in JSON facet
missing, allBuckets, and numBuckets is not supported with stream method.
So, avoiding picking stream method when any one of them is enabled even if
facet sort is 'index asc'
2021-01-07 22:01:27 +05:30
Munendra S N d7fd3d8c20 SOLR-12539: handle extra spaces in JSON facet shorthand syntax 2021-01-07 22:01:27 +05:30
Munendra S N 0846da5c22 SOLR-14950: fix regenerating of copyfield with explicit src/dest matching dyn rule
CopyFields are regenerated in case of replace-field or replace-field-type.
While regenerating, source and destionation are checked against fields but source/dest
could match dynamic rule too.
For example,
<copyField source="something_s" dest="spellcheck"/>
<dynamicField name="*_s" type="string"/>
here, something_s is not present in schema but matches the dynamic rule.

To handle the above case, need to check dynamicFieldCache too while regenerating the
copyFields
2021-01-07 22:01:27 +05:30
Joel Bernstein 4ab5d31832 SOLR-15040: Update CHANGES.txt 2021-01-07 11:30:18 -05:00
Timothy Potter 8b55fb868d
SOLR-15059: Improve query performance monitoring (#2165) 2021-01-07 09:17:38 -07:00
S N Munendra d4fa1aae21
SOLR-10860: Return proper error code for bad input incase of inplace updates (#2121)
Return proper error code on invalid value with in-place update.
Handle invalid value for inc op with the in-place update, uses toNativeType to convert increment value instead of direct parsing. Also, return an error when inc operation is specified for the non-numeric field
2021-01-07 20:44:48 +05:30
David Smiley 3147625890
SOLR-15069: [child parentFilter=...] is now optional (#2181) 2021-01-06 17:43:15 -05:00
Chris Hostetter 07071ca8e1 SOLR-15047: Fix collapse parser behavior when collapsing on numeric fields to differentiate '0' group from null group 2021-01-06 10:07:32 -07: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
Chris Hostetter a48e937f59 SOLR-15048: Fixed collapse parser behavior when dealing with docs boosted by QueryElevationComponent that are in the null group to treat them consistently regardless of collapse field type or group head selector 2021-01-05 10:00:56 -07:00
Florin Babes a677d2247a SOLR-14571: Download speed was hard-coded in the Replication screen of the Solr Admin UI.
(Florin Babes via Christine Poerschke)
2021-01-05 15:53:15 +00:00
Bruno Roustant 5e21e3f380
SOLR-15061: Fix NPE in SearchHandler when shards.info and no QueryComponent configured 2021-01-05 15:15:48 +01: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
noblepaul 3e852b00dd SOLR-15062: /api/cluster/zk/ls should give the stat of the current node 2021-01-04 14:10:28 +11:00
Tim Dillon 17adcc7aa4
SOLR-14034: remove deprecated min_rf references (#2152) 2020-12-31 15:59:48 +00:00
John Gallagher 70f461ee45
SOLR-14413 allow timeAllowed and cursorMark parameters
closes #1436
2020-12-23 13:01:44 -06:00
Pieter van Boxtel 98f12f4aeb
SOLR-15031 Prevent null being wrapped in a QueryValueSource
closes #2118
2020-12-22 15:34:18 -06:00
Kevin Risden f0b73fdc6d
SOLR-14951: Upgrade Angular JS 1.7.9 to 1.8.0
Closes PR #2008
2020-12-22 11:18:44 -06:00
Jason Gerlowski 8b272a0960
SOLR-15049: Add TopLevelJoinQuery optimization for 'self-joins' (#2146) 2020-12-22 08:32:52 -05:00
Christine Poerschke fa41ea51d4
Add two solr/CHANGES.txt entries for SOLR-14981 and SOLR-15046. (#2149)
So that 8.8.0 sections match on master and branch_8x branches.
2020-12-17 12:40:05 +00:00
Christine Poerschke 0b5003cfed
SOLR-14939: JSON range faceting to support cache=false parameter (#1992) 2020-12-16 17:42:24 +00: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
Tim Owen 510f96c69c
SOLR-8673: Enable custom aggregate functions by opening up FacetContext
Prior to this change, it was not feasible to write a custom aggregate function in plugin code
because the FacetContext class did not expose its fields for access outside its package. Also
some of the useful abstract classes for SlotAcc were package-private too
2020-12-06 22:45:09 -08:00
Andrzej Bialecki cced5078ea SOLR-15016: Replica placement plugins should use container plugins API / configs. 2020-12-06 14:51:10 +01:00
David Smiley 21b8890f58
SOLR: Remove CHANGES.md; use solr/CHANGES.txt
For now, any way.  See dev list discussion.
2020-12-04 17:59:07 -05:00
saatchibhalla 19ed903377
SOLR-14965: add overseer queue size metrics (#2040)
Adds two metrics to the SolrCloud Overseer: solr_metrics_overseer_stateUpdateQueueSize and solr_metrics_overseer_collectionWorkQueueSize with corresponding entries in the the Prometheus exporter's default/stock configuration.

Co-authored-by: Saatchi Bhalla <s.bhalla@salesforce.com>
2020-12-04 16:47:35 -05:00
Timothy Potter 4c100a0175
SOLR-12182: Fix Changes.txt in master (#2116) 2020-12-02 17:28:19 -07:00
Chris Hostetter 5208d47e1a SOLR-14934: Remove redundent deprecated "solr.solr.home" logic 2020-12-02 17:18:58 -07: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
Thomas Mortagne feb897a962
SOLR-15017: Core's lib/ dir was ignored sometimes (#2107)
A core's lib/ folder was ignored when the core's configuration did not define any <lib> element.  This is a regression introduced in 8.6 by SOLR-14197.
2020-12-01 15:40:21 -05: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
Mike Drob cb5ba42bd7
SOLR-15009 Propogate IOException from DF.exists 2020-11-30 10:27:23 -08:00
Chris Hostetter 37a61635e1 SOLR-14958: Refactor zkHost config logic to make testing easier and reduce risk of incorrect value being used 2020-11-30 10:43:08 -07:00
David Smiley 021de9f45f
SOLR-14915: Prometheus-exporter should not depend on Solr-core (#1972)
* Reduced dependencies from Solr server down to just SolrJ.  Don't add WEB-INF/lib.
* Was missing some dependencies in lib/; now has all except SolrJ & logging.
* Can run via gradle, "gradlew run"
* Has own log4j2.xml now

Has own CHANGES.md now.
2020-11-27 15:08:33 -05:00
David Smiley 1e0ae2fb74
SOLR-15001 Docker: require init_var_solr.sh (#2083)
The Dockerfile should not initialize /var/solr's contents because this is confusing and redundant with init_var_solr.sh.
No need for init_var_solr.sh to echo what it does; VERBOSE can be used to accomplish that.

Separate CHANGES.md for Docker and contrib modules.
2020-11-27 14:59:54 -05: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
Alessandro Benedetti ca040402d9 SOLR-15015: added support to parametric Interleaving algorithm (#2096) 2020-11-24 10:14:38 +00: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
Alessandro Benedetti af0455ac83
SOLR-14560: Interleaving for Learning To Rank (#1571)
SOLR-14560: Add interleaving support in Learning To Rank
2020-11-18 18:15:24 +00:00
Noble Paul 73d5e7ae77
SOLR-14977 : ContainerPlugins should be configurable (#2065) 2020-11-17 00:19:50 +11:00
Christine Poerschke 2f02040a4c SOLR-14983: Fix response returning original score instead of reranked score due to query and filter combining.
(Krishan Goyal, Jason Baik, Christine Poerschke)
2020-11-12 12:51:21 +00:00
Mike Drob 66e285e7ae
SOLR-14995 Update Jetty to latest version 2020-11-11 13:27:49 -08:00
Jason Gerlowski a7197ac0ce
SOLR-14971: Handle atomic-removes on uncommitted docs (#2056)
Docs fetched from the update log via RTG look different than docs
fetched from commits in the index: the types of
field-values may be different between the two, etc.

This is a problem for atomic add/remove of field values, where matching
existing values has historically been done by object equals() calls (via
Collection operations).  This relies on equality checks which don't have
flexible enough semantics to match values across these different types.
(For example, `new Long(1).equals(new Integer(1))` returns `false`).
This was causing some add-distinct and remove operations on
uncommitted values to silently fail to remove field values.

This commit patches over this by converting between types in the more
common cases before using the fallback behavior.
2020-11-11 12:28:11 -05:00
Bruno Roustant 91ee53d418
SOLR-14975: Add entry in CHANGES.txt 2020-11-11 11:52:30 +01:00
Andrzej Bialecki 863a388fe7 SOLR-14683: Move the CHANGES.txt entry to the right place. Fix wrong type of null value. 2020-11-10 17:58:45 +01:00
Houston Putman 212b0f8657
SOLR-14949: Ability to customize Solr Docker build (#2020)
Also added a gradlew helpDocker page.
2020-11-10 10:42:38 -05:00