5264 Commits

Author SHA1 Message Date
Britta Weber
be7c75c745 function score: fix cast in Gaussian decay function
Also fix the test
FunctionScoreTests#simpleWeightedFunctionsTestWithRandomWeightsAndRandomCombineMode
which sometimes failed due to rounding issues. Make sure
only floats are returned as scores to assure ratio of
expected and returned score is 1.0f.
2014-09-15 11:46:20 +02:00
Boaz Leskes
3142fec206 Test: ZenUnicastDiscoveryTests.testNormalClusterForming should start unicast hosts first
The test starts a cluster with random nodes as unicast hosts but *doesn't* use min_master_nodes. If the unicast hosts are started last, nodes may elect themselves as master as they do not have mechanism yet to share information.
2014-09-15 11:23:12 +02:00
javanna
8cf922bf9e Internal: make sure that original headers are used when executing search as part of put warmer
Closes #7711
2014-09-15 09:32:17 +02:00
javanna
ec5ceecb97 [TEST] Expose ability to provide http headers when sending requests in our REST tests
ElasticsearchRestTests has now a `restClientSettings` method that can be overriden to provide headers as settings (similarly to what we do with transport client). Those headers will be sent together with every REST requests within the tests.

Closes #7710
2014-09-15 09:30:45 +02:00
Boaz Leskes
f96bfd3773 Tests: added trace action.search.type to GeoBoundsTests 2014-09-12 20:16:42 +02:00
Britta Weber
5a8ebab96e [TEST] Fix test explain now that explanation is fixed 2014-09-12 18:12:34 +02:00
Philipp Jardas
5e0f67b516 Fixed explanation for GaussDecayFunction
The explanation now gives the correct value instead of the negative.
2014-09-12 18:12:34 +02:00
Martijn van Groningen
91144fc92f Parent/child: If a p/c query is wrapped in a query filter then CustomQueryWrappingFilter must always be used and any filter wrapping the query filter must never be cached.
Closes #7685
2014-09-12 17:22:07 +02:00
markharwood
3c8f8cc090 Aggs enhancement - allow Include/Exclude clauses to use array of terms as alternative to a regex
Closes #6782
2014-09-12 15:28:03 +01:00
Lee Hinman
3e589cd25b [TEST] Additional logging info for node with primary 2014-09-12 15:42:41 +02:00
Colin Goodheart-Smithe
722ff1f56e [TEST] added trace logging for index recovery in GeoBoundsTests 2014-09-12 13:23:45 +01:00
Boaz Leskes
1002ff2f15 Discovery: restore preference to latest unicast pings describing the same node
Closes #7702
2014-09-12 14:02:43 +02:00
Colin Goodheart-Smithe
f8d75faaad Geo: Fixes BoundingBox across complete longitudinal range
Adds a special case to the GeoBoundingBoxFilterParser so that the left of the box is not normalised in the case where left and right are 360 apart.  Before this change the left would be normalised to 180 in this case and the filter would only match points with a longitude of 180 (or -180).

Closes #5128
2014-09-12 10:09:02 +01:00
Colin Goodheart-Smithe
2837800500 [TEST] Adds tests for GeoUtils 2014-09-12 09:43:25 +01:00
Boaz Leskes
1bd2a491d1 Tests: add a comment to DiscoveryWithServiceDisruptions.testAckedIndexing reminding to port it to 1.x once the awaitFix is removed 2014-09-12 10:35:18 +02:00
Boaz Leskes
5b461454c2 Tests: add an awaitFix to IndicesLifecycleListenerTests 2014-09-12 10:24:55 +02:00
Simon Willnauer
a3f2677b70 [CORE] Ensure GroupShardsIterator is consistent across requests
GroupShardsIterator is used in many places like the search execution
to determin which shards to query. This can hold shards of one index
as well as shards of multiple indices. The iteration order is used
to assigne a per-request shard ID for each shard that is used as a
tie-breaker when scores are the same. Today the iteration order is
soely depending on the HashMap iteration order which is undefined or
rather implementation dependent. This causes search requests to return
inconsistent results across requests if for instance different nodes
are coordinating the requests.

