11754 Commits

Author SHA1 Message Date
Simon Willnauer
930eacd457 Merge branch 'master' into pr-10624 2015-05-04 17:06:05 +02:00
Simon Willnauer
29e5f76920 [INDICES] Wait forever (or one day) for indices to close
Today we wait 30 sec for shards to flush and close and then simply exit the process.
This is often not desired and we should by default wait long enough for shards to
close etc. This commit adds a default timeout of one day which simplifies the code
and gives us _enough_ time to shut down.

Closes #10680
2015-05-04 16:56:03 +02:00
Clinton Gormley
bffcf5af58 Docs: Update rolling upgrade
Added note about why replica shards may remain unassigned while there is only one node of the higher version in the cluster.

Closes #10951
2015-05-04 16:52:35 +02:00
Robert Muir
75cadaff39 Merge pull request #10953 from rmuir/lockdown
remove shutdownHooks permission
2015-05-04 07:38:43 -07:00
Simon Willnauer
10ee8f7793 [ENGINE] Mark current translog as committed if initial recovery is skipped
If the initial recovery is skipped all uncommitted changes are lost. This
must be enforced otherwise primary and replica will go out of sync once the
primary is started after restore and a replica recovers from it applying the
still referenced transaction logs.
2015-05-04 16:26:24 +02:00
Simon Willnauer
b5a5bc4f89 [CORE] Allow rebalancing primary shards on shared filesystems
Instead of failing the Engine for a shared filesystem, this change
allows a "soft close" of the Engine, where only the IndexWriter is
closed so that the replica can open an IndexWriter using the same
filesystem directory/mount.

Fixes #10469
2015-05-04 16:26:18 +02:00
Robert Muir
5a701c1f9f remove shutdownHooks permission 2015-05-04 10:18:09 -04:00
Robert Muir
02da246b10 Merge pull request #10923 from elastic/die_cwd_die
Remove CWD access in tests and don't implicitly use CWD/user.dir for configuration.
2015-05-04 07:11:38 -07:00
Robert Muir
4b3672b7df Add migration note for hunspell dictionaries 2015-05-04 10:00:05 -04:00
Robert Muir
01d6f0dc1d Merge branch 'master' into die_cwd_die
Conflicts:
	src/test/java/org/elasticsearch/client/AbstractClientHeadersTests.java
2015-05-04 09:55:29 -04:00
Simon Willnauer
24e73a2c83 [TRANSLOG] Remove channel refcounting for assertions
This refcounting doesn't work for shadow replicas since we open
the same translog file from more than one node while running a rolling
restart. This functionality is also superseeded by our filesystem abstraction
which detects file leaks under the hood.
2015-05-04 14:20:39 +02:00
Robert Muir
f042b8f2e1 Merge pull request #10936 from rmuir/eight_point_three
simplify securitymanager init
2015-05-04 04:53:18 -07:00
Mikael Mattsson
70ae862fe4 Docs: Add Elasticsearch Indexer for WordPress to integrations.asciidoc
Closes #10921
2015-05-04 13:16:55 +02:00
Simon Willnauer
bbffca193c Fail engine if metadata is corrupted on recovery start 2015-05-04 12:18:22 +02:00
Simon Willnauer
7e5f9d5628 Merge branch 'master' into pr-10624
Conflicts:
	src/main/java/org/elasticsearch/index/engine/EngineConfig.java
	src/main/java/org/elasticsearch/index/shard/IndexShard.java
	src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java
	src/test/java/org/elasticsearch/index/engine/ShadowEngineTests.java
2015-05-04 11:37:54 +02:00
Shay Banon
b87d360e79 Automatically thread client based action listeners
Today, we rely on the user to set request listener threads to true when they are on the client side in order not to block the IO threads on heavy operations. This proves to be very trappy for users, and end up creating problems that are very hard to debug.
Instead, we can do the right thing, and automatically thread listeners that are used from the client when the client is a node client or a transport client.
This change also removes the ability to set request level listener threading, in the effort of simplifying the code path and reasoning around when something is threaded and when it is not.
closes #10940
2015-05-04 11:05:42 +02:00
Simon Willnauer
23ac32e616 Remove old 0.90 shard allocator
the `even_shard` allocator has been replaced years ago in early 0.90.
We can remove it now in 2.0 since the new one is considered stable.
2015-05-04 10:48:18 +02:00
Simon Willnauer
fe7d018f0c [TEST] make LuceneTest extraFS proof 2015-05-04 10:33:47 +02:00
Simon Willnauer
9e82d3e7b9 Merge pull request #5861 from elastic/trim-config
Settings: Trimmed the main `elasticsearch.yml` configuration file
2015-05-04 09:42:08 +02:00
Adrien Grand
3409994b9e Merge pull request #10897 from jpountz/fix/nocache
Core: Cut over to the Lucene filter cache.

