Commit Graph

8725 Commits

Author SHA1 Message Date
David Smiley f36a867bd0
SOLR-15219: Fix TestPointFields integer overflow (#2460)
And also restore it's getRandomInts(..,..,bound) semantics to what it was -- positive or negative random values.
2021-03-05 13:42:13 -05:00
David Smiley ddbd3b88ec
SOLR-15185: Optimize Hash QParser (#1524)
used in parallel() streaming expression.  Hash algorithm is different.
* Simpler
* Don't use Filter (to be removed)
* Do use TwoPhaseIterator, not PostFilter
* Don't pre-compute matching docs (wasteful)
* Support more fields, and more field types
* Faster hash on Strings (avoid Char conversion)
* Stronger hash when using multiple fields
2021-03-04 23:43:16 -05:00
Thomas Wöckinger 8d62e2723a SOLR-15191: Fix EnumFieldTest
(9x/8x difference)
2021-03-03 21:41:22 -05:00
Christine Poerschke d822a38a48
SOLR-15206: improve CoreContainer constructor javadocs (#2443) 2021-03-02 13:44:24 +00:00
百岁 8b443420b8
SOLR-15100: make ConfigSetService configurable in solr.xml (#2343) 2021-03-01 22:27:37 -05:00
Andrzej Bialecki 2c5b86b673 SOLR-15130: Support for per-collection replica placement node sets, a.k.a "node type"
placements.
2021-03-01 15:21:54 +01:00
Ilan Ginzburg 1fff174690
SOLR-14928: add exponential backoff wait time when Compare And Swap fails in distributed cluster state update due to concurrent update (#2438) 2021-02-28 00:53:42 +01:00
Thomas Wöckinger 988a16fe95 SOLR-15191: Fix JSON faceting on EnumFieldType (#2426)
* Fix JSON Faceting on EnumFieldType if allBuckets, numBuckets or missing is set.
* Enhance hash method of JSON faceting to support EnumFieldType and perhaps some other/custom field types

Co-authored-by: Thomas Wöckinger <two@silbergrau.com>
Co-authored-by: David Smiley <dsmiley@apache.org>
2021-02-27 14:35:29 -05:00
Eric Pugh d4fb023756
SOLR-15194: relax requirements and allow http urls. (#2430)
Relax the need for https urls for JWT IDP's if you pass in solr.auth.jwt.allowOutboundHttp=true system property.
2021-02-27 09:13:51 -05:00
Christine Poerschke e88b3e9c20 Fix 'invoke' typo in UUIDUpdateProcessorFactory javadocs. 2021-02-26 17:38:06 +00:00
David Smiley 62971c4f99
SOLR-13034: RTG sometimes didn't materialize LazyField (#2408)
Partial (AKA Atomic) updates could encounter "LazyField" instances in the document
cache and not know hot to deal with them when writing the updated doc to the update log.
2021-02-25 16:29:30 -05:00
Ilan Ginzburg 04c95c71af
SOLR-15146: remove unreachable code (#2431) 2021-02-25 00:08:16 +01:00
Timothy Potter eba0e25535
SOLR-15181: update schema to not specify the docValuesFormat (#2424) 2021-02-23 17:34:07 -07:00
Noble Paul d1a5b9df02 refactor /cluster/aliases V2 API to use annotations 2021-02-23 13:03:38 +11:00
Julie Tibshirani f43fe7642e
LUCENE-9705: Create Lucene90PostingsFormat (#2310)
For now this is just a copy of Lucene90PostingsFormat. The existing
Lucene84PostingsFormat was moved to backwards-codecs, along with its utility
classes.
2021-02-22 10:45:13 -08:00
Ilan Ginzburg c472be5b86
SOLR-15157: fix wrong assumptions on stats returned by Overseer when cluster state updates are distributed (#2410) 2021-02-21 19:04:53 +01:00
Kevin Watters b298d7fb16
SOLR-14787 - Adding support to use inequalities to the payload check query parser. (#1954) 2021-02-21 11:49:36 -05:00
Ilan Ginzburg e7c80f6445
SOLR-15157: refactor Collection API to separate from Overseer and message handling abstractions (#2390)
No functional changes. In preparation of distributing the Collection API command execution.
2021-02-19 14:40:23 +01:00
Tobias Kaessmann f142bf9c54
SOLR-15038: Add elevateOnlyDocsMatchingQuery and collectElevatedDocsWhenCollapsing parameters to query elevation.
Closes #2134
2021-02-17 10:54:17 +01:00
David Smiley 253b20c3c6
SOLR-15156: [child childFilter='...:...'] no longer escapes (#2367)
The query escaping it did was inconsistent with all other places in Solr where a Lucene query may be provided.
2021-02-16 22:37:34 -05:00
Jason Gerlowski 15bd858d34
SOLR-15087: Allow restoration to existing collections (#2380)
The recent addition of support for a "readonly" mode for collections
opens the door to restoring to already-existing collections.

This commit adds a codepath to allow this.  Any compatible existing
collection may be used for restoration, including the collection that
was the original source of the backup.
2021-02-16 21:59:24 -05:00
Chris Hostetter 1c7dac8307 SOLR-15150: New update.partial.requireInPlace=true option to prevent any partial document updates that can't be done In-Place 2021-02-16 15:05:17 -07:00
Timothy Potter 75fd9ef785
SOLR-15135: Use DocCollection to generate state.json format expected by UI to work with perReplicaState collections. (#2383) 2021-02-16 14:40:50 -07:00
Eric Pugh e6d9eaaf00
SOLR-15121: Move XSLT (tr param) response writer and update request handler to scripting contrib (#2306)
* relocate xslt related classes into scripting contrib
* relocating files to scripting and seperating out unit tests
* relocate files under test-files/scripting/solr, similar to how we do it in other contribs.  deals with some issues in finding files
* Reformatting using the Google Java Format...
* use actual param name, not the variable to properly test api!
* Clean up references to paths, and deal with the mish mash of Xslt and XSLT in class names.
* Move XSLT processing out of XMLLoader
* Move TransformerProvider.Dedupe getTransformer logic.


Co-authored-by: epugh@opensourceconnections.com <>
Co-authored-by: David Smiley <dsmiley@apache.org>
2021-02-15 13:16:18 -05:00
Jason Gerlowski f993c392f1
SOLR-15101: Add list/delete APIs for incremental backups (#2336)
SOLR-13608 introduces a new "incremental" backup format, which allows
storage of multiple backup "points" in the same location. This
development introduces a need for APIs to manage these potentially
plural backups.

This commit introduces /admin/collections?action=LISTBACKUPS and
/admin/collections?action=DELETEBACKUP to handle these backups.
2021-02-15 07:04:05 -05:00
Ishan Chattopadhyaya 83ccf23fa2 SOLR-15138: Send an intra-process message after ZkClient#create() call 2021-02-15 12:22:22 +05:30
Ilan Ginzburg 23755ddfdd
SOLR-14928: allow cluster state updates to be done in a distributed way and not through Overseer (#2364) 2021-02-13 02:42:18 +01:00
Ishan Chattopadhyaya 4b113067d8 SOLR-15138: Collection creation for PerReplicaStates does not scale to large collections as well as regular collections (#2318) 2021-02-13 01:10:35 +05:30
epugh@opensourceconnections.com f95c150da2 common typo for defined fixed 2021-02-12 10:11:09 -05:00
epugh@opensourceconnections.com 3ea64b39cb typo fix 2021-02-12 10:07:46 -05:00
David Smiley db61297590 SOLR-15011: Remove flawed test 2021-02-11 22:53:38 -05:00
Naoto MINAMI 0cbb38ff4a
SOLR-15114: WAND does not work correctly on multiple segments (#2259)
In Solr 8.6.3, minCompetitiveScore of WANDScorer resets to zero for each index segment and remain zero until maxScore is updated.
There are two causes of this problem:
* MaxScoreCollector does not set minCompetitiveScore of MinCompetitiveScoreAwareScorable newly generated for another index segment.
* MaxScoreCollector updates minCompetitiveScore only if maxScore is updated. This behavior is correct considering the purpose of MaxScoreCollector.

For details, see the attached pdf https://issues.apache.org/jira/secure/attachment/13019548/wand.pdf.
2021-02-11 09:10:03 -08:00
Jason Gerlowski aea29464f1 SOLR-13608: Fix incremental-backup test failures
The initial incremental-backup commit introduced several test failures
on Windows test runs that I neglected to catch before committing.  Most
of these failures were the result of bad 'location' path handling in the
test logic itself, though there were a few tweaks made to Solr code
itself to better handle Windows paths as well.
2021-02-10 15:39:13 -05:00
Jason Gerlowski e186d8c439 Fix debug-logging-caused test failures 2021-02-08 19:32:20 -05:00
Joel Bernstein da8b8ecdb8 SOLR-15142: Allow the cat Streaming Expression to read gzip files 2021-02-08 15:07:39 -05:00
Jason Gerlowski ed2eebfa4d Debug logging for TestIncrementalCoreBackup Windows failures 2021-02-08 14:36:54 -05:00
Jason Gerlowski e89fba6fe7
SOLR-15118: Convert /v2/collections APIs to annotations (#2281)
Solr supports two different ways to write v2 APIs: a JSON spec based
approach, and one based on annotated POJOs.  The POJO method is now
preferred.

This commit switches the /v2/collections APIs over to the
annotation-based approach.  Since V2RequestSupport only works with
jsonspec-based APIs, this commit also changes CollectionAdminRequest
to no longer implement that interface.
2021-02-08 10:11:58 -05:00
Eric Pugh 573b442903
SOLR-15123: Make all Tool option descriptions follow the same general pattern. (#2275)
* Make all Tool option descriptions follow the same general pattern for describing them.

* Figure out a switch to determine level of either cluster or collections(s)

* better wording on what cluster versus collection params mean

Co-authored-by: epugh@opensourceconnections.com <>
2021-02-05 15:17:58 -05:00
David Smiley b5c1ed7129
SOLR-15011: BadApple the test 2021-02-04 23:10:09 -05:00
Jason Gerlowski 33d16b570c
SOLR-13608: Incremental backup file format (#2250)
This commit introduces a new way for Solr to do backups (with a new
underlying file structure).  This new "incremental" backup process
improves over the existing backup mechanism in several ways:

- multiple backups "points" can now be stored at a given backup
  location/name, allowing users to choose which point in time they want
  to restore
- subsequent backups skip over uploading files that were uploaded by
  previous backups, saving time and network time.
- files are checksumed as they're uploaded, ensuring that corrupted
  indices aren't persisted and accidentally restored later.

Incremental backups are now the default, and traditional backups
should now be considered 'deprecated' but can still be created by
passing an `incremental=false` parameter on backup requests.
2021-02-04 08:47:30 -05:00
Mike Drob 8fccdfe353
SOLR-15122 Replace sleeps with phaser await (#2291) 2021-02-03 19:39:04 -06:00
Mike Drob 40c5d6b750
SOLR-14253 Avoid writes in ZKSR.waitForState (#2297) 2021-02-03 14:40:07 -06:00
Nazerke Seidan 6509a3003c
SOLR-15011: /admin/logging now distributes setLevel to all nodes (#2230)
The admin UI will set nodes=all for this.

Co-authored-by: Nazerke Seidan <nseidan@salesforce.com>
Co-authored-by: David Smiley <dsmiley@apache.org>
2021-02-02 21:41:23 -05:00
Andrzej Bialecki 4cb1000ea0 SOLR-15122: Tentative fix for the test failure - the node in the test could go down
before the new plugin was active on the Overseer.
2021-02-02 12:06:39 +01:00
Chris Hostetter 15aaec60d9 SOLR-14330: ExpandComponent now supports an expand.nullGroup=true option 2021-02-01 16:19:34 -07:00
Mike Drob 99748384cf
SOLR-14253 Replace sleep calls with ZK waits (#1297)
Co-Authored-By: markrmiller <markrmiller@apache.org>
2021-02-01 13:25:17 -06:00
Andrzej Bialecki 9e8ca98985 SOLR-15068: RefGuide documentation for replica placement plugins (plus
minor cleanups).
2021-02-01 16:50:25 +01:00
Mike Drob 5cca464517 SOLR-15122 Debug Logging 2021-01-29 15:49:10 -06: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 Owen 715caaae52
SOLR-15085 Prevent EmbeddedSolrServer calling shutdown on a CoreContainer that was passed to it 2021-01-29 11:15:22 -06:00