382 Commits

Author SHA1 Message Date
Adrien Grand
7cf3096c3c Merge pull request #11790 from jbarthelmes/master
Add a null-check for XContentBuilder#field for BigDecimals
2015-06-25 09:45:28 +02:00
Ryan Ernst
e8e74ae569 Mappings: Remove close() from Mapper
There was only a single actual "use" of close, for a threadlocal
in VersionFieldMapper. However, that threadlocal is completely
unnecessary, so this change removes the threadlocal and
close() altogether.
2015-06-24 14:31:07 -07:00
Ryan Ernst
26ff6e452e Fix _ttl default field type to include index/search analyzer (numeric 64bit) 2015-06-24 09:08:50 -07:00
Robert Muir
b00be9fe4a Merge pull request #11850 from rmuir/enable_j9
allow IBM J9 2.8+ in version check
2015-06-24 11:36:15 -04:00
Ryan Ernst
da07c3acbf Switch to guava version of Function, since the jdk version is only
available in java8
2015-06-24 08:15:48 -07:00
Ryan Ernst
791d111cc0 Merge branch 'master' into pr/8871 2015-06-24 08:05:17 -07:00
Simon Willnauer
dc67bd0021 Render strucutred exception in multi search
MultiMatch still only returns the exception message but should return the
actual exception and render it in a structured fashion
2015-06-24 16:21:41 +02:00
Robert Muir
077b9e0e58 allow IBM J9 2.8+ in version check 2015-06-24 09:56:18 -04:00
Tanguy Leroux
0ce18954a0 Merge pull request #11836 from wolfgangkarall/patch-1
Fix endless looping if starting fails
2015-06-24 15:42:46 +02:00
Simon Willnauer
fcdcce3bba Consolidate shard level abstractions
This commit consolidates several abstractions on the shard level in
ordinary classes not managed by the shard level guice injector.

Several classes have been collapsed into IndexShard and IndexShardGatewayService
was cleaned up to be more lightweight and self-contained. It has also been moved into
the index.shard package and it's operation is renamed from recovery from "gateway" to recovery
from "store" or "shard_store".

Closes #11847
2015-06-24 15:18:04 +02:00
Simon Willnauer
c57951780e Simplify ShardRouting abstraction
This commit folds ShardRouting, ImmutableShardRouting and MutableShardRouting
into ShardRouting. All mutators are package private anyway today so it's just
unnecessary abstraction.
ShardRoutings are now frozen once they are added to the IndexRoutingTable
to prevent modifications outside of the allocation code.
2015-06-24 14:35:57 +02:00
Adrien Grand
aaa9ee35ea Add tests to XContentParser.list(). 2015-06-24 12:03:15 +02:00
Jörg Prante
411a719a86 add list parse methods to XContentParser 2015-06-24 11:41:22 +02:00
Adrien Grand
04968d72a1 Remove XContentParser.map[Ordered]AndClose().
It is a bit weird to have an API to read a map then close the parser.
2015-06-24 11:10:30 +02:00
Adrien Grand
121a699261 Merge pull request #11816 from jpountz/enhancement/return_metadata
Always return metadata in get/search APIs.
2015-06-24 10:32:53 +02:00
Adrien Grand
e4d475c700 Always return metadata in get/search APIs.
This commit makes the get and search APIs always return `_parent`, `_routing`,
`_timestamp` and `_ttl` in addition to `_id` and `_type`. This way, consumers
always have all required information in order to reindex a document.
2015-06-24 10:22:14 +02:00
Adrien Grand
29ec4e015d Merge pull request #11843 from dpursehouse/immutable-settings-update
Replace references to ImmutableSettings with Settings
2015-06-24 08:33:20 +02:00
Adrien Grand
ea175492b0 Merge pull request #11833 from jpountz/fix/smaller_filter_cache
Give the filter cache a smaller maximum number of cached filters.
2015-06-24 08:23:26 +02:00
David Pursehouse
b49e66c3a1 Replace references to ImmutableSettings with Settings
ImmutableSettings was merged into Settings in commit 4873070.

Change-Id: I06bd0150381d131593920c2328c46beacf49661f
2015-06-24 14:54:53 +09:00
Igor Motov
f379a13fb4 Extract all shard-level snapshot operation into dedicated SnapshotShardsService
Currently the SnapshotsService is concerned with both maintaining the global snapshot lifecycle on the master node as well as responsible for keeping track of individual shards on the data nodes. This refactoring separates two areas of concerns by moving all shard-level operations into a separate SnapshotShardsService.

