Commit Graph

30157 Commits

Author SHA1 Message Date
Karl Wright 871ffbe10e Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2018-04-30 06:12:46 -04:00
Karl Wright ff68acf244 LUCENE-8280: Reorganize to allow us to try lots of strategies until we get one. 2018-04-30 06:12:31 -04:00
Simon Willnauer fe018e37f3 LUCENE-8275: Fix TestDirectoryTaxonomyWriter.testRecreateAndRefresh 2018-04-30 12:08:16 +02:00
Simon Willnauer b43b09190d
LUCENE-8282: Reduce boxing and unnecessary object creation in DV updates
DV updates used the boxed type Long to keep API generic. Yet, the missing
type caused a lot of code duplication, boxing and unnecessary object creation.
This change cuts over to type safe APIs using BytesRef and long (the primitive)

In this change most of the code that is almost identical between binary and numeric
is not shared reducing the maintenance overhead and likelihood of introducing bugs.
2018-04-30 11:41:56 +02:00
David Smiley 570fff8672 LUCENE-8283: Minor javadoc correction in UH FieldOffsetStrategy 2018-04-29 22:28:56 -04:00
Varun Thacker f6cbb2db6b SOLR-10036: Upgrade jackson from 2.5.4 to 2.9.5 2018-04-28 16:56:06 -07:00
Mike McCandless 70abbe7433 LUCENE_8265: add CHANGES entry 2018-04-28 09:57:58 -04:00
Michael Sokolov fc0878cc2f LUCENE-8265: WordDelimiter*Filter ignores keywords 2018-04-28 09:47:06 -04:00
Mike McCandless 4fba55c864 LUCENE-8244: Do not leak open file descriptors in SearcherTaxonomyManager's refresh on exception (Mike McCandless) 2018-04-28 09:43:24 -04:00
Karl Wright 400449f2c7 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2018-04-28 09:14:05 -04:00
Karl Wright c94a83fd28 LUCENE-8280: Use a combination of strategies to work around the fact that no strategy can be used in all situations. 2018-04-28 09:06:44 -04:00
Joel Bernstein 2c487947e8 SOLR-11734: Add ones and zeros Stream Evaluators 2018-04-27 13:44:12 -04:00
Jason Gerlowski 43c086a002 SOLR-11749: Fix logic errors in some assert funcs 2018-04-27 09:46:11 -04:00
Karl Wright e263ae30ed Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2018-04-27 08:39:40 -04:00
Karl Wright 43f0c67046 LUCENE-8281: Make sure we use the right iterator, and don't allow the construction of one with a null set of points. 2018-04-27 08:39:26 -04:00
Mikhail Khludnev e3a9817174 SOLR-12275: test cleanup 2018-04-26 20:17:44 +03:00
Karl Wright e912ed2a2c LUCENE-8281: Add a test for the new kind of failure, but disabled 2018-04-26 12:59:49 -04:00
Karl Wright fe98d6a985 Mark the failing random tests with AwaitsFix 2018-04-26 11:27:52 -04:00
Karl Wright 08cf263132 LUCENE-8280: Add a test for the case the automation found. 2018-04-26 10:53:54 -04:00
Karl Wright 9f506635e0 LUCENE-8276: Don't allow travel near a pole; require a different choice of travel plane 2018-04-26 08:08:34 -04:00
Karl Wright 8e029816cf LUCENE-8276: Add new tests which demonstrate the issue. Only one is now failing. 2018-04-26 07:14:27 -04:00
Cao Manh Dat e331c068df SOLR-12250: Remove the usage of mockito 2018-04-26 17:57:41 +07:00
Alan Woodward 1a18acd783 LUCENE-8196: Fix unordered case with non-matching subinterval 2018-04-26 11:27:42 +01:00
Simon Willnauer 2265ec1947 LUCENE-8276: Remove unused imports 2018-04-26 12:10:21 +02:00
Simon Willnauer 933d8a6995 LUCENE-8275: Fix BaseLockFactoryTestCase to step out on Windowns if pending files are found
The particular test here is #testStressLocks that has several protectesion against
WindowsFS and special logic in the catch clause that steps out on fatal exceptions with
pending deletes. Since we now check this consistently in the IW ctor we need to also
skip this entire test if we are on windows and have pending deletes.
2018-04-26 12:10:10 +02:00
Karl Wright d53de2a385 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/lucene-solr 2018-04-26 02:59:23 -04:00
Karl Wright 15a6b586c7 LUCENE-8276: Restructure complex polygon class yet again to allow dual test points. 2018-04-26 02:59:09 -04:00
Mikhail Khludnev d4d21028e9 SOLR-12275: fix caching for \{!filters} and {{filters}} in \{!parent} and \{!child} 2018-04-26 09:40:35 +03:00
Joel Bernstein bea6f42105 SOLR-12273: Create Stream Evaluators for distance measures 2018-04-25 21:38:12 -04:00
Simon Willnauer aa341476fd LUCENE-8275: Push up #checkPendingDeletes to Directory
IndexWriter checks in it's ctor if the incoming directory is an
FSDirectory. If that is the case it ensures that the directory retries
deleting it's pending deletes and if there are pending deletes it will
fail creating the writer. Yet, this check didn't unwrap filter directories
or subclasses like FileSwitchDirectory such that in the case of MDW we
never checked for pending deletes.