Simple queries like `match_all` may return results in arbitrary order
if pagination is used or may even return different results for the same
request even though there hasn't been a refresh call and preferences are
used.
2014-09-12 07:33:07 +02:00
Simon Willnauer
929a4a54f7 [VERSION] Added Version [1.5.0] 2014-09-11 22:38:03 +02:00
Simon Willnauer
b9ee915763 [Version] Add Version 1.4.0-Beta 2014-09-11 22:10:19 +02:00
Simon Willnauer
a0e9951e8a [STORE] Turn unexpected exception into CorruptedIndexException
Today if we run into exception like NumberFormatException or IAE
when we try to open a commit point to retrieve checksums and calculate
store metadata we just bubble them up. Yet, those are very likely index
corruptions. In such a case we should really mark the shard as
corrupted.
2014-09-11 21:15:02 +02:00
Britta Weber
9b5497f6ca [TEST] fix another rounding issue 2014-09-11 19:49:51 +02:00
Simon Willnauer
b0a377bae8 [TEST] Use a sorted set since sets are compared and compare is order specific 2014-09-11 17:42:37 +02:00
javanna
7e0481d906 More Like This API: remove unused search_query_hint parameter
Closes #7691
2014-09-11 17:34:54 +02:00
Martijn van Groningen
d0300b3f59 Aggregations top_hits: Fixed inconsistent sorting of the hits
In the reduce logic of the top_hits aggregation if the first shard result to process contained has no results then the merging of all the shard results can go wrong resulting in an incorrect sorted hits.
This bug can only manifest with a sort other than score.

Closes #7697
2014-09-11 17:26:22 +02:00
Simon Willnauer
3ef6860679 [STORE] Improve exception from Store.failIfCorrupted
If you have previously corrupted files, this method currently builds an
exception like:
```
    failed engine [corrupted preexisting index]
    failed to start shard
```

Followed by a CorruptIndexException. This commit writes the entire
stacktrace to provide additional information. It also changes the
failure message from `corrupted preexisting index` to `preexisting
corrupted index` to prevent confusion.

Closes #7596
2014-09-11 17:11:48 +02:00
Simon Willnauer
595472014e [TEST] Use a real unique clustername for InternalTestClusterTests 2014-09-11 16:20:51 +02:00
Martijn van Groningen
f8e93fa2aa Test: Let both types have a non_analyzed id field. 2014-09-11 15:20:28 +02:00
javanna
fd6798df69 [TEST] parse response body as json depending on the content-type in our REST tests 2014-09-11 14:32:59 +02:00
javanna
4ab268bab2 Internal: refactor copy headers mechanism to not require a client factory
With #7594 we replaced the static `BaseRestHandler#addUsefulHeaders` by introducing the `RestClientFactory` that can be injected and used to register the relevant headers. To simplify things, we can now register relevant headers through the `RestController` and remove the `RestClientFactory` that was just introduced.

Closes #7675
2014-09-11 13:18:08 +02:00
Colin Goodheart-Smithe
8720a4dcd2 [TEST] added exception for GET index API to bwc tests 2014-09-11 11:59:17 +01:00
Colin Goodheart-Smithe
5fe782b784 Indices API: Added GET Index API
Returns information about settings, aliases, warmers, and mappings. Basically returns the IndexMetadata. This new endpoint replaces the /{index}/_alias|_aliases|_mapping|_mappings|_settings|_warmer|_warmers and /_alias|_aliases|_mapping|_mappings|_settings|_warmer|_warmers endpoints whilst maintaining the same response formats.  The only exception to this is on the /_alias|_aliases|_warmer|_warmers endpoint which will now return a section for 'aliases' or 'warmers' even if no aliases or warmers exist. This backwards compatibility change is documented in the reference docs.