Closes #11756
2015-06-23 18:01:32 -04:00
Ryan Ernst
573c85251e Added better error message when field types are not the same 2015-06-23 12:34:49 -07:00
Wolfgang Karall
dc6f3e3eac Fix endless looping if starting fails
log_end_msg does not break the loop or exit the script results in endlessly printing 'failed' in red to the screen in case of a failed start.
2015-06-23 20:52:27 +02:00
Ryan Ernst
542c25e78d Remove MapperAnalyzer 2015-06-23 09:53:38 -07:00
Ryan Ernst
33339ab288 Addressed PR comments 2015-06-23 09:00:14 -07:00
Adrien Grand
f29bf63fa8 Give the filter cache a smaller maximum number of cached filters.
Currently the filter cache is configured to have a maximum size in bytes of 10%
of the JVM memory, and a maximum number of cached filters (across all segments
of all shard on the same node) of 100000. I would like to change the latter to
a more reasonable value of 1000.

Given that we track the most 256 most recently used filters per index and only
cache those that have been seen 5 times or more, a single index cannot have more
than 50 hot filters, so a maximum number of cached filters of 1000 per node
should be more than necessary.
2015-06-23 17:44:07 +02:00
Shay Banon
435ce7f251 Remove scheduled routing
Today, we have scheduled reroute that kicks every 10 seconds and checks if a
reroute is needed. We use it when adding nodes, since we don't reroute right
away once its added, and give it a time window to add additional nodes.

We do have recover after nodes setting and such in order to wait for enough
nodes to be added, and also, it really depends at what part of the 10s window
you end up, sometimes, it might not be effective at all. In general, its historic
from the times before we had recover after nodes and such.

This change removes the 10s scheduling, simplifies RoutingService, and adds
explicit reroute when a node is added to the system. It also adds unit tests
to RoutingService.

closes #11776
2015-06-23 17:21:09 +02:00
Simon Willnauer
49bbc42ac8 Encapsualte common code in methods
This commit groups duplicated code in methods to make the actual decision
easier to read. There is no change in functionality in this change.
2015-06-23 15:48:52 +02:00
Martijn van Groningen
fe330b868a percolator: Fail nicely if nested query with inner_hits is used in a percolator query.
Closes #11672
2015-06-23 15:03:31 +02:00
Colin Goodheart-Smithe
f26311e88b Aggregations: Rename series_arithmetic agg to bucket_script 2015-06-23 14:00:17 +01:00
Simon Willnauer
79f3e78ce2 Log warn message if leftover shard is detected 2015-06-23 14:36:57 +02:00
Tanguy Leroux
95caa73518 [Packaging] Fix missing dependencies for RPM/DEB packages
Since elasticsearch doesn't shade artifacts anymore (see #11522), the dependencies list for RPM/DEB must be updated. Now we package all maven libs by default except the generated -shaded/-tests/-test-cours JARs and slf4j-api (marked as optionnal).
2015-06-23 13:16:16 +02:00
Shay Banon
15d799361b Set randomized node/index settings in the right place
Don't set node settings in the index template, and try and set less index settings in the node settings
closes #11767
2015-06-23 13:11:17 +02:00
Clinton Gormley
4c48f51500 Deleted slf4j.* from licenses/
Although it is in the target/lib/ directory, slf4j is not included in the
ZIP/tar files
2015-06-23 12:50:31 +02:00
Adrien Grand
18ec76aae8 Better test reuse of existing mappings for dynamic mappings. 2015-06-23 11:44:07 +02:00
Simon Willnauer
e97d3d8a49 Fix typo 2015-06-23 11:00:39 +02:00
javanna
b78211ddaa Java api: make BoostableQueryBuilder public again
FunctionScoreQueryBuilder is outside of the index.query package, missed that in my previous commit.
2015-06-23 10:01:39 +02:00
javanna
99dee81d76 Java api: make BoostableQueryBuilder package private 2015-06-23 09:32:24 +02:00
javanna
90a7b4868e Java api: add missing boost support to TermsQueryBuilder
Relates to #11744
Closes #11810
2015-06-23 09:26:10 +02:00
javanna
e7702468a2 Java api: add missing boost support to GeoShapeQueryBuilder
Relates to #11744
Relates to #11810
2015-06-23 09:25:53 +02:00
Ryan Ernst
00bcce79f7 Simplify root mapper builder creation 2015-06-22 14:30:40 -07:00
Ryan Ernst
adcc0683b8 Mappings: Restrict fields with the same name in different types to have the same core settings
We currently are very lax about allowing data types to conflict for the
same field name, across document types. This change makes the underlying
map in MapperService a 1-1 map of field name to field type, and throws
exception when new types are not compatible.

