Commit Graph

3294 Commits

Author SHA1 Message Date
Luca Cavanna 1ef3a4a868 Removed duplicated registration of warmers as custom metadata type
Already done in a static block within IndexMetaData
2014-01-24 15:59:07 +01:00
Martijn van Groningen b18ae14555 Removed old serialization logic (<= 1.0-RC1) in readFrom and writeTo methods. 2014-01-24 15:44:40 +01:00
Simon Willnauer 22eb6ba09d Re-Sort config/names 2014-01-24 14:32:50 +01:00
Adrien Grand 9d10c2fca8 Use different field names based on the data type in aggregations tests.
Tests fail once in a while because of a ClassCastException at the mvel level.
We suspect that this happens because a script that is JIT-ed on a specific
data type cannot later be used with another one, but we didn't manage to
reproduce in our development environments, so let's try to change the field
names to see if this error keeps occurring.
2014-01-24 13:48:43 +01:00
Simon Willnauer 663e25ae63 Throw exception if `cluster.name` is specified in TestCluster node settings
We rely on the `cluster.name` setting to be the same across all nodes
and transport clients etc. If a node setting contains `cluster.name`
the test might not work if a random transport client is swapped
in. Passing such a configuration should result in an exception since
it's clearly an illegal state.
2014-01-24 12:11:29 +01:00
Martijn van Groningen 2d58603e81 Added more unit like test that verifies that has_child is never cached even if wrapped by another filter. 2014-01-24 12:03:00 +01:00
uboness 2f32908193 fixed the reduce of InternalGeoHashGrid when executing on a single shard 2014-01-23 21:09:19 +01:00
David Pilato f4411e697e Serving _site plugins do not pick up on index.html for sub directories
If one asks for `http://es:9200/_plugin/PLUGIN_NAME/` and the the plugin's _site directory contains an index.html file, it will be correctly served.

This is not the case for sub directories: a _site/folder/index.html is not served when requesting  `http://es:9200/_plugin/PLUGIN_NAME/folder/` but one gets a 403 Forbidden response as if trying to browse the folder.

Closes #4845.
2014-01-23 20:40:16 +01:00
uboness 56a14e6194 fixed license header indentation 2014-01-23 19:37:08 +01:00
uboness da953700f4 Fixed an issue where there are sug aggregations executing on a single shard, the reduce call was not propagated properly down the agg hierarchy.
Closes #4843
2014-01-23 19:19:55 +01:00
Nik Everett 93a8e80aff Support multiple rescores
Detects if rescores arrive as an array instead of a plain object.  If so
then parse each element of the array as a separate rescore to be executed
one after another.  It looks like this:
   "rescore" : [ {
      "window_size" : 100,
      "query" : {
         "rescore_query" : {
            "match" : {
               "field1" : {
                  "query" : "the quick brown",
                  "type" : "phrase",
                  "slop" : 2
               }
            }
         },
         "query_weight" : 0.7,
         "rescore_query_weight" : 1.2
      }
   }, {
      "window_size" : 10,
      "query" : {
         "score_mode": "multiply",
         "rescore_query" : {
            "function_score" : {
               "script_score": {
                  "script": "log10(doc['numeric'].value + 2)"
               }
            }
         }
      }
   } ]

Rescores as a single object are still supported.

Closes #4748
2014-01-23 16:29:07 +01:00
Simon Willnauer 592a411b2c Make shard balancing deterministic if weights are identical
It happens to be the case that the iteration order of a HashMaps
keyset might be different across runs. This can cause undeterministic
results in shard balancing if weights are identical and multiple shards
of the same index are eligable for relocation. This commit adds
a tie-breaker based on the shard ID to prioritise the lowest shard
ID. This also makes `AddIncrementallyTests#testAddNodesAndIndices`
reproducible.

Closes #4867
2014-01-23 15:57:49 +01:00
Luca Cavanna 3158776438 Parallelized rivers creation in RiverTests#testMultipleRiversStart
Rivers are now registered concurrently from separate threads, one per river.
2014-01-23 15:39:48 +01:00
Luca Cavanna 2058edc117 Made sure rivers _meta documents are retrieved via get with preference _primary
Closes #4864
2014-01-23 15:01:28 +01:00
Simon Willnauer a7a2d9f806 Remove listeners after suite completes in RestTestSuiteRunner
We need to remove the reproduce info printer after the suite
returns otherwise it might print a bogus line if a subsequent
non-rest test fails. The `RunNotifier` is used across suites in
the same JVM and the listener sticks to it.
2014-01-23 14:49:16 +01:00
Paul Horn ed4b15fb4c ClearScrollRequest should set a type parameter
Since ActionRequest requires a bounded type parameter.
2014-01-23 10:49:23 +01:00
Luca Cavanna 922f51fdd5 Added log line to better debug where rivers will get allocated 2014-01-22 23:26:16 +01:00
Simon Willnauer 0a97134757 Add unit tests for NoCache filter infrastructure
If a filter implements `NoCacheFilter` itself and it's
parents should never be cached even if `_cache` is set
to `true` on the parents explicitly.
2014-01-22 14:56:40 +01:00
uboness e9b41c92a4 Added missing support for min_doc_count in DateHistogramBuilder
Closes: #4848
2014-01-22 14:26:28 +01:00
Martijn van Groningen 6cdbdaf388 Added test that verifies that p/c filters never cache.
Made the has_parent & has_child filterbuilder's cache options a noop as well, like it is in the related parsers.

