Commit Graph

11526 Commits

Author SHA1 Message Date
Nicholas Knize 453217fd7a [GEO] Prioritize tree_level and precision parameters over default distance_error_pct
If a user explicitly defined the tree_level or precision parameter in a geo_shape mapping their specification was always overridden by the default_error_pct parameter (even though our docs say this parameter is a 'hint'). This lead to unexpected accuracy problems in the results of a geo_shape filter. (example provided in issue #9691)

This simple patch fixes the unexpected behavior by setting the default distance_error_pct parameter to zero when the tree_level or precision parameters are provided by the user. Under the covers the quadtree will now use the tree level defined by the user. The docs will be updated to alert the user to exercise caution with these parameters.  Specifying a precision of "1m" for an index using large complex shapes can quickly lead to OOM issues.

closes #9691
2015-04-21 14:42:10 -05:00
Nicholas Knize 0205fc7ac2 [GEO] Fix OOM for high precision exotic shapes
This is currently submitted as a patch in LUCENE-6422. It removes unnecessary transient memory usage for QuadPrefixTree and, for 1.6.0+ shape indexes adds a new compact bit encoded representation for each quadcell. This is the heart of numerous false positive matches, OOM exceptions, and all around poor shape indexing performance. The compact bit representation will also allows for encoding 3D shapes in future enhancements.
2015-04-21 14:02:27 -05:00
Simon Willnauer 982da25f6e [TEST] Share code for mock engines
Today we have duplicated logic in the MockInternal and MockShadowEngine
since they need to subclass the actual engine. This commit shares the most of
the code making it easier to add mock engines in the future.
2015-04-21 20:15:04 +02:00
Adrien Grand daa25d1b20 Merge pull request #10531 from jpountz/upgrade/lucene-5.1-queries
Search: Replace deprecated filters with equivalent queries.
2015-04-21 15:40:21 +02:00
Adrien Grand d7abb12100 Replace deprecated filters with equivalent queries.
In Lucene 5.1 lots of filters got deprecated in favour of equivalent queries.
Additionally, random-access to filters is now replaced with approximations on
scorers. This commit
 - replaces the deprecated NumericRangeFilter, PrefixFilter, TermFilter and
   TermsFilter with NumericRangeQuery, PrefixQuery, TermQuery and TermsQuery,
   wrapped in a QueryWrapperFilter
 - replaces XBooleanFilter, AndFilter and OrFilter with a BooleanQuery in a
   QueryWrapperFilter
 - removes DocIdSets.isBroken: the new two-phase iteration API will now help
   execute slow filters efficiently
 - replaces FilterCachingPolicy with QueryCachingPolicy

Close #8960
2015-04-21 15:32:43 +02:00
Robert Muir b31e590421 Merge pull request #10699 from rmuir/lucene_1675100
Upgrade to Lucene 5.2 r1675100
2015-04-21 09:22:50 -04:00
Robert Muir d1c3ec6291 Upgrade to Lucene 5.2 r1675100
This upgrade is for https://issues.apache.org/jira/browse/LUCENE-6442

It should improve test reproducibility, especially if you are on a mac
and want to reproduce a jenkins failure that happened on linux.
2015-04-21 09:06:44 -04:00
markharwood 63db34f649 New feature - Sampler aggregation used to limit any nested aggregations' processing to a sample of the top-scoring documents.
Optionally, a “diversify” setting can limit the number of collected matches that share a common value such as an "author".

Closes #8108
2015-04-21 10:22:05 +01:00
Adrien Grand ac74247c6c Merge pull request #10634 from jpountz/fix/validate_mappings_on_master
Mappings: Validate dynamic mappings updates on the master node.
2015-04-21 11:19:58 +02:00
Adrien Grand 1adf232bb2 Mappings: Validate dynamic mappings updates on the master node.
This commit changes dynamic mappings updates so that they are synchronous on the
entire cluster and their validity is checked by the master node. There are some
important consequences of this commit:
 - a failing index request on a non-existing type does not implicitely create
   the type anymore
 - dynamic mappings updates cannot create inconsistent mappings on different
   shards
 - indexing requests that introduce new fields might induce latency spikes
   because of the overhead to update the mappings on the master node

Close #8688
2015-04-21 11:08:21 +02:00
Adrien Grand ca03e40605 Internal: Ensure that explanation descriptions are not null on serialization.
As requested on #10399
2015-04-21 11:08:21 +02:00
Martijn van Groningen 24c75dec2d Merge pull request #10694 from martijnvg/matched_queries/cleanup
matched queries: Remove redundant and broken code
2015-04-21 10:55:49 +02:00
Adrien Grand cc9957fe0e Merge pull request #10689 from jpountz/enhancement/check_expl_desc
Internal: Ensure that explanation descriptions are not null on serialization.

Close #10399
2015-04-21 09:50:48 +02:00
Martijn van Groningen bb1cd65c0d matched queries: Remove redundant and broken code
Because the fetch phase now has nested doc, the logic that deals with detecting if a named nested query/filter matches with a hit can be removed.

Closes #10661
2015-04-21 08:52:51 +02:00
Adrien Grand f4d5914511 Docs: Warn about the fact that min_doc_count=0 might return terms that only belong to different types. 2015-04-21 00:57:57 +02:00
Adrien Grand b69e7e4d35 Internal: Ensure that explanation descriptions are not null on serialization.
As requested on #10399
2015-04-20 23:58:28 +02:00
Igor Motov faf725b788 Improve the error message when attempting to snapshot a closed index
Currently the error message is the same when index is closed and when it is missing shards. This commit will generate a specific failure message when a user tries to create a snapshot of a closed index.

Related to #10579
2015-04-20 15:55:32 -04:00
Isabel Drost-Fromm 717d9ec1d0 Merge pull request #10525 from MaineC/bug-fix/JVM_Checker
Fix typo in JVM checker user help.

When checking the JVM we provide the user with help on which environment variable to use to disable the check in case the check fails. Fixing the variable we point the user to - should be JAVA_OPTS
2015-04-20 19:35:40 +02:00
Ryan Ernst 3a04d3ca91 Mappings: Remove dead code after previous refactorings
This is mostly removing code that handled deletion of types, which was
removed in #8877.

closes #10666
2015-04-20 10:07:24 -07:00
Simon Willnauer 24d1f595a5 [TEST] Add back old way for naming clusters 2015-04-20 18:29:27 +02:00
Simon Willnauer 7ad138e17b [TEST] allow to read from lig/sigar 2015-04-20 18:15:51 +02:00
Honza Král e929c1560d [DOCS] Be explicit about scan doing no scoring 2015-04-20 18:05:45 +02:00
Simon Willnauer 5730c06af9 [STORE] Move to on data.path per shard
This commit moves away from using stripe RAID-0 simumlation across multiple
data paths towards using a single path per shard. Multiple data paths are still
supported but shards and it's data is not striped across multiple paths / disks.
This will for instance prevent to loose all shards if a single disk is corrupted.

Indices that are using this features already will automatically upgraded to a single
datapath based on a simple diskspace based heuristic. In general there must be enough
diskspace to move a single shard at any time otherwise the upgrade will fail.

Closes #9498
2015-04-20 17:19:45 +02:00
javanna 91afe64df7 [TEST] remove unused ElasticsearchIntegrationTest#afterTestFailed method 2015-04-20 16:51:27 +02:00
Tanguy Leroux 0dad33f17f Update after @eletrical review 2015-04-20 14:58:19 +02:00
Tanguy Leroux 867955188e Standardization of packages structure and install
The existing DEB/RPM packages have a lot of differences: they don't execute the same actions when installing or removing the package. They also don't declare exactly the same environment variables at the same place. At the end of the day the global behavior and configuration is *almost* the same but it's very difficult to maintain the scripts.

This commits unifies the package behavior:
- DEB/RPM use the same package scripts (pre installation, post installation etc) in order to execute exactly the same actions
- Use of a unique environment vars file that declares everything needed by scripts (the goal is to delete vars declaration in init.d and systemd scripts, this will be done in another PR)
- Variables like directory paths are centralized and replaced according to the target platform (using #10330)
- Move /etc/rc.d/init.d to standard /etc/init.d (RPM only)
- Add PID_DIR env var
- Always set ES_USER, ES_GROUP,MAX_MAP_COUNT and MAX_OPEN_FILES in env vars file
- Create log, data, work and plugins directories with DEB/RPM packaging system
- Change to elastic.co domain in copyright and control files
- Add Bats files to automate testing of DEB and RPM packages
- Update TESTING.asciidoc

More info on Bats here:  https://github.com/sstephenson/bats
2015-04-20 14:58:19 +02:00
Adrien Grand 2b0440368c Merge pull request #10674 from jpountz/enhancement/indexsearcher_count
Search: Cut over to IndexSearcher.count.

Close #10674
2015-04-20 14:54:48 +02:00
Adrien Grand 03c07377e3 Search: Cut over to IndexSearcher.count.
There is a new IndexSearcher.count method that makes it easier to count how
many documents match a particular query.
2015-04-20 14:49:35 +02:00
Robert Muir db096b4404 Merge pull request #10656 from elastic/mockfilesystem
Integrate better with lucene test framework and mockfilesystems
2015-04-20 08:14:06 -04:00
Simon Willnauer a6c154aa7a Use dummy TermStatistics when term is not found Closes #10660 2015-04-20 11:46:29 +02:00
Shay Banon 45fa5dcad9 Cleanup local code transport execution
Now that we handle automatically the local execution within the transport service, we can remove parts of the code that handle it in actions.
closes #10582
2015-04-20 10:43:06 +02:00
Robert Muir 069e11ba40 set heartbeat to 10s 2015-04-19 18:44:14 -04:00
Robert Muir 2ed711fc6f mark just this method as @Slow, can easily take over a minute 2015-04-19 15:09:16 -04:00
Robert Muir b09d236fc0 run tests with AssertingCodec to find bugs 2015-04-19 13:56:12 -04:00
Ryan Ernst 68f75ea7b6 simplified rest skip range version parsing more, ranges can now be open
ended
2015-04-19 06:50:08 -07:00
Robert Muir 9e0a9588e8 add more paranoia to PathUtils 2015-04-19 09:21:45 -04:00
Robert Muir c153772fca ensure these two versions are always in sync 2015-04-19 09:12:15 -04:00
Simon Willnauer 551d16f685 [DOCS] Fix REST test execution line in testing documentation 2015-04-19 13:56:25 +02:00
Ryan Ernst 22af0e627c cleanup order of before/after stuff, reorganize helper methods a bit 2015-04-18 18:17:13 -07:00
Robert Muir b728772fe4 more fine-grained @slow tuning, remove from many tests that got unlucky with fsync 2015-04-18 19:59:29 -04:00
Ryan Ernst 137875513e remove fixed seed for version util tests 2015-04-18 13:28:17 -07:00
Ryan Ernst b46df4d5dc suppress extrasfs from integ tests, fix bug in random version util 2015-04-18 13:25:00 -07:00
Robert Muir c00f0ff08e upgrade to lucene r1674576 2015-04-18 16:04:28 -04:00
Ryan Ernst 06eee11dbb simplify version handling in rest tests, add tests for version utilities 2015-04-18 12:48:00 -07:00
Robert Muir d301567ecf let tests.verbose tell the story 2015-04-18 13:48:33 -04:00
Robert Muir 5bcd599cb3 remove repo, latest randomizedtesting is on maven central now 2015-04-18 12:25:39 -04:00
Ryan Ernst ce6b3774ec move version related stuff to dedicated test utility 2015-04-18 03:00:45 -07:00
Ryan Ernst d8a92947d1 removed some esoteric helper functions, shuffled methods around in base class 2015-04-18 01:53:22 -07:00
Ryan Ernst e91a7de9f7 move rest and integration test annotations and sysprops to their respective tests 2015-04-18 01:00:45 -07:00
Robert Muir d2854d7267 mark slow tests with @Slow annotation 2015-04-18 02:23:05 -04:00