Commit Graph

10070 Commits

Author SHA1 Message Date
Boaz Leskes 24bc8d331e Recovery: refactor RecoveryTarget state management
This commit rewrites the state controls in the RecoveryTarget family classes to make it easier to guarantee that:
- recovery resources are only cleared once there are no ongoing requests
- recovery is automatically canceled when the target shard is closed/removed
- canceled recoveries do not leave temp files behind when canceled.

Highlights of the change:
1) All temporary files are cleared upon failure/cancel (see #7315 )
2) All newly created files are always temporary
3) Doesn't list local files on the cluster state update thread (which throw unwanted exception)
4) Recoveries are canceled by a listener to IndicesLifecycle.beforeIndexShardClosed, so we don't need to explicitly call it.
5) Simplifies RecoveryListener to only notify when a recovery is done or failed. Removed subtleties like ignore and retry (they are dealt with internally)

Closes #8092 , Closes #7315
2014-10-23 15:06:02 +02:00
Lee Hinman 1557c34f2c [TESTS] Change test node watermarks for DiskThresholdDecider
Ensures that we can still run tests if the machine running them does not
have enough free disk space to be below the high watermark
2014-10-23 14:42:06 +02:00
Simon Willnauer d5c0a49620 [ROUTING] Add rebalance enabled allocation decider
This commit adds the ability to enable / disable relocations
on an entire cluster or on individual indices for either:

 * `primaries` - only primaries can rebalance
 * `replica` - only replicas can rebalance
 * `all` - everything can rebalance (default)
 * `none` - all rebalances are disabled

similar to the allocation enable / disable functionality.

Relates to #7288
2014-10-23 14:07:13 +02:00
Simon Willnauer ed798296a5 [SEARCH] Passing fieddata_fields as a non array causes OOM
If `fielddata_fields` are passed as a simple value instead of an array
we end up in an infinite loop createing parsed elements with null
values.
This commit validates the incoming token

Closes #8203
2014-10-23 14:04:42 +02:00
Alex Ksikes c13f5f21de Term Vectors: support for distributed frequencies
Adds distributed frequencies support for the Term Vectors API. A new parameter
called `dfs` is introduced which defaults to `false`.

Closes #8144
2014-10-23 13:59:59 +02:00
Lee Hinman 19514a2ef4 Enable ClusterInfoService by default
Since we enabled the disk threshold decider by default, we need to
enable the cluster info service so that disk usages and shard sizes can
be gathered also.

Adds a test that checks that we are gathering information by default.
2014-10-23 13:48:48 +02:00
Randy D. Wallace Jr 4539e7adc0 Add EnhancedPatternLayout to logging.yml options 2014-10-23 11:42:51 +01:00
Brian Murphy fb4a32a398 TEST : Disable throttleStats test
This test has been intermittently failing, disabling while I dig into it.
2014-10-23 09:11:10 +01:00
Ryan Ernst 87f41b4c4e Tests: Improve range tests to check inclusive/exclusive on ends.
closes #8199
2014-10-22 15:06:00 -07:00
Ron DuPlain 1664355f32 Startup: Add ES_HOME to ES_INCLUDE search path
With this change, the elasticsearch script can be linked to another path
without having to set ES_INCLUDE to match the installation path.
Previously, the elasticsearch would find ES_HOME correctly even if linked
but could not find the include script, and finding it would be expected
behavior to me based on its current search path.

Closes #4958
2014-10-22 09:37:09 -07:00
Clinton Gormley 5b5c032dee Docs: Fixed typo in MissingFilterBuilder
Closes #8185
2014-10-22 17:34:58 +02:00
Brian Murphy 2ebcbbc66b TEST : Force throttle test to use tiered merge
This commit fixes the failing throttle test by forcing the use of the tiered merge policy.
2014-10-22 16:25:39 +01:00
Brian Murphy 7333694830 Stats : Add time in index throttle to stats.
This commit adds throttle stats to the indexing stats and uses a call back from InternalEngine to manage the stats.
Also includes updates the IndexStatsTests to test for these new stats.
Stats added :
```
throttle_time_in_millis
is_throttled
```