Relates to #4757
2014-01-22 13:35:52 +01:00
Adrien Grand f466b8f292 Add a basic test for date math in date ranges. 2014-01-22 13:30:09 +01:00
Martijn van Groningen f002d39544 Never cache a range filter that uses the `now` date expression.
Closes #4846
2014-01-22 13:28:08 +01:00
Simon Willnauer 1615aba114 Replace Version checks against 1.0 with 1.0RC2 2014-01-22 12:02:37 +01:00
Simon Willnauer d49f099fdb Added tests that ensures all version are in the Version#fromId(int) switch statement 2014-01-22 11:29:29 +01:00
Simon Willnauer 994ad77032 Add 1.0.0RC2 to the version table 2014-01-22 11:29:28 +01:00
Adrien Grand 080ce71d54 Make all aggregators reader-context-aware.
This removes the overhead of polling a Bytes/Double/Long-Values instance in
every call to collect.

Additionally, the AggregationsCollector has been changed to wrap a simple array
instead of an ArrayList.

Close #4841
2014-01-22 11:05:55 +01:00
Adrien Grand 9282ae4ffd Terms aggregations: make size=0 return all terms.
Terms aggregations return up to `size` terms, so up to now, the way to get all
matching terms back was to set `size` to an arbitrary high number that would be
larger than the number of unique terms.

Terms aggregators already made sure to not allocate memory based on the `size`
parameter so this commit mostly consists in making `0` an alias for the
maximum integer value in the TermsParser.

Close #4837
2014-01-22 11:05:10 +01:00
Lee Hinman 2f910fbf7e Accept `defaultOperator` in addition to `default_operator` for simple_query_string 2014-01-21 15:51:06 -07:00
Adrien Grand 1047267021 HistogramAggregator: Finer-grained rounding.
The way `HistogramAggregator` works is that for every value, it is going to
compute a rounded value, that basically looks like
`(value / interval) * interval` and use it as a key in a hash table to
aggregate counts.

However, the exact rounded value is not needed yet at that stage, all we need
is a value that uniquely identifies the bucket, such as `(value / interval)`.
We could only multiply with `interval` again when building the bucket: this way
the second step is only performed once per bucket instead of once per value.

Although this looks like a micro optimization for the case that was just
decribed, it makes more sense with the date rounding implementations that we
have that are more CPU-intensive.

Close #4800
2014-01-21 17:39:01 +01:00
Adrien Grand 92a026b3b9 Throw an ElasticsearchIllegalArgumentException when allocating on a non-data node.
Today, it would fail with a NullPointerException.

Close #4833
2014-01-21 17:31:12 +01:00
Lee Hinman 510fbf12c3 Fix formatting of license header 2014-01-21 09:24:56 -07:00
Lee Hinman 2c289fb538 Add the ability to retrieve fields from field data
Adds a new FetchSubPhase, FieldDataFieldsFetchSubPhase, which loads the
field data cache for a field and returns an array of values for the
field.

Also removes `doc['<field>']` and `_source.<field>` workaround no longer
needed in field name resolving.

Closes #4492
2014-01-21 09:13:32 -07:00
Simon Willnauer 53192919c6 Move to [2.0] snap 2014-01-21 17:07:39 +01:00
Adrien Grand 50174d1790 SearchType randomization in integration tests.
Issue #4754 showed that using DFS_QUERY_THEN_FETCH instead of QUERY_THEN_FETCH
might expose interesting bugs.