To still allow changing a type, with parameters that are allowed to be
changed, but for a field that exists in multiple types, a new parameter
to index creation and put mapping API is added: update_all_types.
This defaults to false, and the exception messages suggest using
this parameter when trying to modify a setting that is allowed to be
modified but is being limited by this restriction.

There are also a couple changes which try to base fields from new types
for dynamic mappings, and root mappers, on existing settings. For
dynamic mappings this is important if the dynamic defaults have been
changed. For root mappings, this is mostly just for backcompat when
pre 2.0 root mappers could have their field type changed.

fixes #8871
2015-06-22 14:00:10 -07:00
Boaz Leskes
1df2d3015e Add OS name to _nodes and _cluster/nodes
we currently don't expose this.

This adds the following to the OS section of `_nodes`:

```
"os": {
     "name": "Mac OS X",
     ...
 }
 ```

 and the following to the OS section of `_cluster/stats`:

 ```
      "os": {
         ...
          "names": [
             {
                "name": "Mac OS X",
                "count": 1
             }
          ],
          ...
       },
 ```

Closes #11807
2015-06-22 20:36:29 +02:00
Ryan Ernst
12e7cbe92b Mappings: Lockdown _timestamp
This is a follow up to #8143 and #6730 for _timestamp. It removes
support for `path`, as well as any field type settings, and
enables docvalues for _timestamp, for 2.0.  Users who need to
adjust these settings can use a date field.
2015-06-22 10:21:03 -07:00
Zachary Tong
5d94febcb1 Aggregations: Moving average forecasts should not include current datapoint.
- Fixes tests, and removes a few special snowflake, fragile tests.
- Removes concrete implementation of predict() and moves it into
  each model so that the logic is clearer.  Because there is some
  shared checks/assertions, those remain in predict() and the main
  prediction happens in doPredict()
2015-06-22 11:13:35 -04:00
Alexander Reelsen
eb23530e06 Internal: Readd accidental removed functionality in InternalClusterService
The commit about adding cluster health response features also removed
accidentally some functionality, that resulted in wrong instanceof checks
in InternalClusterService and thus in test failures because the cluster
state task that was added via an anonymous was missing the cast.

This commit readds the abstract class with slight renaming.

Commit id was: 88f8d58c8bec33494139a10c921afd55d3895d7c
2015-06-22 16:34:02 +02:00
Simon Willnauer
1f3670733a Load percolator queries before shard is marked POST_RECOVERY
If we mark the shard as being in POST_RECOVERY before the percolator
is fully set up we might expose it to the user as fully searchable before
all queries are loaded. This can lead to wrong results especially in tests
when a shard is concurrently marked as STARTED.

This commit also removes unneded abstractions on IndexShard where readoperations
should be allowed when the purose is a write.
2015-06-22 16:23:27 +02:00
Shay Banon
55c55677a3 Remove reroute with no reassign
Its not used in our codebase anymore, so no need for it
closes #11804
2015-06-22 15:53:56 +02:00
Alexander Reelsen
88f8d58c8b Cluster Health: Add max wait time for pending task and active shard percentage
In order to get a quick overview using by simply checking the cluster state
and its corresponding cat API, the following two attributes have been added
to the cluster health response:

* task max waiting time, the time value of the first task of the
  queue and how long it has been waiting
* active shards percent: The percentage of the number of shards that are in
  initializing state

This makes the cluster health API handy to check, when a fully restarted
cluster is back up and running.

Closes #10805
2015-06-22 15:04:47 +02:00
Artur Cygan
b063427899 Fix indentation in deb init script 2015-06-22 14:10:19 +02:00
Colin Goodheart-Smithe
772d0cc6e7 Build: Make rest-spec-api a project so eclipse build works
The change makes rest-spec-api a project in the same way as we build dev-tools. it packages the tests and api in a bundle using the maven-remote-resources-plugin and uses the same plugin in the plugins and core pom to unpack the rest-api-spec into the target directory and references the rest tests there in the test resources.

The main stimulus for this change is that for those using Eclipse the current build does not work. After running `mvn eclipse:eclipse` the Eclipse IDE errors because the rest-api-spec is outside of the project scope, meaning that every time the command is run (required whenever any dependencies change), the class path of all the projects has to be manually fixed.
2015-06-22 11:41:44 +01:00