Commit Graph

11128 Commits

Author SHA1 Message Date
Michael McCandless 87aa39a0d2 Core: deletions (alone) should also force a refresh when version map is using too much RAM
We already force a refresh in index/create ops, to clear version map
when it's using too much RAM, but we were failing to do this for
deletes, so an app that does tons of deletes with no indexing, and has
set refresh_interval to -1, would have version map using unbounded
RAM.

Closes #10312
2015-03-30 10:25:55 -04:00
Boaz Leskes 1200d8e647 Recovery: RecoveryState.File.toXContent reports file length as recovered bytes
Closes #10310
2015-03-30 16:12:37 +02:00
Boaz Leskes fd3b01d810 Internal: don't try to send a mapping refresh if there is no master
After processing mapping updates from the master, we compare the resulting binary representation of them and compare it the one cluster state has. If different, we send a refresh mapping request to master, asking it to reparse the mapping and serialize them again. This mechanism is used to update the mapping after a format change caused by a version upgrade.

The very same process can also be triggered when an old master leaves the cluster, triggering a local cluster state update. If that update contains old mapping format, the local node will again signal the need to refresh, but this time there is no master to accept the request. Instead of failing (which we now do because of #10283, we should just skip the notification and wait for the next elected master to publish a new mapping (triggering another refresh if needed).

Closes #10311
2015-03-30 15:24:00 +02:00
Adrien Grand bd79f40152 Merge pull request #9595 from jpountz/test/context_closed
Tests: Assert that we do not leak SearchContexts.

Close #9595
2015-03-30 14:16:58 +02:00
olivier bourgain 00a9db73ae [DOCS] Fix multi percolate response sample in percolate.asciidoc 2015-03-30 11:32:41 +02:00
Adrien Grand a1505e7164 Tests: Assert that we do not leak SearchContexts.
Even if there is a background thread that periodically closes search contexts
that seem unused (every minute by default), it is important to close search
contexts as soon as possible in order to not keep unnecessary open files or
to prevent segments from being deleted.

This check would help ensure that refactorings of the SearchContext management
like #9296 are correct.
2015-03-30 10:39:08 +02:00
Adrien Grand 80fe8d1f72 Merge pull request #10307 from obourgain/fix_parsing_multipercolate
Fix wrong use of currentFieldName outside of a parsing loop.

Close #10307
2015-03-30 10:08:03 +02:00
olivier bourgain 7a5e3c1b1d fix wrong use of currentFieldName outside of a parsing loop 2015-03-29 18:35:21 +02:00
javanna 38ec5084a5 [TEST] resolved compiler warnings in ShapeBuilderTests and GeoPointParsingTests 2015-03-29 11:49:36 +02:00
Sebastian Monte 9a29705c49 Fix errors reported by error-prone
I compiled elasticsearch with error-prone
(https://github.com/google/error-prone). This commit fixes the 13
errors reported by the tool.
2015-03-29 11:43:56 +02:00
javanna 0beda40069 [DOCS] added table with supported scripting languages to scripting docs 2015-03-29 11:28:50 +02:00
Martijn van Groningen 6d1a1b328b Make sure that the parent option on the update request only is delgated to upsert index request.
Closes #4538
2015-03-28 08:53:11 +01:00
Martijn van Groningen 75713f4190 Reverted commit: 20f7be3 2015-03-28 08:53:11 +01:00
Martijn van Groningen d78159fee1 Added lost comment 2015-03-28 08:52:39 +01:00
Martijn van Groningen 16d8f3ce81 aggs: Fix 2 bug in `children` agg
1) multiple nested children aggs result in a NPE
2) fixed a counting bug where the same readers where post collected twice

Closes #10158
2015-03-28 08:43:40 +01:00
Martijn van Groningen 3df3259a74 inner_hits: Fix nested stored field support.
This also fixes a NPE when the nested part has been filtered out of the _source, because of _source filtering.

Closes #9766
2015-03-28 08:02:30 +01:00
Britta Weber ccf5482956 [TEST] muste test and add issue number 2015-03-27 17:35:38 +01:00
Shay Banon 6181d8ecde Fail shard when index service/mappings fails to instantiate
When the index service (which holds shards) fails to be created as a result of a shard being allocated on a node, we should fail the relevant shard, otherwise, it will remain stuck.
Same goes when there is a failure to process updated mappings form the master.