There are also two places in FSDirectory that first removed the file
that was supposed to be created / renamed to from the pending deletes set
and then tried to clean up pending deletes which excluded the file. These
places now remove the file from the set after the pending deletes are checked.
2018-04-25 16:46:25 +02:00
Simon Willnauer fbeef2f726
LUCENE-8272: Share internal DV update code between binary and numeric
Today we duplicate a fair portion of the internal logic to
apply updates of binary and numeric doc values. This change refactors
this non-trivial code to share the same code path and only differ in
if we provide a binary or numeric instance. This also allows us to
iterator over the updates only once rather than twice once for numeric
and once for binary fields.

This change also subclass DocValuesIterator from DocValuesFieldUpdates.Iterator
which allows easier consumption down the road since it now shares most of it's
interface with DocIdSetIterator which is the main interface for this in Lucene.
2018-04-25 15:17:34 +02:00
Andrzej Bialecki 34170272e1 SOLR-12181: Reset simulator cache state when shard becomes inactive. 2018-04-25 12:24:52 +02:00
David Smiley 1370f6b520 SOLR-12261: Collection deletion's check for alias membership should
sync() aliases with ZK before throwing an error.
2018-04-24 23:25:11 -04:00
Joel Bernstein c5a1738151 SOLR-12266: Add discrete Fourier transform Stream Evaluators 2018-04-24 21:35:19 -04:00
Simon Willnauer ac027145fb [TEST] Set stop flag in the case of an exception 2018-04-24 17:57:33 +02:00
Simon Willnauer d32ce90924
LUCENE-8271: Remove IndexWriter from DWFlushQueue
This simplifies DocumentsWriterFlushQueue by moving all IW related
code out of it. The DWFQ now only contains logic for taking tickets
off the queue and applying it to a given consumer. The logic now
entirely resides in IW and has private visibility. Locking
also is more contained since IW knows exactly what is called and when.
2018-04-24 15:40:48 +02:00
Andrzej Bialecki d702dc6133 SOLR-11833: Clarify the meaning of "waitFor". Other minor edits. 2018-04-24 12:22:01 +02:00
Andrzej Bialecki 0d969ab85d SOLR-11833: Allow searchRate trigger to delete replicas. 2018-04-23 22:19:01 +02:00
David Smiley 1409ab8f84 SOLR-11914: Deprecated some SolrParams methods.
* toSolrParams(nl) moved to a NamedList method, which is more natural.
2018-04-23 13:26:49 -04:00
Alan Woodward e167e91247 LUCENE-8270: Remove MatchesIterator.term() 2018-04-23 16:51:17 +01:00
Simon Willnauer 6f0a884582
LUCENE-8269: Detach downstream classes from IndexWriter
IndexWriter today is shared with many classes like BufferedUpdateStream,
DocumentsWriter and DocumentsWriterPerThread. Some of them even acquire locks
on the writer instance or assert that the current thread doesn't hold a lock.
This makes it very difficult to have a manageable threading model.

This change separates out the IndexWriter from those classes and makes them all
independent of IW. IW now implements a new interface for DocumentsWriter to communicate
on failed or successful flushes and tragic events. This allows IW to make it's critical
methods private and execute all lock critical actions on it's private queue that ensures
that the IW lock is not held. Follow-up changes will try to detach more code like
publishing flushed segments to ensure we never call back into IW in an uncontrolled way.
2018-04-23 17:17:40 +02:00
Ignacio Vera e8c36f489e LUCENE-8266: Detect bogus tiles when creating a standard polygon and throw a TileException 2018-04-23 11:52:01 +02:00
Simon Willnauer 8975692953
LUCENE-8260: Extract ReaderPool from IndexWriter
ReaderPool plays a central role in the IndexWriter pooling NRT readers
and making sure we write buffered deletes and updates to disk. This class
used to be a non-static inner class accessing many aspects including locks
from the IndexWriter itself. This change moves the class outside of IW and
defines it's responsibility in a clear way with respect to locks etc. Now
IndexWriter doesn't need to share ReaderPool anymore and reacts on writes done
inside the pool by checkpointing internally. This also removes acquiring the IW
lock inside the reader pool which makes reasoning about concurrency difficult.

This change also add javadocs and dedicated tests for the ReaderPool class.
2018-04-23 10:29:10 +02:00
Simon Willnauer 4136fe0e65 SOLR-12250: Add missing assumeWorkingMockito call 2018-04-23 10:13:53 +02:00
Erick Erickson 84583d2563 SOLR-12253: Remove optimize button from the core admin page 2018-04-22 19:19:09 -07:00
Cao Manh Dat f8c210f148 SOLR-12250: NegativeArraySizeException on TransactionLog if previous document more than 1.9GB 2018-04-23 08:42:03 +07:00
Chris Hostetter 4e0e8e979b SOLR-9304: Fix Solr's HTTP handling to respect '-Dsolr.ssl.checkPeerName=false' aka SOLR_SSL_CHECK_PEER_NAME 2018-04-22 13:38:37 -07:00
David Smiley 8f296d0ccf SOLR-12256: AliasesManager.update() should call ZooKeeper.sync()
* SetAliasPropCmd now calls AliasesManager.update() first.
* SetAliasPropCmd now more efficiently updates multiple values.
* Tests: Commented out BadApple annotations on alias related stuff.
2018-04-20 16:22:16 -04:00
Steve Rowe 22c4b9c36f SOLR-4793: Document usage of ZooKeeper's jute.maxbuffer sysprop for increasing the file size limit above 1MB 2018-04-20 16:06:22 -04:00
Steve Rowe 76578cf17b SOLR-12163: Minor cleanups 2018-04-20 15:59:06 -04:00