Commit Graph

3633 Commits

Author SHA1 Message Date
Daniel Mitterdorfer 3b225f7c90 Revert default value for 'index.requests.cache.enable'
With this commit we revert the default value for the setting
'index.requests.cache.enable' again to false, which has been
set to true by accident in PR #16054.

Checked with @s1monw
2016-01-28 15:05:59 +01:00
Simon Willnauer 05006624af Merge branch 'master' into request_header_setting 2016-01-28 15:04:10 +01:00
Boaz Leskes 68070074da Begin migration of NettyTransport setting to the new platform
Note for many of the settings we had a netty specific override to a generic transport setting. I have removed those as they are not needed imo (ex. "transport.connections_per_node.recovery" was overriden by "transport.netty.connections_per_node.recovery", which I removed). The netty prefix was kept for settings that are tied to the netty universe - ex. "transport.netty.max_cumulation_buffer_capacity"

Closes #16200
2016-01-28 14:56:55 +01:00
Simon Willnauer 7ddf842348 Convert `request.headers.*` to the new settings infra 2016-01-28 14:55:26 +01:00
Simon Willnauer d65635e478 remove unused / unsupported setting 2016-01-28 14:51:42 +01:00
Simon Willnauer 41b09c5fe8 Add indices.requests.cache.clean_interval as a known settings 2016-01-28 14:13:32 +01:00
Simon Willnauer 744875e03f remove commented out debug changes 2016-01-28 12:23:10 +01:00
Simon Willnauer b07e3145d5 Validate logger settings and allow them to be reset via API
Today our logger settings are treated differently than all other
settings. This was a shortcut / workaround since it's quite messy but now
that we have strict validation and transactional updates we should integrate the
logger settings there as well. This commit makes the logger settings a build-in
settings updater and removes all the special code-paths we had for these settings.
Logger settings now also updateable and resetttable by passing `null`
2016-01-28 12:20:25 +01:00
Mike McCandless 0cc94168dc Make sure IndexShard is active during recovery so that it gets its fair share of the indexing buffer
Closes #16250
2016-01-28 06:01:06 -05:00
Simon Willnauer 2ca3433bea Use targetTransport.threadPool to stash context not the local one 2016-01-28 09:56:06 +01:00
Boaz Leskes 2a137b5548 Make index uuid available in Index, ShardRouting & ShardId
In the early days Elasticsearch used to use the index name as the index identity. Around 1.0.0 we introduced a unique index uuid which is stored in the index setting. Since then we used that uuid in a few places but it is by far not the main identifier when working with indices, partially because it's not always readily available in all places.

This PR start to make a move in the direction of using uuids instead of name by making sure that the uuid is available on the Index class (currently just a wrapper around the name) and as such also available via ShardRouting and ShardId.

Note that this is by no means an attempt to do the right thing with the uuid in all places. In almost all places it falls back to the name based comparison that was done before. It is meant as a first step towards slowly improving the situation.