Closes #7861
2014-10-22 14:07:28 +01:00
Simon Willnauer 40945aebcf [CORE] Don't handle FNF exceptions when reading snapshot
We used to handle FNF exceptions in the store when reading a snapshot.
For instance if we can't open a segments file for a given commit point
we just return an empty metadata object and tracelog the even. This can
cause shards to be false marked as corrupted if a shard is forcefully
removed while a recovery started at the same time. We should in general
bubble up these exceptions and let the caller decided how to handle the
IOExceptions.
2014-10-22 13:02:16 +02:00
Clinton Gormley a8b21f2cd5 Update update-settings.asciidoc
Removed deprecated `cluster.routing.allocation.disable` settings
2014-10-22 12:46:33 +02:00
Clinton Gormley 2d0c440b09 Update cluster.asciidoc
Fixed asciidoc syntax
2014-10-22 12:45:10 +02:00
Lee Hinman f7d227e4d5 Make "noop" request breaker a non-dynamic setting
The issue with making it dynamic is that in the event a cluster is
switched from a noop to a concrete implementation, there may be
in-flight requests, once these requests complete we adjust the breaker
with a negative number and trip an assertion.

This also rarely uses noop breakers in InternalTestCluster
2014-10-22 10:53:53 +02:00
Lee Hinman 26bc940101 Make simple_query_string leniency more fine-grained
Previously, the leniency was on a per-query basis, with each query being
parsed into multiple queries, one for each field. If any one of these
queries failed, the entire query was discarded in the name of being
lenient.

Now query parts will only be discarded if they fail for a particular
field, the entire query is not discarded. This helps when performing a
query over a numeric and string field, as only the sub-queries that are
invalid due to format exceptions will be discarded.

Also moves the `simple_query_string` queries out of SimpleQueryTests and
into a dedicated SimpleQueryStringTests class.

Fixes #7967
2014-10-22 10:31:34 +02:00
Martijn van Groningen ec86d2cd3e Aggregations: the `children` agg didn't take deleted document into account.
The live docs that is passed down was ignored by the filter impl. Now the children filter gets wrapped with ApplyAcceptedDocsFilter, so live docs are actually applied.

Closes #8180
2014-10-22 10:20:25 +02:00
Martijn van Groningen 25accbcd50 Core: Forget to move the child filter over to fixed bitset filter.
Closes #8171
2014-10-22 10:17:50 +02:00
Martijn van Groningen 7594ccbae6 Core: Add warmer listener only when index service is set, in order to prevent possible NPE.
The IndicesWarmer gets set before the InternalIndexService gets set, which can lead to a small time window were InternalIndexService isn't set

Closes #8140
Closes #8168
2014-10-22 10:12:55 +02:00
Martijn van Groningen d6f1ff0150 Test: Fix expected error message 2014-10-22 10:06:10 +02:00
Martijn van Groningen 319878eb1e Parent/child: Check if there is a search context, otherwise throw a query parse exception.
Also added a bwc test that runs a delete by query with a has_child query and verifies that only that operation is ignored when recovering from disk during a upgrade.

Closes #8031
Closes #8177
2014-10-22 09:49:37 +02:00
Ryan Ernst 1258401ba8 Tests: Add forgotten portions of the fix to make the upgrade test not do
reallcations at the wrong time.
2014-10-21 11:59:41 -07:00
Chris Earle eee0cf0996 Merge pull request #8183 from pickypg/feature/groovy-jdk7-8182
Use groovy-x.y.z-indy jar for better scripting performance
2014-10-21 14:14:51 -04:00
Chris Earle 60c16ba92c Use groovy-x.y.z-indy jar for better scripting performance
Using the Groovy jar with the indy (short for `invokedynamic`) classifier enables usage of the `invokedynamic` instruction available in Java 7+. Due to buggy JVMs, it should only be used with Java 7u60 or later.
2014-10-21 13:08:08 -04:00
Ryan Ernst 189d432221 Tests: Control reallocation in upgrade test to stop rebalancing causing upgrade requests to be lost. 2014-10-21 09:18:10 -07:00
Brian Kim 58086dd08b Docs: missing quote
fix missing quote

Closes #8176
2014-10-21 12:52:12 +02:00
Adrien Grand 3728c94780 Tests: Fix SearchFieldsTests after changes to TimestampFieldMapper. 2014-10-21 10:42:54 +02:00
Peter Dyson b984cb771f Docs: Provide example of deleting a repository
Example of deleting a repository with explanation that snapshots themselves are left untouched.

