Commit Graph

4426 Commits

Author SHA1 Message Date
Boaz Leskes b8227a7222 Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip #17288
discovery.zen.minimum_master_nodes is the single most important setting to set on a production cluster. We have no way of supplying a good default so it must be set by the user. Binding a node to a public IP (as opposed to the default local host) is a good enough indication that a node will be part of a production cluster cluster and thus it's a good tradeoff to enforce the settings. Note that nothing prevent users from setting it to 1 in a single node cluster.

Closes #17288
2016-03-25 12:56:20 +01:00
Boaz Leskes fe43eef1b5 Port Primary Terms to master #17044
Primary terms is a way to make sure that operations replicated from stale primary are rejected by shards following a newly elected primary.

Original PRs adding this to the seq# feature branch #14062 , #14651 . Unlike those PR, here we take a different approach (based on newer code in master) where the primary terms are stored in the meta data only (and not in `ShardRouting` objects).

Relates to #17038

Closes #17044
2016-03-25 12:01:00 +01:00
Tal Levy cabc4b1636 add on_failure exception metadata to ingest document for verbose simulate 2016-03-24 16:11:47 -07:00
Nik Everett 584ba6133d Remove PROTOTYPE from RescorerBuilders
This changes the serialization order for QueryRescorerBuilder's but
that is ok because 5.0.0 doesn't need to be wire compatible with anything.
2016-03-24 13:04:37 -04:00
Nik Everett 5e8656aff0 Throw an exception if Writeable.Reader reads null
If a Writeable.Reader returns null it is always a bug, probably one that
will cause corruption in the StreamInput it was trying to read from. This
commit adds a check that attempts to catch these errors quickly including
the name of the reader.
2016-03-24 13:02:22 -04:00
Boaz Leskes 6dd164d0bd Include pings from client nodes in master election
We currently have a `discovery.zen.master_election.filter_client` setting that control whether their ping responses are ignored for master election (which is the current default). With the push to treat client nodes as normal nodes (and promote the transport/rest clients for client work), this should be changed. This commit remove this setting and it's companion `discovery.zen.master_election.filter_data` setting (currently defaulting to  false) in favor of singe `discovery.zen.master_election.ignore_non_master_pings` setting with more intuitive name (defaulting to false).

Resolves #17325
Closes #17329
2016-03-24 17:48:05 +01:00
Simon Willnauer d0413f0f0e Merge pull request #17327 from s1monw/harden_test
Improve test to not rely on thread slowness

We have to swap the second latch before we count it down otherwise
threads might be faster than the test. This has happend on a recent
CI failure: https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+master+multijob-os-compatibility/os=ubuntu/121/console

This commit also adds a synchronized on the close method since it's
canceling and modifying a member varialbe that is assigned under lock.
2016-03-24 16:51:48 +01:00
Simon Willnauer f81fb89ea5 simplify test to not use lambda at all 2016-03-24 16:48:50 +01:00
Simon Willnauer 49d868b491 Improve test to not rely on thread slowness
We have to swap the second latch before we count it down otherwise
threads might be faster than the test. This has happend on a recent
CI failure: https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+master+multijob-os-compatibility/os=ubuntu/121/console

This commit also adds a synchronized on the close method since it's
canceling and modifying a member varialbe that is assigned under lock.
2016-03-24 16:30:34 +01:00
Nik Everett 93ab4cfc99 Stop using PROTOTYPE in NamedWriteableRegistry
readFrom is confusing because it requires an instance of the type that it
is reading but it doesn't modify it. But we also have (deprecated) methods
named readFrom that *do* modify the instance. The "right" way to implement
the non-modifying readFrom is to delegate to a constructor that takes a
StreamInput so that the read object can be immutable. Now that we have
`@FunctionalInterface`s it is fairly easy to register things by referring
directly to the constructor.

This change modifying NamedWriteableRegistry so that it does that. It keeps
supporting `registerPrototype` which registers objects to be read by
readFrom but deprecates it and delegates it to a new `register` method
that allows passing a simple functional interface. It also cuts Task.Status
subclasses over to using that method.