Close #4793
2014-01-21 14:31:14 +01:00
Adrien Grand 728a5647c3 Allow to configure indices.fielddata.breaker.limit with a ratio of the heap size.
Close #4616
2014-01-21 13:55:58 +01:00
Luca Cavanna 8f96930638 Deprecated ToXContent.Params#paramAsBooleanOptional in favour of paramAsBoolean
Closes #4817
2014-01-21 11:05:11 +01:00
Luca Cavanna 93d4582641 Deprecated use of partial fields in Java API, was already deprecated in the docs for the search API
Closes #4118
2014-01-21 10:35:52 +01:00
Britta Weber cae5eb479a [SPEC,TEST,FIX] add spec and tests for termvector api and fix inconsistencies
- index and type were not read from the uri with the _mtermvectors api
- ids were not read from the uri parameters with the _mtermvectors api
2014-01-21 10:03:25 +01:00
Martijn van Groningen f2fb114a3e Only refresh id_cache if the parent field is active. 2014-01-21 09:31:45 +01:00
Shay Banon e29659e36d add internal force local flag, used by tribe node
tribe node to set it to true so all master read operations will automatically execute on the local tribe node
2014-01-20 22:40:26 +01:00
Martijn van Groningen 78590a8b6b Removed redundant statements. 2014-01-20 22:32:36 +01:00
Martijn van Groningen efebb8d515 [TESTS] Added percolator rest tests. 2014-01-20 18:18:27 +01:00
Igor Motov 406762f775 Ignore empty config paths 2014-01-20 12:05:05 -05:00
David Pilato 48aaf34f4f River does not start when using config/templates files
From elasticsearch 0.90.6, when you have templates files defined in `config/templates` dir, rivers don't start anymore.

Steps to reproduce:

Create `config/templates/default.json`:

```javascript
{
  default:
  {
    "template" : "*",
    "mappings" : {
      "_default_" : {
      }
    }
  }
}
```

Start a dummy river:

```sh
curl -XPUT 'localhost:9200/_river/my_river/_meta' -d '{ "type" : "dummy" }'
```

It gives:

```
[2014-01-01 22:08:38,151][INFO ][cluster.metadata         ] [Forge] [_river] creating index, cause [auto(index api)], shards [1]/[1], mappings [_default_]
[2014-01-01 22:08:38,239][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:38,245][INFO ][cluster.metadata         ] [Forge] [_river] update_mapping [my_river] (dynamic)
[2014-01-01 22:08:38,250][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:39,244][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:39,252][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:40,246][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:40,254][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:41,246][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:41,255][INFO ][river.routing            ] [Forge] no river _meta document found, retrying in 1000 ms
[2014-01-01 22:08:42,249][WARN ][river.routing            ] [Forge] no river _meta document found after 5 attempts
[2014-01-01 22:08:42,257][WARN ][river.routing            ] [Forge] no river _meta document found after 5 attempts
```

With elasticsearch 0.90.2 or with no template file in `config/templates` dir, it gives:

```
[2014-01-01 22:22:32,096][INFO ][cluster.metadata         ] [Forge] [_river] creating index, cause [auto(index api)], shards [1]/[1], mappings []
[2014-01-01 22:22:32,221][INFO ][cluster.metadata         ] [Forge] [_river] update_mapping [my_river] (dynamic)
[2014-01-01 22:22:32,228][INFO ][river.dummy              ] [Forge] [dummy][my_river] create
[2014-01-01 22:22:32,228][INFO ][river.dummy              ] [Forge] [dummy][my_river] start
[2014-01-01 22:22:32,234][INFO ][cluster.metadata         ] [Forge] [_river] update_mapping [my_river] (dynamic)
```

Closes #4577.
Closes #4656.
2014-01-20 17:56:39 +01:00
Igor Motov 649f1b13da Initial implementation of custom _all field
Closes #4520
2014-01-20 10:44:33 -05:00
Adrien Grand af1513f908 Add page tracking to MockPageCacheRecycler.
This found an issue in BytesRefHash that forgot to release the start offsets.

Close #4814
2014-01-20 16:23:37 +01:00
Adrien Grand 3586157467 Make StringFieldMapper.toXContent aware of defaults for not_analyzed fields.
StringFieldMapper.toXContent uses the defaults for analyzed fields in order to
know which options to add to the builder. This means that if the field is not
analyzed and has norms enabled, it will omit to emit `norms.enabled: true`.
Parsing the mapping again will result in a StringFieldMapper that has norms
disabled.

The same fix applies to index options.

Close #4760
2014-01-20 16:15:30 +01:00
Adrien Grand 6469f6ef06 Return a conflict when trying to enable/disable norms.
Close #4761
2014-01-20 16:13:58 +01:00
Simon Willnauer f0bce08c30 Return `MatchNoDocsQuery` if query string is emtpy
Closes #3952
2014-01-20 16:08:57 +01:00
Luca Cavanna c8d661608c Follow-up of #4808, same fix applied to ToXContent.MapParams 2014-01-20 15:40:40 +01:00