Close #10897
2015-05-04 09:14:49 +02:00
Adrien Grand
b72f27a410 Core: Cut over to the Lucene filter cache.
This removes Elasticsearch's filter cache and uses Lucene's instead. It has some
implications:
 - custom cache keys (`_cache_key`) are unsupported
 - decisions are made internally and can't be overridden by users ('_cache`)
 - not only filters can be cached but also all queries that do not need scores
 - parent/child queries can now be cached, however cached entries are only
   valid for the current top-level reader so in practice it will likely only
   be used on read-only indices
 - the cache deduplicates filters, which plays nicer with large keys (eg. `terms`)
 - better stats: we already had ram usage and evictions, but now also hit count,
   miss count, lookup count, number of cached doc id sets and current number of
   doc id sets in the cache
 - dynamically changing the filter cache size is not supported anymore

Internally, an important change is that it removes the NoCacheFilter infrastructure
in favour of making Query.rewrite specializing the query for the current reader so
that it will only be cached on this reader (look for IndexCacheableQuery).

Note that consuming filters with the query API (createWeight/scorer) instead of
the filter API (getDocIdSet) is important for parent/child queries because
otherwise a QueryWrapperFilter(ParentQuery) would run the wrapped query per
segment while relations might be cross segments.
2015-05-04 09:02:15 +02:00
Robert Muir
3a89b990ea remove another unnecessary permission 2015-05-03 23:37:05 -04:00
Robert Muir
fc54ff5f10 remove now-unnecessary test permission 2015-05-02 15:19:01 -04:00
Robert Muir
86fc8ceac7 simplify security rules 2015-05-02 14:42:06 -04:00
Robert Muir
8c0d03c3ee add a hack for windows 2015-05-02 12:41:38 -04:00
Robert Muir
bdd6d9c705 heisenbug 2015-05-02 12:27:38 -04:00
Robert Muir
e1238c5e4c add 2 more
x
2015-05-02 12:11:33 -04:00
Robert Muir
ff44f45af1 log this 2015-05-02 12:08:46 -04:00
Robert Muir
db003a0b32 remove hack 2015-05-02 10:52:27 -04:00
Karel Minarik
9a1f11da6e Trimmed the main elasticsearch.yml configuration file
The main `elasticsearch.yml` file mixed configuration, documentation
and advice together.

Due to a much improved documentation at <http://www.elastic.co/guide/>,
the content has been trimmed, and only the essential settings have
been left, to prevent the urge to excessive over-configuration.

Related: 8d0f1a7d123f579fc772e82ef6b9aae08f6d13fd
2015-05-02 12:54:22 +02:00
Robert Muir
50a785c546 add a hack to see if this fixes windows issues 2015-05-01 16:41:49 -04:00
Robert Muir
dbcdb40f68 fix sigar policy line that cannot be really working 2015-05-01 16:02:00 -04:00
Robert Muir
6e6949d3f4 Add debugging when security init screws up (or at trace level if you wish) 2015-05-01 15:47:50 -04:00
Clinton Gormley
df1914cb21 Java API docs: Removed mlt-field 2015-05-01 21:32:02 +02:00
Robert Muir
5e87801a4b Merge branch 'master' into eight_point_three 2015-05-01 15:24:06 -04:00
Robert Muir
09ff11812e add debugging 2015-05-01 14:58:18 -04:00
Clinton Gormley
c28bf3bb3f Docs: Updated elasticsearch.org links to elastic.co 2015-05-01 20:46:12 +02:00
Shay Banon
b2e022bd94 Merge pull request #10924 from kimchy/exclude_jackson_ann
Exclude jackson-databind dependency
2015-05-01 19:09:35 +02:00
Shay Banon
16c7689355 Exclude jackson-databind dependency
the jackson yaml data format pulls in the databind dependency, its important that we exclude it so we won't use any of its classes by mistake
2015-05-01 19:03:14 +02:00
Robert Muir
c15f3eff3a Merge branch 'die_cwd_die' of github.com:elastic/elasticsearch 2015-05-01 12:06:02 -04:00
Robert Muir
260f5eb9ff Merge pull request #10913 from rmuir/spanspanspanspanspan
Add span within/containing queries.
2015-05-01 11:26:08 -04:00
Robert Muir
dfe1d1463c fix doc typo 2015-04-30 23:46:37 -04:00
Robert Muir
aade6194b7 Add span within/containing queries.
Expose new span queries from https://issues.apache.org/jira/browse/LUCENE-6083

Within returns matches from 'little' that are enclosed inside of a match from 'big'.
Containing returns matches from 'big' that enclose matches from 'little'.
2015-04-30 23:31:31 -04:00
Igor Motov
c165afb4d5 Logging: Add logging of slow cluster state tasks
Closes #10874
2015-04-30 19:13:49 -04:00
Jack Conradson
aa968f6b65 Scripting: Add Field Methods
Added infrastructure to allow basic member methods in the expressions
language to be called.  The methods must have a signature with no arguments.  Also
added the following member methods for date fields (and it should be easy to add more)
* getYear
* getMonth
* getDayOfMonth
* getHourOfDay
* getMinutes
* getSeconds

Allow fields to be accessed without using the member variable [value].
(Note that both ways can be used to access fields for back-compat.)

closes #10890
2015-04-30 15:36:46 -07:00
Ryan Ernst
d2b12e4fc2 Mappings: Remove docs for type level analyzer defaults
These settings were removed in #9430.
2015-04-30 13:57:55 -07:00
Ryan Ernst
4ef9f3ca63 Mappings: Remove file based default mappings
Using files that must be specified on each node is an anti-pattern
from the API based goal of ES. This change removes the ability
to specify the default mapping with a file on each node.

closes #10620
2015-04-30 13:50:35 -07:00
Ryan Ernst
a0451a37cc Upgrade lucene snapshot to r1677039 2015-04-30 13:43:19 -07:00
Boaz Leskes
d596f5cc45 Decouple recoveries from engine flush
In order to safely complete recoveries / relocations we have to keep all operation done since the recovery start at available for replay. At the moment we do so by preventing the engine from flushing and thus making sure that the operations are kept in the translog. A side effect of this is that the translog keeps on growing until the recovery is done. This is not a problem as we do need these operations but if the another recovery starts concurrently it may have an unneededly long translog to replay. Also, if we shutdown the engine for some reason at this point (like when a node is restarted)  we have to recover a long translog when we come back.

To void this, the translog is changed to be based on multiple files instead of a single one. This allows recoveries to keep hold to the files they need while allowing the engine to flush and do a lucene commit (which will create a new translog files bellow the hood).

Change highlights:
- Refactor Translog file management to allow for multiple files.
- Translog maintains a list of referenced files, both by outstanding recoveries and files containing operations not yet committed to Lucene.
- A new Translog.View concept is introduced, allowing recoveries to get a reference to all currently uncommitted translog files plus all future translog files created until the view is closed. They can use this view to iterate over operations.
- Recovery phase3 is removed. That phase was replaying operations while preventing new writes to the engine. This is unneeded as standard indexing also send all operations from the start of the recovery  to the recovering shard. Replay all ops in the view acquired in recovery start is enough to guarantee no operation is lost.
- IndexShard now creates the translog together with the engine. The translog is closed by the engine on close. ShadowIndexShards do not open the translog.
- Moved the ownership of translog fsyncing to the translog it self, changing the responsible setting to `index.translog.sync_interval` (was `index.gateway.local.sync`)

Closes #10624
2015-04-30 23:42:50 +03:00
Adrien Grand
12c19508fb Tests: Fix test bug in aggregations' EquivalenceTests due to the change of the default min_doc_count. 2015-04-30 19:14:56 +02:00