The start of #17085
2016-03-24 11:26:44 -04:00
javanna ce86fc5647 Cluster Stats: remove mem section
The available memory metric was always set to `0` since 2.0.beta1 (bug).  was left behind but never set. Turns out the section wasn't that useful, as it would only output the total memory available throughout all nodes in the cluster. We decided to remove the section then.
2016-03-24 15:49:27 +01:00
Jason Tedor f522fa1df3 Settings loader local variables can be final 2016-03-24 10:25:46 -04:00
Jason Tedor ad5438a6a9 Use expectThrows in YamlSettingsLoaderTests
This commit refactors the unit tests in YamlSettingsLoaderTests to use
exceptThrows for simplification.
2016-03-24 10:14:04 -04:00
Jason Tedor 84a308db80 Fix line-length issues in YamlSettingsLoaderTests
This commit fixes a line-length checkstyle violation in
YamlSettingsLoaderTests.java and removes this file from the checkstyle
line-length suppressions.
2016-03-24 10:14:04 -04:00
Jason Tedor f9500b1d6a Use expectThrows in JsonSettingsLoaderTests
This commit refactors the unit tests in JsonSettingsLoaderTests to use
exceptThrows for simplification.
2016-03-24 10:14:03 -04:00
Jason Tedor 7841b439ec Fix line-length issue in JsonSettingsLoaderTests
This commit fixes a line-length checkstyle violation in
JsonSettingsLoaderTests.java and removes this file from the checkstyle
line-length suppressions.
2016-03-24 10:14:03 -04:00
Jason Tedor ca5e48d39a Test that NoDuplicatesProperties throws for null value
This commit adds a test that NoDuplicatesProperties throws a
NullPointerException if an attempt is made to put a key that corresponds
to a null value. This behavior ultimately comes from the super class
Properties but the test ensures that we retain this behavior.
2016-03-24 09:47:01 -04:00
Jason Tedor cf92151513 Fix line-length issue in PropertiesSettingsLoader
This commit fixes a line-length checkstyle violation in
PropertiesSettingsLoader.java and removes this file from the checkstyle
line-length suppressions.
2016-03-24 09:47:01 -04:00
Jason Tedor c0fa00a2fd Use expectThrows in PropertiesSettingsLoaderTests
This commit refactors the unit tests in PropertiesSettingsLoaderTests to
use exceptThrows for simplification.
2016-03-24 09:47:01 -04:00
Jason Tedor 7323c37339 Refactor PropertiesSettingsLoader
This commit refactors PropertiesSettingsLoader to remove some duplicate
code.
2016-03-24 09:44:21 -04:00
Jason Tedor bb364cc793 Merge pull request #17310 from jasontedor/null-valued-settings
Add guard against null-valued settings
2016-03-24 07:53:58 -04:00
Jason Tedor 0c1b15f617 Clarify Javadocs for SettingsLoaderFactory 2016-03-24 07:45:39 -04:00
Jason Tedor f4db2e2691 Mark two local variables as final in PSLT.java 2016-03-24 07:36:45 -04:00
Jason Tedor 4d27328a83 Reverse meaning of XContentSettingsLoader flag
The sole constructor of XContentSettingsLoader accepts a boolean flag
that indicates whether or not null values parsed from the source should
be rejected or not. Previously a true value for this flag meant that
null values should be rejected. With this commit, the meaning of this
flag is reversed so that a true value means that null values should be
accepted (note that this is needed due to the way that settings are
unset via the cluster update settings API). The name of this flag has
been changed from guardAgainstNullValuedSettings to allowNullValues, for
clarity.
2016-03-24 07:35:57 -04:00
Martijn van Groningen 9399f673d1 percolator: Add support to extract terms from TermsQuery 2016-03-24 10:25:30 +01:00
Adrien Grand e5074e2b1b Make `parseMultiField` part of `parseField`. #17313
All our fields are supposed to support multi fields, so we could put the logic in
`TypeParsers.parseField` instead of duplicating the logic in every type parser.
2016-03-24 10:15:04 +01:00
Jim Ferenczi da42f199bd Enforce isolated mode for all plugins
This commit removes the isolated option, each plugin have its own classloader.
2016-03-24 09:17:33 +01:00
Alexander Reelsen 69b71e66f3 Fix compilation error 2016-03-24 08:49:36 +01:00
Alexander Reelsen b2573858b6 Version: Set version to 5.0.0-alpha1
Change version, required a minor fix in the RPM building.
In case of a alpha/beta version, the release will contain alpha/beta
as the RPM version cannot contains dashes/tildes.
2016-03-24 08:36:08 +01:00
Igor Motov 8202bf212c Don't wait for completion of list tasks tasks when wait_for_completion flag is set
Waiting for completion of list tasks tasks can cause an infinite loop of a list tasks task waiting for its own completion or completion of its children. To reproduce run:

```
curl "localhost:9200/_tasks?wait_for_completion"
```
2016-03-23 23:00:15 -04:00
Jason Tedor 4aa5426361 Add guard against null-valued settings
This commit adds a guard against null-valued settings that are loaded
from yaml or json settings files, and also adds a test that ensures
the same remains true for settings loaded from properties files.
2016-03-23 22:35:50 -04:00
Igor Motov 201fc06f8d Fix TaskId#isSet to return true when id is set and not other way around
During refactoring the name was changed, but the logic wasn't. This commit fixes the logic to match the name.
2016-03-23 18:52:22 -04:00
Jason Tedor 7d7faa7fcc Merge pull request #17293 from jasontedor/property-placeholder-null-value
Useful error message for null property placeholder
2016-03-23 18:45:14 -04:00
Jason Tedor 17dd60dd31 Merge pull request #17208 from jasontedor/install-plugin-permissions
Install plugin permissions
2016-03-23 18:44:47 -04:00
Areek Zillur e16e113691 Remove suggest threadpool
In #17198, we removed suggest transport action, which
used the `suggest` threadpool to execute requests. Now
`suggest` threadpool is unused and suggest requests are
executed on the `search` threadpool.
2016-03-23 18:01:45 -04:00
Areek Zillur b1ceaaddf4 remove dead code 2016-03-23 16:37:57 -04:00
Areek Zillur de78621c95 simplify handling suggest-only search request 2016-03-23 16:37:56 -04:00
Areek Zillur 59513b308e rename to isSuggestOnly 2016-03-23 16:37:56 -04:00
Areek Zillur 91dd9b3301 Merge suggest stats into search stats 2016-03-23 16:37:56 -04:00
Areek Zillur ed49ec437f remove suggest transport action 2016-03-23 16:37:56 -04:00
Areek Zillur 0eb2032189 Disable DFS search types and request caching for suggest-only requests 2016-03-23 16:37:56 -04:00
Areek Zillur b0437c3f22 Optimize search execution for suggest-only requests
We skip context preprocessing and only execute
suggest phase for suggest-only requests
2016-03-23 16:37:56 -04:00
Areek Zillur 5ed2bb5f18 [REST] use search transport for suggest rest endpoint 2016-03-23 16:37:56 -04:00
Jason Tedor 0647638a99 Guard against null key for property placeholder 2016-03-23 14:57:01 -04:00
Ryan Ernst 6e74d1d0c9 Merge pull request #17289 from rjernst/cli-args
Cli: Reject positional argument for bin/elasticsearch
2016-03-23 11:53:32 -07:00
Ryan Ernst 0fe6c9f3b4 Add elasticsearch cli test for options plus illegal args 2016-03-23 11:52:25 -07:00
David Pilato 6e80b5f2dd Merge branch 'fix/17244-s3-chunk-buffer-sizes' 2016-03-23 18:51:54 +01:00
Jason Tedor 0654b84d2c Useful error message for null property placeholder
This commit adds the key to the error message when encountering a
missing property placeholder.
2016-03-23 13:25:39 -04:00
Jason Tedor 3f73ef9aa4 Protect max size virtual memory check from Windows 2016-03-23 12:35:01 -04:00
Ryan Ernst f91a046b6f Cli: Reject positional argument for bin/elasticsearch
This exits with a usage error when bin/elasticsearch recieves any
positional args.

closes #17287
2016-03-23 09:03:29 -07:00