4062 Commits

Author SHA1 Message Date
javanna
c69c66bb7a fixed MetaData#concreteIndices to throw exception with a single index argument in case allowNoIndices == false and ignoreUnavailable == true
Closes #6137
2014-05-12 23:26:29 +02:00
mikemccand
00fcf4d560 #6081: set IO throttling back to 20 MB/sec now that #6018 is fixed 2014-05-12 14:42:26 -04:00
mikemccand
254ebc2f88 #6120 Remove SerialMergeScheduler (master only)
It's dangerous to expose SerialMergeScheduler as an option: since it only allows one merge at a time, it can easily cause merging to fall behind.

Closes #6120
2014-05-12 14:06:20 -04:00
mikemccand
eae304aa39 5882: put back Elasticsearch's 1.1 defaults for ConcurrentMergeScheduler 2014-05-12 13:22:33 -04:00
Britta Weber
4b2e4becc7 Check if root mapping is actually valid
When a mapping is declared and the type is known from the uri
then the type can be skipped in the body (see #4483). However,
there was no check if the given keys actually make a valid mapping.

closes #5864
closes #6093
2014-05-12 18:36:14 +02:00
Adrien Grand
caacce9429 [TESTS] Improve BenchmarkIntegrationTest's check that percentiles are increasing.
Percentiles are supposed to be monotonically increasing but floating-point
rounding issues can come into play and make the test fail if checks are too
strict.
2014-05-12 17:21:11 +02:00
Shay Banon
78e39882ee Allow to change concurrent merge scheduling setting dynamically
Allow to change the concurrent merge scheduler settings dynamically using the update settings API
closes #6098
2014-05-12 07:33:31 -07:00
Adrien Grand
6d9da390ed [TESTS] Fix MinDocCountTests.
The new include/exclude support for global ordinals didn't exclude terms in
`buildAggregation` (which is required if minDocCount is 0).
2014-05-12 15:45:29 +02:00
javanna
9361305177 [TEST] made catch request more accurate in REST tests runner
Excluded 404, 403 and 409 status codes from the catch request as they have their own specific catch codes
2014-05-12 14:29:56 +02:00
Martijn van Groningen
64c43c6dc0 Made the include and exclude support for terms and significant terms aggregations based on global ordinals.
Closes #6000
2014-05-12 13:14:13 +02:00
javanna
7980911d96 restored @Test annotation in SimpleValidateQueryTests 2014-05-12 12:52:48 +02:00
Alex Marandon
d1ddbd2c51 Detect unsupported fields after query in validate query api
The validate API was failing to reject JSON input that had unsupported
fields placed after a supported field. This was causing invalid requests
to be reported as valid.

Fixes #5685
2014-05-12 12:49:25 +02:00
javanna
3d63bac51d Fixed validate query parsing issues
Made sure that a match_all query is used when no query is specified and ensure no NPE is thrown either.
Also used the same code path as the search api to ensure that alias filters are taken into account, same for type filters.

Closes #6111 Closes #6112 Closes #6116
2014-05-12 12:49:25 +02:00
Alex Ksikes
513f25ae97 More Like This: Fix correct use of size and from parameters
More Like This API would not take into account 'size' and 'from' in request body parameters.
Instead these values would always be overriden by the default values of REST parameters
'search_size' and 'search_from'.

Closes #5981
2014-05-12 12:30:04 +02:00
Martijn van Groningen
d4d6c3459e [TEST] Make sure all shards are allocated before the delete type is being executed. 2014-05-12 11:59:09 +02:00
Adrien Grand
ebfab19400 [TESTS] Disable BenchmarkIntegrationTest#testSubmitBenchmark until it is fixed. 2014-05-12 11:30:01 +02:00
Martijn van Groningen
145efbf6ea Return missing (404) is a scroll_id is cleared that no longer exists.
Closes #5730
2014-05-12 09:43:56 +02:00
Adrien Grand
51de01bae5 [TESTS] Tentative fix of BigArrays byte-accounting checks. 2014-05-12 09:25:49 +02:00
cccabot
58ebcf1252 Fixed typos in FieldSortBuilder 2014-05-10 02:57:51 +02:00
Andrew Selden
48879752a2 [TEST] Fix for benchmark tests
- Fix bug where repeatedly calling computeSummaryStatistics() could
  accumulate some values incorrectly
- Fix check for number of responsive nodes on list is <= number of
  candidate benchmark nodes
- Add public getters for summary statistics
- Add javadoc for new getters
- Add javadoc comments about API use
- Improve abort and status tests by calling awaitBusy() to wait for jobs
  to be completely submitted before testing them
2014-05-09 16:01:57 -07:00
mikemccand
5e40a4b95a don't call isFinite from XAnalyzingSuggester; re-enable test on Java 8 2014-05-09 18:24:13 -04:00
javanna
6678da8c28 [TEST] randomly added node.bench=true to client node in test cluster and re-enabled REST benchmark tests based on number of bench nodes available
In our REST tests we already have support for features and skip sections that allow to skip tests if a feature is not supported.
We can then add a skip section based on the benchmark feature to the benchmark tests and execute them only when they are supported, knowing that they need at least a node with node.bench settings within the cluster. We can check that this requirement is met by calling the nodes info api.

This way we can dynamically decide whether to execute those tests or not and we don't need to have a node.bench around all the time. In fact, given that the REST tests use the GLOBAL cluster, we want to be able to randomize settings as much as possible and run tests against default settings as well. Also, this mechanism can be easily supported by the external cluster implementation that is used during the release process.

Introduced ability to disable benchmark nodes which is needed by BenchmarkNegativeTest.
2014-05-09 23:36:00 +02:00
Alex Ksikes
d8bb7c157a [TEST] Removed the restriction on the number of bool clauses that must match.
The test failed because 'percent_terms_to_match' defaults to 0.3, which results
in requiring that some terms only found in the queried document must match, when
all the documents are on the same shard.
2014-05-09 19:14:32 +02:00
Lee Hinman
e7e4ef859a Add /_cat/fielddata to display fielddata usage
Closes #4593
2014-05-09 13:18:02 +02:00
Alex Ksikes
dae48d9fe8 Added the ability to include the queried document for More Like This API.
By default More Like This API excludes the queried document from the response.
However, when debugging or when comparing scores across different queries, it
could be useful to have the best possible matched hit. So this option lets users
explicitly specify the desired behavior.

Closes #6067
2014-05-09 12:59:39 +02:00
mikemccand
aa31c71776 mute this test until we fix isFinite 2014-05-09 05:24:22 -04:00
Martijn van Groningen
67fe88c63c [TEST] Enforce that only one shard per node is allocated. The prevents during node shutdown, that a second shard is assigned the another node. 2014-05-09 10:43:08 +02:00
Martijn van Groningen
d7c05e5924 Temporarily disabling benchmark tests.
Relates #6094
2014-05-08 13:18:12 +02:00
Martijn van Groningen
d5b95e3e8a A number of changes to fix reduce failures if shard failures have occurred:
* The shardTopDocs array should get created with the size equal to the total number of shard level requests and not the total number of requests that have a shard level result.
* Make sure no null TopDocs entires are passed down to TopDocs#merge
* Added dedicated scroll tests that tests scrolling on an index that has missing shards due to node failure.
* Made sure that the sort fields in SimpleNestedTests exists by adding the fields in the mapping during index creation.

Closes #6022
2014-05-08 10:17:00 +02:00
Martijn van Groningen
0efeeff49a The percolator needs to deleted percolator documents into account when running in near realtime mode.
This bug only occurs in non-realtime mode when query, filter, facet or aggs is used.

Closes #5843
Closes #5840
2014-05-08 09:52:27 +02:00
Andrew Selden
c00120b818 Fix for benchmark test
- Fix bug where repeatedly calling computeSummaryStatistics() could
  accumulate some values incorrectly.
- Fix check for number of responsive nodes on list is <= number of
  candidate benchmark nodes.
- Add public getters for summary statistics
- Add javadoc for new getters
- Add javadoc comments about API use
2014-05-07 18:42:39 -07:00
mikemccand
82aad78ff2 it's safe to use OneMerge.getTotalBytesSize (fixed in LUCENE-4775) 2014-05-07 17:25:06 -04:00
Andrew Selden
f23274523a Integration tests for benchmark API.
- Randomized integration tests for the benchmark API.
- Negative tests for cases where the cluster cannot run benchmarks.
- Return 404 on missing benchmark name.
- Allow to specify 'types' as an array in the JSON syntax when describing a benchmark competition.
- Don't record slowest for single-request competitions.

Closes #6003, #5906, #5903, #5904
2014-05-07 14:14:54 -07:00
uboness
fc52db1209 Changed the respnose structure of the percentiles aggregation where now all the percentiles are placed under a values object (or values array in case the keyed flag is set to false
Closes #5870
2014-05-07 18:35:24 +02:00
Shay Banon
743dc19acb Node version sometimes empty in _cat/nodes
closes #5480
2014-05-07 18:08:11 +02:00
Britta Weber
7944369fd1 Add shard_min_doc_count parameter for significant terms similar to shard_size
Significant terms internally maintain a priority queue per shard with a size potentially
lower than the number of terms. This queue uses the score as criterion to determine if
a bucket is kept or not. If many terms with low subsetDF score very high
but the `min_doc_count` is set high, this might result in no terms being
returned because the pq is filled with low frequent terms which are all sorted
out in the end.

This can be avoided by increasing the `shard_size` parameter to a higher value.
However, it is not immediately clear to which value this parameter must be set
because we can not know how many terms with low frequency are scored higher that
the high frequent terms that we are actually interested in.

On the other hand, if there is no routing of docs to shards involved, we can maybe
assume that the documents of classes and also the terms therein are distributed evenly
across shards. In that case it might be easier to not add documents to the pq that have
subsetDF <= `shard_min_doc_count` which can be set to something like
`min_doc_count`/number of shards  because we would assume that even when summing up
the subsetDF across shards `min_doc_count` will not be reached.

closes #5998
closes #6041
2014-05-07 18:02:56 +02:00
javanna
f554178fc7 Renamed IndicesOptions#strict and IndicesOptions#lenient to make it clearer what they actually return, reused methods and introduced new one
Relates to #6059, where two new constants were introduced in IndicesOptions. There were already two constants there though, one of which we could have reused. This commit tries to unify them.
2014-05-07 17:40:57 +02:00
Alexander Reelsen
0c0f717aba Removed Index Status API
The functionality of the index status API has been replaced by the recovery API.

Relates #4854
2014-05-07 16:57:19 +02:00
Adrien Grand
c49276cda7 Add a dedicated field data type for the _index field mapper.
This makes aggregations work on the _index field, and also allows to remove the
special facet aggregator for the _index field.

Close #5848
2014-05-07 14:06:13 +02:00
Adrien Grand
c4f127fb6f Limit the number of bytes that can be allocated to process requests.
This should prevent costly requests from killing the whole cluster.

Close #6050
2014-05-07 12:55:48 +02:00
Adrien Grand
8cd7811955 Lower initial sizing of sub aggregations.
We currently compute initial sizings based on the cardinality of our fields.
This can be highly exagerated for sub aggregations, for example if there is a
parent terms aggregation that is executed over a field that has a very long
tail: most buckets will only collect a couple of documents.

Close #5994
2014-05-06 17:23:34 +02:00
Adrien Grand
c306d8c5f5 Don't assume fixed earth diameter in the geo-distance bounding box optimization.
We switched to Lucene's SloppyMath way of computing an approximate value of
the eath diameter given a latitude in order to compute distances, yet the
bounding box optimization of the geo distance filter still assumed a constant
earth diameter, equal to the average.

Close #6008
2014-05-06 16:20:31 +02:00
Shay Banon
44fd962a9f Improve 404 on missing scroll id
This relates to #6040, the fix is twofold, first, not handling missing context specifically in the search code, but behave the same as we do in non scroll search, where if all the shards failed, raise an exception. The second is to apply this logic in both scroll cases.
2014-05-06 15:55:42 +02:00
Shay Banon
66296de38d Remove unused dump infra
Way back when, when ES started, there was an idea for a dump infrastructure, but it ended up supporting its serviceability aspects through APIs, remove the unused code
2014-05-06 14:02:24 +02:00
javanna
a8b6f81525 Made it mandatory to specify IndicesOptions when calling MetaData#concreteIndices
Removed MetaData#concreteIndices variations that didn't require an IndicesOptions argument. Every caller should specify how indices should be resolved to concrete indices based on the indices options argument.

Closes #6059
2014-05-06 12:45:16 +02:00
Adrien Grand
90b547cf2c Remove RootMapper.validate and validate the routing key up-front.
RootMapper.validate was only used by the routing field mapper, which makes
buggy assumptions about how fields are indexed. For example, it assumes that
the index representation of a field is the same as its external representation.

Close #5844
2014-05-06 11:55:31 +02:00
Adrien Grand
589360c8b1 [TESTS] Don't randomize mappings in SimpleValidateQueryTests.
This test relies on the fact that the _id field is not indexed.
2014-05-06 11:46:31 +02:00
Adrien Grand
17a32fca03 [TEST] Random dynamic templates.
This change randomly indexes the _id field and randomizes field data formats
and loading.

Close #5834
2014-05-06 11:07:43 +02:00
Alexander Reelsen
d356881664 [REST] Missing scroll id now returns 404
A bad/non-existing scroll ID used to return a 200, however a 404 might be more useful.
Also, this PR returns the right Exception (SearchContextMissingException) in the Java API.

Additionally: Added StatusToXContent interface and RestStatusToXContentListener listener, so
the appropriate RestStatus can be returned

Closes #5729
2014-05-05 17:37:26 +02:00
Shay Banon
fad5e2d0e1 Remove operation threading from broadcast actions
Similar to search removal, the operation threading options are not really ued, and the default should always be used. This also considerably simplifies the code.
A side affect is that we can now remove the ShardIterator#firstOrNull method, which can cause for sneaky bugs to occur.
closes #6044
2014-05-05 17:09:36 +02:00