Closes #4069
2014-09-11 11:19:21 +01:00
Boaz Leskes
a50934ea3e Resiliency: Master election should demotes nodes which try to join the cluster for the first time
With the change in #7493,  we introduced a pinging round when a master nodes goes down. That pinging round helps validating the current state of the cluster and takes, by default, 3 seconds. It may be that during that window, a new node tries to join the cluster and starts pinging (this is typical when you quickly restart the current master).  If this node gets elected as the new master it will force recovery from the gateway (it has no in memory cluster state), which in turn will cause a full cluster shard synchronisation. While this is not a problem on it's own, it's a shame. This commit demotes "new" nodes during master election so the will only be elected if really needed.

Closes #7558
2014-09-11 11:19:10 +02:00
Simon Willnauer
8618d3624a Add inline comment to prevent confusion 2014-09-11 11:07:23 +02:00
Boaz Leskes
6849fd0378 Translog: remove unused stream
Closes #7683
2014-09-11 10:00:06 +02:00
Adrien Grand
ccb3d21781 Bulk UDP: Removal.
This feature is rarely used. Removing it will help reduce the moving parts
of Elasticsearch and focus on the core.

Close #7595
2014-09-11 09:52:09 +02:00
Adrien Grand
8bafb5fc8e Core: Use FixedBitSetFilterCache for delete-by-query.
Leftover from #7037.
Close #7581
2014-09-11 09:35:25 +02:00
Martijn van Groningen
144af9c910 Test: Fields in percolator query must exist before percolating 2014-09-10 19:01:55 +02:00
Colin Goodheart-Smithe
dc30bb0ea7 [TEST] Added logging of response to aid debugging 2014-09-10 17:24:22 +01:00
Colin Goodheart-Smithe
76082182aa [TEST] added more information to fail message for a test to debug test failure 2014-09-10 17:24:22 +01:00
Martijn van Groningen
dbfac659f9 Aggregation top_hits: Move sort resolution to the reduce method, so it is always guaranteed to be invoked. 2014-09-10 17:51:07 +02:00
Boaz Leskes
bb1dfbfa42 missing logging brackets 2014-09-10 16:07:15 +02:00
Boaz Leskes
7d80db7c2c Gateway: added trace logging to translog recovery logic
Enabled it in SimpleRecoveryLocalGatewayTests
2014-09-10 16:02:44 +02:00
Boaz Leskes
4f8ddd97bf [Rest] reroute API response didn't filter metadata
By default the reroute API should return the new cluster state, excluding the metadata. It was however it was wrongly using an old parameter (filter_metadata) and thus failed to do so. This commits restores but wiring it to the correct `metric` parameter. We also add an enum representing the possible metrics, to avoid similar future mistakes.

Closes #7520
Closes #7523
2014-09-10 14:48:06 +02:00
Martijn van Groningen
ab555e0a33 Test: Added more assertions 2014-09-10 14:45:46 +02:00
Boaz Leskes
09db2e2a27 Tests: log when an ensure green/yellow comes back
Also added some trace logging to SimpleRecoveryLocalGatewayTests
2014-09-10 14:42:35 +02:00
Boaz Leskes
fc89316b1b Store: improved trace logging for shard active requests 2014-09-10 12:35:09 +02:00
Boaz Leskes
18f58682e7 Tests: add logging to LocalGatewayIndexStateTests 2014-09-10 12:29:00 +02:00
javanna
5bea31cb96 Internal: refactor copy headers mechanism
The functionality of copying headers in the REST layer (from REST requests to transport requests) remains the same. Made it a bit nicer by introducing a RestClientFactory component that is a singleton and allows to register useful headers without requiring static methods.

Plugins just have to inject the RestClientFactory now, and call its `addRelevantHeaders` method that is not static anymore.

Relates to #6513
Closes #7594
2014-09-10 12:05:53 +02:00
Martijn van Groningen
6f763bded9 Test: Enabled ChildrenTests#testParentWithMultipleBuckets with more logging 2014-09-10 11:19:30 +02:00
Simon Willnauer
cb839b56b2 [ThreadPool] Use DirectExecutor instead of deprecated API
Guava deprecated MoreExecutors#sameThreadExecutor in favour of
a more efficient implemenation. We should move over to the new impl.
2014-09-10 09:36:30 +02:00