Closes #16217
2016-01-28 08:40:10 +01:00
Igor Motov 8c5171fac8 Tests: add common blob store tests for reuse in plugins
Adds unit tests for blob operations and integration tests for repository operations. These tests can be used by repository plugins to verify that repository operations were implemented as expected by BlobStoreRepository.
2016-01-27 19:08:26 -05:00
Simon Willnauer 7ef762c8f0 Only rethrow exceptions if they are coming from the actual runnable but not if we are shutting down the pool 2016-01-27 21:06:24 +01:00
Jack Conradson 5b836dbb11 Renamed the scripting language Plan A to Painless.
Closes #16245
2016-01-27 10:37:34 -08:00
Jim Ferenczi 1343d6cbd1 Remove search_after from the query string param of the rest api spec.
Handle null values in search_after.
Ensure that the cluster is green after each index creation in the integ tests.
2016-01-27 19:21:01 +01:00
Simon Willnauer cefa5da08c Merge branch 'master' into more_settings 2016-01-27 17:45:13 +01:00
Simon Willnauer 192872cadb Merge pull request #15776 from s1monw/trash_context_and_headers
Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation
2016-01-27 17:29:17 +01:00
Luca Cavanna ca2924eb66 Merge pull request #16270 from javanna/enhancement/auto_create_index_tests
Simplify AutoCreateIndex and add more tests
2016-01-27 17:23:49 +01:00
Simon Willnauer ccd819229d ensure we don't fail if the executor is shut down 2016-01-27 17:04:26 +01:00
Simon Willnauer 7ff99eb89d Merge branch 'master' into trash_context_and_headers
if (name == 'expamle-fixtures') return
2016-01-27 16:33:50 +01:00
javanna a029c0ae62 Simplify AutoCreateIndex and add more tests 2016-01-27 16:33:41 +01:00
Simon Willnauer d296d26ce2 Convert `client.type` to new settings infra 2016-01-27 16:20:26 +01:00
Adrien Grand a8c967306a Merge pull request #16267 from jpountz/query_cache_settings_new_infra
Migrate query caching settings to the new settings infra.
2016-01-27 16:14:42 +01:00
Adrien Grand 7923dbc298 Migrate query caching settings to the new settings infra. 2016-01-27 16:12:32 +01:00
Simon Willnauer bbba1e5d7f Convert `config.ignore_system_properties` to new settings infra 2016-01-27 16:10:06 +01:00
Simon Willnauer 1c1898cf42 Convert `cluster.name` to the new settings infra 2016-01-27 16:04:45 +01:00
Colin Goodheart-Smithe 187009c12c Merge branch 'master' into feature/aggs-refactoring 2016-01-27 14:54:12 +00:00
Simon Willnauer 08f7071611 Convert to new settings infra 2016-01-27 15:52:34 +01:00
Simon Willnauer 1df7d4d5b5 Merge pull request #16257 from s1monw/no_fsync_on_every_operation
Remove the ability to fsync on every operation and only schedule fsync task if really needed
2016-01-27 15:48:30 +01:00
Simon Willnauer 98bc9de792 apply feedback from @mikemccand 2016-01-27 15:38:15 +01:00
Simon Willnauer dd3bd6d228 Merge pull request #16263 from s1monw/convert_action_settings
Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra
2016-01-27 15:18:38 +01:00
Simon Willnauer 39d7116dbe use real setting instead of the settings object 2016-01-27 14:59:43 +01:00
Simon Willnauer 1fdc11aa96 Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra 2016-01-27 14:33:55 +01:00
Luca Cavanna 783c1608f3 Merge pull request #16242 from javanna/enhancement/ingest_actions
Ingest: move get/put/delete pipeline methods to ClusterAdminClient
2016-01-27 14:04:14 +01:00
javanna 1a13022847 Ingest: move also simulate to ClusterAdminClient 2016-01-27 13:29:02 +01:00
javanna 1317cf2132 Ingest: move get/put/delete pipeline methods to ClusterAdminClient
These methods allow to modify and retrieve the content of pipelines, which are stored in the cluster state. Their actions names were already correct under the category cluster:admin/ingest/pipeline/* , the corresponding methods should be moved under client.admin().cluster() .
2016-01-27 13:20:53 +01:00
javanna 533af17068 Tribe node: pass path.conf to inner tribe clients
If we don't do this, and some path.conf is set when starting the tribe node, that path.conf will be ignored and the inner tribe clients will try to read elsewhere, where they most likely don't have permissions to read from.

Closes #16253
Closes #16258
2016-01-27 13:19:56 +01:00
Jim Ferenczi 3bdb54e529 Fixed sporadic errors in SearchAfterIT: ack the create and index method calls in the search_after integ test 2016-01-27 13:13:25 +01:00
Simon Willnauer 84ce9f3618 Remove the ability to fsync on every operation and only schedule fsync task if really needed
This commit limits the `index.translog.sync_interval` to a value not less than `100ms` and
removes the support for fsync on every operation which used to be enabled if `index.translog.sync_interval` was set to `0s`
Now this pr also only schedules an async fsync if the durability is set to `async`. By default not async task is scheduled.

Closes #16152
2016-01-27 12:28:38 +01:00
Jason Tedor 284cc3a048 Script mode settings as booleans
This commit modifies the accept values for script mode settings from
"on", "off", and "sandbox" to "true", "false", and "sandbox".
2016-01-27 06:26:58 -05:00
Jason Tedor 9944573449 Rename methods on ScriptEngineService
This commit method renames the ScriptEngineService interface methods
types, extensions, and sandboxed to getTypes, getExtensions, and
isSandboxed, respectively.
2016-01-27 06:26:04 -05:00
Jason Tedor 6894594979 Add guards for invalid script engine registrations
This commit adds some simple checks against invalid script engine
service registrations.
2016-01-27 06:26:04 -05:00
Jason Tedor c01d36e9ee Script default lang setting
This commit converts the script default language setting
"script.default_lang" to the new settings infrastructure.
2016-01-27 06:26:04 -05:00
Jason Tedor 087e55cc51 Script mode settings
This commit converts the script mode settings to the new settings
infrastructure. This is a major refactoring of the handling of script
mode settings. This refactoring is necessary because these settings are
determined at runtime based on the registered script engines and the
registered script contexts.
2016-01-27 06:26:04 -05:00
Jason Tedor 76733944d3 Script auto reload enabled setting
This commit converts the script auto reload enabled setting
"script.auto_reload_enabled" to the new settings infrastructure.
2016-01-27 06:26:04 -05:00
Jason Tedor eb6aaefae5 Script cache expiration setting
This commit converts the script cache expiration setting
"script.cache.expire" to the new settings infrastructure.
2016-01-27 06:26:04 -05:00
Simon Willnauer 21dc50966f Fix compile errors - ingest still used old context and headers APIs 2016-01-27 11:48:03 +01:00
Simon Willnauer 71c3e57aee Merge branch 'master' into trash_context_and_headers 2016-01-27 11:42:42 +01:00
Simon Willnauer f8cb1912af Merge pull request #16238 from s1monw/convert_some_settings
Convert `cluster.routing.allocation.type` and `processors` to the new settings infra.
2016-01-27 11:38:01 +01:00
Simon Willnauer d3db3c6904 Ignore non-grouped tribe settings 2016-01-27 11:36:20 +01:00
Simon Willnauer 0404db65e3 Merge branch 'master' into convert_some_settings 2016-01-27 11:31:00 +01:00
Simon Willnauer 63da9281a9 Merge pull request #16237 from s1monw/validate_tribe_settings
Validate tribe node settings on startup
2016-01-27 11:11:43 +01:00
Simon Willnauer 9cb9bdb736 Merge pull request #16232 from s1monw/use_version_id_in_settings
Use Version#id to parse version from settings.
2016-01-27 11:10:44 +01:00
Jim Ferenczi aea7660e37 Add search_after parameter in the Search API.
The search_after parameter provides a way to efficiently paginate from one page to the next. This parameter accepts an array of sort values, those values are then used by the searcher to sort the top hits from the first document that is greater to the sort values.
This parameter must be used in conjunction with the sort parameter, it must contain exactly the same number of values than the number of fields to sort on.

NOTE: A field with one unique value per document should be used as the last element of the sort specification. Otherwise the sort order for documents that have the same sort values would be undefined. The recommended way is to use the field `_uuid` which is certain to contain one unique value for each document.

Fixes #8192
2016-01-27 09:42:58 +01:00
Adrien Grand 54dd819616 Merge pull request #16179 from jpountz/fix/fail_earlier_on_disabled_fielddata
Make disabled fielddata loading fail earlier.
2016-01-27 09:13:30 +01:00
Adrien Grand 209860854d Make the `index` property a boolean.
With the split of `string` into `text` and `keyword`, the `index` property can
only have two values and should be a boolean.
2016-01-27 09:06:00 +01:00
Adrien Grand 2aaa5e6448 Remove the ability to enable doc values with the `fielddata.format` setting.
Doc values can now only be enabled by setting `doc_values: true` in the
mappings. Removing this feature also means that we can now fail mapping updates
that try to disable doc values.
2016-01-27 09:06:00 +01:00
Adrien Grand 35709f62b6 Be stricter about parsing boolean values in mappings.
Parsing is currently very lenient, which has the bad side-effect that if you
have a typo and pass eg. `store: fasle` this will actually be interpreted as
`store: true`. Since mappings can't be changed after the fact, it is quite bad
if it happens on an index that already contains data.

Note that this does not cover all settings that accept a boolean, but since the
PR was quite hard to build and already covers some main settirgs like `store`
or `doc_values` this would already be a good incremental improvement.
2016-01-27 09:06:00 +01:00
Adrien Grand f959d39ac3 Fix default doc values to be enabled when a field is not indexed.
Doc values currently default to `true` if the field is indexed and not analyzed.
So setting `index:no` automatically disables doc values, which is not explicit
in the documentation.

This commit makes doc values default to true for numerics, booleans regardless
of whether they are indexed. Not indexed strings still don't have doc values,
since we can't know whether it is rather a text or keyword field. This
potential source of confusion should go away when we split `string` into `text`
and `keyword`.
2016-01-27 09:06:00 +01:00
Daniel Mitterdorfer 4bf1e31443 Merge remote-tracking branch 'danielmitterdorfer/deprecate-fuzzy-query' 2016-01-27 08:20:53 +01:00
Martijn van Groningen 15567506b2 ingest: The IngestDocument copy constructor should make a deep copy instead of shallow copy
Closes #16246
2016-01-26 22:44:18 +01:00
Jason Tedor 392814ea6f Shard failure requests for non-existent shards
This commit adds handling on the master side for shard failure requests
for shards that do not exist at the time that they are processed on the
master node (whether it be from errant requests, duplicate requests, or
both the primary and replica notifying the master of a shard
failure). This change is made because such shard failure requests should
always be considered successful (the failed shard is not there anymore),
but could be marked as failed if batched with a shard failure request
that does in fact fail. This avoids the possibility of an unexpected
catastrophic failure while applying the failed shards from causing such
a request to also be marked as failed setting in motion additional
failures.

Closes #16089
2016-01-26 16:36:25 -05:00
Boaz Leskes 82ae74071e logging: cleanup some old TestLogging annotations and add a few debug level by default 2016-01-26 20:48:07 +01:00
Luca Cavanna 426becea44 Merge pull request #16230 from javanna/enhancement/migrate_node_settings
Move node.client, node.data, node.master, node.local and node.mode to new settings infra
2016-01-26 18:16:55 +01:00
Colin Goodheart-Smithe 641aaab896 Merge branch 'master' into feature/aggs-refactoring
# Conflicts:
#	core/src/main/java/org/elasticsearch/common/io/stream/StreamInput.java
#	core/src/main/java/org/elasticsearch/common/io/stream/StreamOutput.java
#	core/src/main/java/org/elasticsearch/search/SearchModule.java
2016-01-26 16:07:17 +00:00
Simon Willnauer daadf8e04f Convert processors to new settings infrastructure 2016-01-26 17:06:35 +01:00
Simon Willnauer 94aa9f3bfc Remove unsupported settings 2016-01-26 17:06:35 +01:00
Simon Willnauer 09d7e9127d Convert `cluster.routing.allocation.type` to new settings infrastructure 2016-01-26 17:06:30 +01:00
Simon Willnauer 429b372edb Validate tribe node settings on startup 2016-01-26 16:19:13 +01:00
Colin Goodheart-Smithe 11bafa18e1 Removes Aggregation Builders in place of AggregatorFactory implementations 2016-01-26 15:13:43 +00:00
Martijn van Groningen 28a9709d7f updated jdocs and removed redundant import 2016-01-26 16:13:24 +01:00
Christoph Büscher 97114af8ae Merge pull request #16014 from cbuescher/refactor/rescore-fromXContent
RescoreBuilder: Add parsing and creating of RescoreSearchContext

Adding the ability to parse from xContent to the rescore builder. Also making RescoreBuilder an abstract base class that encapsulates the window_size setting, with QueryRescoreBuilder as its only implementation at the moment.

Relates to #15559
2016-01-26 15:42:35 +01:00
javanna 9dfcfd5d42 move node.ingest up a few lines 2016-01-26 14:54:41 +01:00
Simon Willnauer cf358e426c Use Version#id to parse version from settings.
When a Version is passed to `Settings#put(String, Version)` it's id is used as
an integer which should also be used to deserialize it on the consumer end.
Today AssertinLocalTransport expects Version#toString() to be used which can lead
to subtile bugs in tests.
2016-01-26 14:53:06 +01:00
Christoph Büscher 664da3fa66 Remove RescoreBuilder interface, rename AbstractRescoreBuilder to RescoreBuilder 2016-01-26 14:41:14 +01:00
javanna 61630c2b27 migrate node.local and node.mode to new Setting infra 2016-01-26 14:40:46 +01:00
javanna 80b74a4885 migrate node.client, node.data and node.master to new Setting infra 2016-01-26 14:40:13 +01:00
Colin Goodheart-Smithe 3b35754f59 Merge branch 'master' into feature/aggs-refactoring
# Conflicts:
#	core/src/test/java/org/elasticsearch/percolator/PercolateDocumentParserTests.java
2016-01-26 13:17:53 +00:00
Martijn van Groningen df0be87b18 Merge pull request #16049 from elastic/feature/ingest
Merge feature/ingest branch into master branch.

This adds the ingest feature to ES that allows to preprocess document before indexing on an ingest node.
By default a node is an ingest node. Documents are preprocessed via a pipeline. A pipeline consists
out of one or more processors Each processor makes one or more modifications to a document processed.
There are many types of processors available out-of-the-box that are designed to make a specific change to a document being processed. In a cluster many pipeline can be configured via dedicated pipeline APIs. An new option on the bulk
and index APIs allows to control what pipeline is picked for preprocessing. If no pipeline is specified then the ingest
feature is skipped and no preprocessing takes place.
2016-01-26 13:41:13 +01:00
Isabel Drost-Fromm 8eb59f302d Merge pull request #16153 from MaineC/deprecation/script-sort-builder
Remove deprecated parameters from ScriptSortBuilder
2016-01-26 11:38:46 +01:00
Isabel Drost-Fromm 80d79c9c11 Remove deprecated parameters
This is in preparation of refactoring.

Relates to #15178
2016-01-26 11:23:59 +01:00
Martijn van Groningen 8b02f214c4 percolator: The percolate api shouldn't add field mappings for unmapped fields inside the document being percolated to the mapping.
Closes #15751
2016-01-26 10:26:46 +01:00
javanna 36d98478bf Merge branch 'master' into feature/ingest 2016-01-25 18:01:09 +01:00
Christoph Büscher 1bc0f7a8d0 Replace RescoreBaseBuilder with AbstractRescoreBuilder
The current RescoreBaseBuilder only serves as a container
for a pair of the optional `window_size` parameter and
the actual rescorer. Instead of a wrapper object, this makes
it an abstract class that conrete implementations like
QueryRescoreBuilder can extend.
2016-01-25 17:02:40 +01:00
Daniel Mitterdorfer b676583ba5 Deprecate fuzzy query
With this commit we deprecate the widely misunderstood
fuzzy query but will still allow the fuzziness
parameter in match queries and suggesters.

Relates to #15760
2016-01-25 15:24:10 +01:00
javanna b99e9cd2b0 Use Setting class to register node.ingest setting
Boolean parsing is now strict. Also added isIngestNode methods to DiscoveryNode to align this setting with the existing node.data node.master and node.client. Removed NodeModule#isIngestEnabled methods that are not needed anymore.
2016-01-25 15:05:00 +01:00
Jason Tedor 4c1e93bd89 Reproducible randoms in SearchWhileCreatingIndexIT
This commit removes non-reproducible randomness from
SearchWhileCreatingIndexIT. The cause of the non-reproducible randomness
is the use of a random draws for the shard preference inside of a
non-deterministic while loop. Because the inner while loop executed a
non-deterministic number of times, the draws for the next iteration of
the outer loop would be impacted by this making the random draws
non-reproducible. The solution is to move the random draws outside of
the while loop (just make a single draw for the prefernce and increment
with a counter), and remove the outer loop iteration instead using an
annotation to get the desired repetitions.

Closes #16208
2016-01-25 08:30:24 -05:00
Colin Goodheart-Smithe d63b8a25f8 Merge branch 'master' into feature/aggs-refactoring 2016-01-25 10:42:59 +00:00
Colin Goodheart-Smithe cd8320b171 Merge branch 'master' into feature/aggs-refactoring
# Conflicts:
#	core/src/main/java/org/elasticsearch/search/aggregations/bucket/filter/FilterAggregator.java
#	core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregator.java
#	core/src/main/java/org/elasticsearch/search/SearchModule.java
2016-01-25 10:42:20 +00:00
Jason Tedor 2de4a7a666 Log shard ID in ShardStateAction
This commit amends the logging statement in two places in
ShardStateAction to log the full shard ID instead of just the numerical
shard ID (without the index name).
2016-01-24 09:54:53 -05:00
Ryan Ernst b349746bbe Fix repro line for tests to use language tag
See https://issues.apache.org/jira/browse/LUCENE-6978

Also fixed date histogram test to use its version constant as a string
setting.
2016-01-22 22:54:49 -08:00
Boaz Leskes 30bfde9a2d Another fix of check for required settings in FsRepository
This time with the right setting
2016-01-22 18:01:27 +01:00
Boaz Leskes dc0fb29ad9 Fix check for required settings in FsRepository 2016-01-22 17:51:17 +01:00
Boaz Leskes ec31feca93 Settings: migrate network service to the new infra
This commit migrates all the settings under network service to the new settings infra.

It also adds some chaining utils to make fall back settings slightly less verbose.

Breaking (but I think acceptable)  - network.tcp.no_delay and network.tcp.keep_alive used to accept the value `default` which make us not set them at all on netty. Our default was true so we weren't using this feature. I removed it and now we only accept a true boolean.
2016-01-22 16:59:07 +01:00
Tanguy Leroux ae5da3432c Migrate repository settings to the new settings API 2016-01-22 16:41:56 +01:00
javanna 38ea9c7d13 Date processor: simplify switch to identify the specified date format 2016-01-22 16:28:04 +01:00
markharwood d371ef35f4 Settings - change over to o.e.common.settings.Setting for http settings:
http.cors.allow-credentials
http.cors.enabled
http.detailed_errors.enabled
http.enabled
http.pipelining
http.cors.max-age
2016-01-22 15:13:11 +00:00
Simon Willnauer 9b3559f473 Remove `test.cluster.node.seed` and special case `tests.portsfile`
* `test.cluster.node.seed` was only used in one place where it wasn't adding value and was now replaced with a constant
 * `tests.portsfile` is now an official setting and has been renamed to `node.portsfile`

this commit also convert `search.default_keep_alive` and `search.keep_alive_interval` to the new settings infrastrucutre
2016-01-22 15:47:32 +01:00
Yannick Welsch 296b48b9d1 Move discovery.* settings to new setting infrastructure
Closes #16182
2016-01-22 15:35:00 +01:00
Simon Willnauer 4c7f3d40e2 Merge pull request #16183 from s1monw/convert_client_settings
Convert client.transport settings to new infra
2016-01-22 15:25:56 +01:00