Note, both failures typically happen when the node is misconfigured (i.e. missing plugins, ...), since they get created and processed on the master node before being published.
closes #10283
2015-03-27 16:58:24 +01:00
javanna 71bd40517d [TEST] remove GlobalScopeClusterTests
We removed the global ClusterScope a while ago, its related test can be removed too.
2015-03-27 15:04:42 +01:00
Tanguy Leroux c19b7a2f61 Fix thread leak in Hunspell service
An unchecked exception might be thrown when instantiating the HunspellService, leading to thread leaks in tests.

Closes #9849
2015-03-27 09:50:11 +01:00
Ryan Ernst 5b0512fcc3 Fix BigLongArray.fill to account for an empty range 2015-03-27 00:43:40 -07:00
Clinton Gormley 743758ce64 Updated version in docs to use 1.5.0 2015-03-27 08:58:13 +02:00
Ryan Ernst e0334dcb9e Core: Enable doc values by default, when appropriate
Doc values significantly reduced heap usage, which results in faster
GCs. This change makes the default for doc values dynamic: any
field that is indexed but not analyzed now has doc values. This only
affects fields on indexes created with 2.0+.

closes #8312
closes #10209
2015-03-26 22:42:35 -07:00
Britta Weber 3f459f69a7 [TEST] wait for mapping, cluster state might not be up to date yet 2015-03-27 00:51:19 +01:00
Britta Weber edb6319cea [mappings] update dynamic fields in mapping on master even if parsing fails for the rest of doc
The local DocumentMapper is updated while parsing and dynamic fields are added before
parsing has finished. If parsing fails after a dynamic field has been added already
then the field was not added to the cluster state but was present in the local mapper of this
node. New documents with the same field would not necessarily cause an update either and
after restarting the node the mapping for these fields were lost. Instead the new fields
should always be updated.

closes #9851
closes #9874
2015-03-26 21:06:00 +01:00
javanna 425ea5bca6 [DOCS] removed coming tags from scripting docs 2015-03-26 20:22:20 +01:00
javanna 18b02d58a4 [TEST] enable inline scripts on demand in bw comp tests
We currently have a single bw comp test (FunctionScoreBackwardCompatibilityTests) that requires inline scripts on.
After introducing fine-grained script settings, we moved the internal cluster to use the newer settings, but they are not supported by older nodes started as part of the bw comp tests. Moved script settings out of the default settings, so they won't be part of the ordinary settings when running bw comp tests.
Added logic in FunctionScoreBackwardCompatibilityTests to enable dynamic scripts using the proper setting, depending on the version of the node.
2015-03-26 19:56:55 +01:00
javanna d9628649a2 [TEST] remove needless script settings from create-bwc-index script
dynamic scripts are not needed here, can be disabled.
2015-03-26 19:56:55 +01:00
javanna f4592a17e3 [TEST] remove needless script settings from upgrade tests script
dynamic scripts are not needed in our upgrade tests, can be removed.
2015-03-26 19:56:55 +01:00
javanna d9d1e6a67a Scripting: add support for fine-grained settings
Allow to on/off scripting based on their source (where they get loaded from), the  operation that executes them and their language.

The settings cover the following combinations:

- mode: on, off, sandbox
- source: indexed, dynamic, file
- engine: groovy, expressions, mustache, etc
- operation: update, search, aggs, mapping

The following settings are supported for every engine:

script.engine.groovy.indexed.update:    sandbox/on/off
script.engine.groovy.indexed.search:    sandbox/on/off
script.engine.groovy.indexed.aggs:      sandbox/on/off
script.engine.groovy.indexed.mapping:   sandbox/on/off
script.engine.groovy.dynamic.update:    sandbox/on/off
script.engine.groovy.dynamic.search:    sandbox/on/off
script.engine.groovy.dynamic.aggs:      sandbox/on/off
script.engine.groovy.dynamic.mapping:   sandbox/on/off
script.engine.groovy.file.update:       sandbox/on/off
script.engine.groovy.file.search:       sandbox/on/off
script.engine.groovy.file.aggs:         sandbox/on/off
script.engine.groovy.file.mapping:      sandbox/on/off

For ease of use, the following more generic settings are supported too:

script.indexed: sandbox/on/off
script.dynamic: sandbox/on/off
script.file:    sandbox/on/off

script.update:  sandbox/on/off
script.search:  sandbox/on/off
script.aggs:    sandbox/on/off
script.mapping: sandbox/on/off

These will be used to calculate the more specific settings, using the stricter setting of each combination. Operation based settings have precedence over conflicting source based ones.

Note that the `mustache` engine is affected by generic settings applied to any language, while native scripts aren't as they are static by definition.

Also, the previous `script.disable_dynamic` setting can now be deprecated.