Closes #8172
2014-10-21 10:10:03 +02:00
Andrei Kolosok c31a783930 Docs: Update filtered-query.asciidoc
Fix mistyping

Closes #8167
2014-10-21 09:45:19 +02:00
Andrei Kolosok 92abfc8e24 Docs: Update minimum-should-match.asciidoc
Add %-sign to examle in the last section

Closes #8157
2014-10-21 09:43:55 +02:00
Reuben Sutton 645ce26287 Change IndexPrimaryShardNotAllocatedException from 409 (RestStatus.CONFLICT) to 500 (RestStatus.INTERNAL_SERVER_ERROR)
Closes #7632, Closes #7987
2014-10-20 21:09:51 +02:00
Mark J Greene d5e813929c Boostrap: Log startup exception to console if needed and to file as error
Closes #6581
2014-10-20 20:48:37 +02:00
Ryan Ernst 3323ac1579 Tests: Adding additional debug info to upgrade test. 2014-10-20 11:26:56 -07:00
Erik Wyatt 6dac6ecd93 Parent/child: Reduce memory usage in top children query.
Closes #8165
Closes #8160
2014-10-20 19:41:39 +02:00
David Pilato 0ff61e1d6f Add time_zone setting for query_string
Query String query now supports a new `time_zone` option based on JODA time zones.
When using a range on date field, the time zone is applied.

```json
{
"query": {
  "query_string": {
    "text": "date:[2012 TO 2014]",
    "timezone": "Europe/Paris"
  }
 }
}
```

Closes #7880.
2014-10-20 19:09:45 +02:00
Lee Hinman 65d40468b8 Raise maximum index name length to 255 bytes
Fixes #8079
2014-10-20 15:44:20 +02:00
Boaz Leskes 0146653b92 Test: RelocationTests.testMoveShardsWhileRelocation should wait on nodes to start before asking for a client
The client call may create another node if none of the previous nodes are published. That node throws the test off.
2014-10-20 15:11:15 +02:00
Adrien Grand 230c6684a9 Search: Remove partial fields.
Partial fields have been deprecated since 1.0.0Beta1 in favor of _source
filtering. They will be removed in 2.0.
2014-10-20 12:29:30 +02:00
Adrien Grand f4ee3f25e4 Mappings: Store _timestamp by default.
Storing `_timestamp` by default means that under the default configuration, you
would have all the information you need in order to reindex into a different
index.

Close #8139
2014-10-20 12:17:26 +02:00
Adrien Grand a64a5c148b Eclipse: do not use star imports and reorganize imports on save.
Close #7587
2014-10-20 12:16:50 +02:00
Clinton Gormley 4da62a33b5 Update plugins.asciidoc
Added Vietnamese Analyser to plugins page

Closes #6647
2014-10-20 11:56:01 +02:00
Lee Hinman 34503b8d61 [TESTS] Add a benchmark for circuit breaker overhead 2014-10-20 11:19:40 +02:00
Lee Hinman 1c4d07c96f Allow setting individual breakers to "noop" breakers
This adds a NoopCircuitBreaker, and then adds the settings
`indices.breaker.fielddata.type` and `indices.breaker.request.type`,
which can be set to "noop" in order to use a breaker that will never
break, and incurs no overhead during computation.

This also refactors the tests for the CircuitBreakerService to use
@Before and @After functions as well as adding settings in
ElasticsearchIntegrationTest to occasionally use NOOP breakers for all
tests.
2014-10-20 10:43:41 +02:00
Ryan Grimm 74586e2867 Docs: Added 'd' to the list of supported units.
Day was missing from the list of supported units in the date math section.

Closes #8151
2014-10-19 21:24:28 +02:00
Michael McCandless f4202652b1 Tests: re-enable these tests 2014-10-19 04:40:29 -04:00
Michael McCandless 3e455828f9 Test: ignore this for now 2014-10-18 15:01:49 -04:00
Michael McCandless 67974c5146 Test: ignore this for now 2014-10-18 14:58:34 -04:00
Michael McCandless 85065f9c8e Core: cutover to Lucene's query rescorer
This is functionally equivalent to before, so there should be no
user-visible impact, except I added a NOTE in the docs warning about
the interaction of pagination and rescoring.

Closes #6232

Closes #7707
2014-10-18 05:25:50 -04:00