Closes #6418
Closes #10116
Closes #10274
2015-03-26 19:56:55 +01:00
Michael McCandless 442f539802 Tests: improve back compat tests by adding delete-by-query in the transaction log on upgrade
Closes #10266
2015-03-26 10:12:22 -04:00
Ryan Ernst ae41d1e03d Mappings: Fix _field_names to be disabled on pre 1.3.0 indexes
In #9893, an enabled flag was added for _field_names.  However,
backcompat for indexes created before 1.3.0 (when _field_names
was added) was lost. This change corrects the mapper
to always be disabled when used with older indexes that
cannot have _field_names.

closes #10268
2015-03-25 14:27:24 -07:00
Leonardo Menezes 5feaa484b5 Cat api: added node id column to _cat/plugins response
relates to #10226
2015-03-25 12:00:38 +01:00
Leonardo Menezes d086648cec Cat api: added node id column to _cat/segments response
Relates to #10226
2015-03-25 12:00:15 +01:00
Leonardo Menezes bad60cea13 Cat api: added node id column to _cat/shards response
closes #10226
2015-03-25 11:59:35 +01:00
Glen Smith 5a475d21e5 [DOCS] Added explicit "lang" field to documentation of script score definition 2015-03-25 10:58:59 +01:00
Clinton Gormley 1ee42e93d0 Fix REST test delete/42_missing_parent to catch a RoutingMissingException
Related to #10136
2015-03-25 06:48:05 +02:00
Ryan Ernst 90dfd78267 Remove missed references to delete mapping API
See #10231
2015-03-24 10:13:19 -07:00
Ryan Ernst 693d91e41c Mappings: Remove delete mapping API
Deleting a type from an index is inherently dangerous because
the type can be recreated with new mappings which may conflict
with existing segments still using the old mappings. This
removes the ability to delete a type (similar to how deleting
fields within a type is not allowed, for the same reason).

closes #8877
closes #10231
2015-03-24 09:46:02 -07:00
Honza Král 9c0f655674 [API] changed all the links in json specs to the new site 2015-03-24 17:30:32 +01:00
Drew Raines 4d15dfd40f Merge pull request #8856 from drewr/master
Reduce apache (cloud-aws) logging when rootLogger is DEBUG
2015-03-24 09:54:53 -05:00
Britta Weber 3add12a970 function_score: undo "Remove explanation of query score from functions"
This adds the Explanation to the explain score again. It is needed
because the explanation of script functions will otherwise not contain
an explanation of _score if boost mode is set to replace.

closes #9826
2015-03-24 15:48:48 +01:00
Nicholas Knize e43f3a941b [GEO] Fix validate_* merge policy for GeoPointFieldMapper
Fail merge if validate_lat or validate_lon values are not equal. This will prevent inconsistencies between geo_points in a merged index, and parse exceptions for bounding_box and distance filters.

Also merged separate GeoPoint test classes into a single GeoPointFieldMapperTest to be consistent with GeoShapeFieldMapperTests.

closes #10164
2015-03-24 08:15:15 -05:00
Boaz Leskes c6ce64a5e5 Remove backward compatibility layer introduced in #6149
Closes #6229
2015-03-24 13:04:59 +01:00
Colin Goodheart-Smithe 2bf42dc9a0 [TEST] explicitly map fields in SignificantTermsBWCTests 2015-03-24 11:21:06 +00:00
Simon Willnauer c87e1b41a4 [TEST] only use perm gen space on java 1.7.x 2015-03-24 10:04:32 +01:00
Simon Willnauer c017a400d5 [TEST] Add back permGen space tuning for now 2015-03-24 09:38:34 +01:00
Robert Muir 10e6fa1963 fix build with java 9
* add compiler workarounds for JDK bug JI-9019884
* remove permgen specification during tests (this results in an error on java 9)
* fix threadpool grow/shrink to call methods in the right order (this results in IAE with java 9)
2015-03-24 00:29:24 -04:00
Boaz Leskes f5923403a1 Test: RecoveryFromGatewayTests.testReusePeerRecovery - increase concurrent recoveries
To speed up the test and prevent ensureGreen() from timing out.
2015-03-23 22:02:46 +01:00
Nicholas Knize c2ec463cdb [GEO] fix docs for geo_point "validate" option
Documentation states false as the default for "validate", "validate_lon", and "validate_lat" leading to confusion as described in issue #9539. This simple fix corrects the documentation and communicates that these fields will be deprecated and removed in upcoming versions.

closes #9539
2015-03-23 15:34:37 -05:00