b9c0df2 | Ryan Ernst | 20 September 2017, 00:41:51 UTC | Build: Set bwc builds to always set snapshot (#26704) This commit enforces bwc builds always generate snapshot versions, even when testing release versions in CI. closes #26702 | 25 September 2017, 18:38:07 UTC |
e0110ac | David Pilato | 25 September 2017, 18:35:27 UTC | Azure snapshots can not be restored anymore (#26778) While working on #26751 and doing some manual integration testing I found that this #22858 removed an important line of our code: `AzureRepository` overrides default `initializeSnapshot` method which creates metadata files and do other stuff. But with PR #22858, I wrote: ```java @Override public void initializeSnapshot(SnapshotId snapshotId, List<IndexId> indices, MetaData clusterMetadata) { if (blobStore.doesContainerExist(blobStore.container()) == false) { throw new IllegalArgumentException("The bucket [" + blobStore.container() + "] does not exist. Please create it before " + " creating an azure snapshot repository backed by it."); } } ``` instead of ```java @Override public void initializeSnapshot(SnapshotId snapshotId, List<IndexId> indices, MetaData clusterMetadata) { if (blobStore.doesContainerExist(blobStore.container()) == false) { throw new IllegalArgumentException("The bucket [" + blobStore.container() + "] does not exist. Please create it before " + " creating an azure snapshot repository backed by it."); } super.initializeSnapshot(snapshotId, indices, clusterMetadata); } ``` As we never call `super.initializeSnapshot(...)` files are not created and we can't restore what we saved. Closes #26777. | 25 September 2017, 18:36:07 UTC |
bcadf18 | Jason Tedor | 25 September 2017, 18:32:55 UTC | Add shard ID to failed global checkpoint messages When a global checkpoint sync fails we should log the shard ID for the shard the sync failed for. This commit causes this to be the case. | 25 September 2017, 18:34:51 UTC |
3980235 | Boaz Leskes | 25 September 2017, 17:57:16 UTC | `IndexShard.routingEntry` should only be updated once all internal state is ready (#26776) The routing entry is used by external components to check whether the shard is ready to perform as primary. Most notably, the peer recovery source handler delays recoveries until the shard routing entry says the shard is ready. When a shard is promoted to primary, we currently update the shard's routing entry before we finish all the work relating to the promotion. This can cause recoveries to fail later on because the `GlobalCheckpointTracker` isn't set (yet) to primary mode. This commit fixes this issue by updating the routing entry last. | 25 September 2017, 18:04:44 UTC |
4bff8a1 | Adrien Grand | 25 September 2017, 16:33:26 UTC | Allow copying from a field to another field that belongs to the same nested object. (#26774) The previous test was too strict and enforced that the target object was a parent. It has been relaxed so that fields that belong to the same nested object can copy to each other. The commit also improves error handling in case of multi-fields. The current validation works but may throw confusing error messages since it assumes that only object fields may introduce dots in fields names while multi fields may too. Closes #26763 | 25 September 2017, 16:35:11 UTC |
a2a7178 | Adrien Grand | 25 September 2017, 15:06:16 UTC | Use the 6.6.1 Lucene version constant. (#26768) It is only possible since we moved to Lucene 7.0.0 GA. Previous snapshots did not know about it. | 25 September 2017, 16:35:08 UTC |
32fb3f8 | kel | 25 September 2017, 15:01:39 UTC | Fix typo in date format (#26503) | 25 September 2017, 16:35:08 UTC |
1654d87 | Luca Cavanna | 25 September 2017, 16:03:57 UTC | [DOCS] improve encrypted communication example in java REST low-level client docs (#26705) Include SSLContext creation and add the missing "https" scheme to the host creation. Relates to #26534 Closes #26670 | 25 September 2017, 16:04:54 UTC |
99ae5fa | Colin Goodheart-Smithe | 25 September 2017, 10:54:42 UTC | Updates 6.0.0-rc1 release notes | 25 September 2017, 10:55:09 UTC |
b57fbbf | javanna | 25 September 2017, 09:10:13 UTC | [DOCS] Replace mention of string field type with text and keyword Closes #25713 | 25 September 2017, 09:11:23 UTC |
af2864d | Boaz Leskes | 24 September 2017, 20:27:32 UTC | RecoveryIT should wait for green when in mixed cluster to avoid unassigned shards The test starts with two old nodes and creates indices (without waiting for green, which is fixed here too). Then it restarts one of the nodes and waits for it to join the cluster. This wait condition only uses wait for yellow as our generic infra doesn't how many nodes are there in total. Once the restarted node is part of the cluster (mixed mode) the second old node is restarted. If indices are not fully allocated when that happens, the shards will go into delayed unassigned mode. If the recovery of the replica never completed we may end up with corrupted / no secondary copy on the node. This will cause the shards to be delayed for 1m before being reassigned and the test will time out. | 24 September 2017, 20:31:21 UTC |
b79ba7e | Boaz Leskes | 24 September 2017, 19:10:26 UTC | RecoveryIT up client time out to 40s to see response in a 30s time | 24 September 2017, 19:38:47 UTC |
5f57c67 | Jason Tedor | 22 September 2017, 21:12:32 UTC | Fix global checkpoint sync test This commit fixes issues with the global checkpoint sync test. The test was off in initializing the maximum sequence number on the primary shard, and off setting the local knowledge on the primary of the global checkpoint on the replica. | 22 September 2017, 21:14:38 UTC |
e2504fc | Jason Tedor | 22 September 2017, 15:57:06 UTC | Upgrade to Log4j 2.9.1 This commit upgrades the Log4j dependency, picking up a fix for an issue with handling stack traces on JDK 9. Relates #26750 | 22 September 2017, 18:33:47 UTC |
24747b1 | Jason Tedor | 22 September 2017, 18:22:03 UTC | Configure heap dump path out of the box The JVM defaults to dumping the heap to the working directory of Elasticsearch. For the RPM and Debian packages, this location is /usr/share/elasticsearch. This directory is not writable by the elasticsearch user, so by default heap dumps in this situation are lost. This commit modifies the packaging for the RPM and Debian packages to set the heap dump path to /var/lib/elasticsearch as the default location for dumping the heap. This location is writable by the elasticsearch user by default. We add documentation of this important setting if /var/lib/elasticsearch is not suitable for receiving heap dumps. Relates #26755 | 22 September 2017, 18:30:15 UTC |
0c8d46d | Boaz Leskes | 22 September 2017, 15:05:51 UTC | InternalEngine - don't assert on MAX_UNSAFE_AUTO_ID_TIMESTAMP_COMMIT_ID if index was created before 5.5.0 It was adding in #24149 which was merged into 5.5.0 | 22 September 2017, 15:17:19 UTC |
c12aeda | Colin Goodheart-Smithe | 22 September 2017, 12:39:52 UTC | Adds release notes for 6.0.0-rc1 | 22 September 2017, 12:40:15 UTC |
96b2fbc | Ryan Ernst | 22 September 2017, 09:26:32 UTC | Plugins: Add backcompat for sha1 checksums (#26748) With 6.0 rc1 we now publish sha512 checksums for official plugins. However, in order to ease the pain for plugin authors, this commit adds backcompat to still allow sha1 checksums. Also added tests for checksums. Closes #26746 | 22 September 2017, 09:27:35 UTC |
154accf | Martijn van Groningen | 22 September 2017, 05:22:05 UTC | aggs: Do not delegate a null scorer to LeafBucketCollectors Closes #26611 | 22 September 2017, 07:27:28 UTC |
1e9b4ea | Yannick Welsch | 22 September 2017, 06:31:36 UTC | [TEST] Remove assertSeqNos from testAckedIndexing | 22 September 2017, 06:32:41 UTC |
202d91d | Jason Tedor | 21 September 2017, 23:19:33 UTC | Upgrade to Lucene 7.0.0 This commit upgrades to the GA release of Luence 7! Relates #26744 | 21 September 2017, 23:23:54 UTC |
0b4e904 | Jason Tedor | 21 September 2017, 19:56:57 UTC | Fix missing import in IndexModule This commit fixes a missing import in IndexModule.java that was lost during a backport. | 21 September 2017, 19:56:59 UTC |
c620500 | Jason Tedor | 21 September 2017, 19:44:36 UTC | Reenable BWC tests after global checkpoint sync This commit reenables the BWC tests after the introduction of the post-operation and background global checkpoint sync. Relates #26591 | 21 September 2017, 19:46:31 UTC |
5c2572c | Jason Tedor | 21 September 2017, 19:34:13 UTC | Introduce global checkpoint background sync It is the exciting return of the global checkpoint background sync. Long, long ago, in snapshot version far, far away we had and only had a global checkpoint background sync. This sync would fire periodically and send the global checkpoint from the primary shard to the replicas so that they could update their local knowledge of the global checkpoint. Later in time, as we sped ahead towards finalizing the initial version of sequence IDs, we realized that we need the global checkpoint updates to be inline. This means that on a replication operation, the primary shard would piggy back the global checkpoint with the replication operation to the replicas. The replicas would update their local knowledge of the global checkpoint and reply with their local checkpoint. However, this could allow the global checkpoint on the primary to advance again and the replicas would fall behind in their local knowledge of the global checkpoint. If another replication operation never fired, then the replicas would be permanently behind. To account for this, we added one more sync that would fire when the primary shard fell idle. However, this has problems: - the shard idle timer defaults to five minutes, a long time to wait for the replicas to learn of the new global checkpoint - if a replica missed the sync, there was no follow-up sync to catch them up - there is an inherent race condition where the primary shard could fall idle mid-operation (after having sent the replication request to the replicas); in this case, there would never be a background sync after the operation completes - tying the global checkpoint sync to the idle timer was never natural To fix this, we add two additional changes for the global checkpoint to be synced to the replicas. The first is that we add a post-operation sync that only fires if there are no operations in flight and there is a lagging replica. This gives us a chance to sync the global checkpoint to the replicas immediately after an operation so that they are always kept up to date. The second is that we add back a global checkpoint background sync that fires on a timer. This timer fires every thirty seconds, and is not configurable (for simplicity). This background sync is smarter than what we had previously in the sense that it only sends a sync if the global checkpoint on at least one replica is lagging that of the primary. When the timer fires, we can compare the global checkpoint on the primary to its knowledge of the global checkpoint on the replicas and only send a sync if there is a shard behind. Relates #26591 | 21 September 2017, 19:35:42 UTC |
cab0023 | James Baiera | 21 September 2017, 15:55:07 UTC | Add permission checks before reading from HDFS stream (#26716) Add checks for special permissions before reading hdfs stream data. Also adds test from readonly repository fix. MiniHDFS will now start with an existing repository with a single snapshot contained within. Readonly Repository is created in tests and attempts to list the snapshots within this repo. | 21 September 2017, 15:57:15 UTC |
a230d2a | wasserman | 21 September 2017, 14:49:00 UTC | [Docs] Fixed typo of *configuration* (#25058) | 21 September 2017, 14:52:02 UTC |
173a97f | Boaz Leskes | 21 September 2017, 14:27:03 UTC | Generating and committing a history_uuid on existing old indices destroys translog recovery info (#26734) This is a bug introduced in #26694 . The issue comes from the attempt to share code that commits the new history uuid and/or a new translog uuid. This goes wrong an existing 5.6 index that is recovered from store: 1) A new history uuid is generated as it doesn't exist in the index 2) The translog is opened and it's uuid doesn't change. 3) The committing the new history uuid used the standard commitIndexWriter method. 4) The latter asks the translog for the oldest file generation that is required to recover from the local checkpoint + 1 5) The local checkpoint on old indices is -1 (until something is indexed) and the translog is asked to recover from position 0. That excludes any operations the translog that do not have a seq no assigned, causing the FullClusterRestart bwc tests to fail. To bypass this commit moves away from the attempt to share the committing code between a new translog uuid and a new history uuid. Instead we do what we did before and open the translog with a potential commit. Afterwards we commit the history uuid if needed. This comes with the expense of opening up the method to commit an index writer in the engine. | 21 September 2017, 14:30:28 UTC |
1328925 | Martijn van Groningen | 04 September 2017, 11:19:13 UTC | Added a limit to from + size in top_hits and inner hits. Relates to #11511 | 21 September 2017, 08:45:58 UTC |
e309107 | Jay Modi | 20 September 2017, 16:19:42 UTC | BulkProcessor flush runnable preserves the thread context from creation time (#26718) When using a bulk processor, the thread context was not preserved for the flush runnable which is executed in another thread in the thread pool. This change wraps the flush runnable in a context preserving runnable so that the headers and transients from the creation time of the bulk processor are available during the execution of the flush. Closes #26596 | 20 September 2017, 18:10:28 UTC |
6e49095 | lcawley | 20 September 2017, 18:04:19 UTC | [DOCS] Added index-shared4 and index-shared5.asciidoc | 20 September 2017, 18:04:19 UTC |
4d8127c | Simon Willnauer | 20 September 2017, 15:53:12 UTC | Catch exceptions and inform handler in RemoteClusterConnection#collectNodes (#26725) This adds a missing catch block to invoke the action listener instead of bubbeling up the exception. Closes #26700 | 20 September 2017, 15:55:02 UTC |
15e9518 | Tahmim Ahmed Shibli | 20 September 2017, 15:07:19 UTC | [Docs] Fix name of character filter in example. (#26724) | 20 September 2017, 15:07:46 UTC |
cf9f3b5 | Christoph Büscher | 20 September 2017, 14:22:21 UTC | Remove parse field deprecations in query builders (#26711) The `fielddata` field and the use of the `_name` field in the short syntax of the range query have been deprecated in 5.0 and can be removed. The same goes for the deprecated `score_mode` field in HasParentQueryBuilder, the deprecated `like_text`, `ids` and `docs` parameter in the `more_like_this` query, the deprecated query name in the short version of the `regexp` query, and several deprecated alternative field names in other query builders. | 20 September 2017, 14:56:57 UTC |
b63b023 | Christoph Büscher | 20 September 2017, 12:24:30 UTC | Remove deprecated type and slop field in MatchQueryBuilder (#26720) The `type` field has been deprecated in 5.0 and can be removed. It has been replaced by using the MatchPhraseQueryBuilder or the MatchPhrasePrefixQueryBuilder. The `slop` field has also been deprecated and can be removed, the phrase and phrase prefix query builders still provide this parameter. | 20 September 2017, 13:41:36 UTC |
943cbd7 | Tanguy Leroux | 20 September 2017, 09:36:10 UTC | Make RestHighLevelClient's Request class public (#26627) Request class is currently package protected, making it difficult for the users to extend the RestHighLevelClient and to use its protected methods to execute requests. This commit makes the Request class public and changes few methods of RestHighLevelClient to be protected. | 20 September 2017, 09:52:02 UTC |
e498141 | Igor Motov | 19 September 2017, 20:32:17 UTC | Upgrade API: fix excessive logging and unnecessary template updates (#26698) TemplateUpgradeService might get stuck in repeatedly upgrading templates after upgrade to 5.6.0. This is caused by shuffling mappings definition in the template during template serialization. This commit makes the template serialization consistent. Closes #26673 | 19 September 2017, 23:50:01 UTC |
e4e88e0 | Ryan Ernst | 19 September 2017, 23:32:34 UTC | File Discovery: Remove fallback with zen discovery (#26667) When adding file based discovery, we added a fallback when the discovery type was set to zen (the default, so everyone got this warning). This commit removes the fallback for 6.0. Setting file discovery should now happen explicitly through the hosts_provider setting. closes #26661 | 19 September 2017, 23:35:37 UTC |
cf8ce9d | Jason Tedor | 19 September 2017, 21:51:07 UTC | Remove assertion from checkpoint tracker invariants This assertion is wrong because the global checkpoint on a promoted primary can be lagging the replicas until it catches up after through resyncs, ongoing indexing operations and removing the old primary from the in-sync set. | 19 September 2017, 21:54:15 UTC |
98cd184 | Boaz Leskes | 19 September 2017, 13:58:36 UTC | Restoring from snapshot should force generation of a new history uuid (#26694) Restoring a shard from snapshot throws the primary back in time violating assumptions and bringing the validity of global checkpoints in question. To avoid problems, we should make sure that a shard that was restored will never be the source of an ops based recovery to a shard that existed before the restore. To this end we have introduced the notion of `histroy_uuid` in #26577 and required that both source and target will have the same history to allow ops based recoveries. This PR make sure that a shard gets a new uuid after restore. As suggested by @ywelsch , I derived the creation of a `history_uuid` from the `RecoverySource` of the shard. Store recovery will only generate a uuid if it doesn't already exist (we can make this stricter when we don't need to deal with 5.x indices). Peer recovery follows the same logic (note that this is different than the approach in #26557, I went this way as it means that shards always have a history uuid after being recovered on a 6.x node and will also mean that a rolling restart is enough for old indices to step over to the new seq no model). Local shards and snapshot force the generation of a new translog uuid. Relates #10708 Closes #26544 | 19 September 2017, 15:51:20 UTC |
fa8c671 | Martijn van Groningen | 19 September 2017, 13:13:45 UTC | test: Use a single primary shard so that the exception can caught in the same way | 19 September 2017, 13:13:45 UTC |
e38a9f1 | Armin Braun | 19 September 2017, 10:02:05 UTC | Invalid JSON request body caused endless loop (#26680) Request bodys that only consists of a String value can lead to endless loops in the parser of several rest requests like e.g. `_count`. Up to 5.2 this seems to have been caught in the logic guessing the content type of the request, but since then it causes the node to block. This change introduces checks for receiving a valid xContent object before starting the parsing in RestActions#parseTopLevelQueryBuilder(). Closes #26083 | 19 September 2017, 10:45:49 UTC |
024aee0 | Jason Tedor | 19 September 2017, 10:27:56 UTC | Move pre-6.0 node checkpoint to SequenceNumbers This commit moves the pre-6.0 node checkpoint constant from SequenceNumbersService to SequenceNumbers so it can chill with the other sequence number-related constants. Relates #26690 | 19 September 2017, 10:34:22 UTC |
0dda578 | Martijn van Groningen | 17 July 2017, 13:24:43 UTC | inner hits: Do not allow inner hits to be specified on a nested that has a object field as parent field and that parent field is defined as an array field in the _source of the document inner hits are being computed for. Closes #25315 | 19 September 2017, 09:32:28 UTC |
d50f3f9 | Nik Everett | 18 September 2017, 18:56:03 UTC | Handle release of 5.6.1 * Add a version constant for 5.6.2 so that the 5.6.1 constant represents the 5.6.1 release and the 5.6.2 constant represents the unreleased 5.6 branch. | 18 September 2017, 18:56:03 UTC |
99be5a0 | Simon Willnauer | 18 September 2017, 15:52:36 UTC | Allow `InputStreamStreamInput` array size validation where applicable (#26692) Today we can't validate the array length in `InputStreamStreamInput` since we can't rely on `InputStream.available` yet in some situations we know the size of the stream and can apply additional validation. | 18 September 2017, 15:55:22 UTC |
0b38499 | Jason Tedor | 18 September 2017, 11:48:08 UTC | Update global checkpoint with permit after recovery After recovery completes from a primary, we now update the local knowledge on the primary of the global checkpoint on the recovery target. However if this occurs concurrently with a relocation, an assertion could trip that we are no longer in primary mode. As this local knowledge should only be tracked when we are in primary mode, updating this local knowledge should be done under a permit. This commit causes that to be the case. Relates #26666 | 18 September 2017, 11:54:45 UTC |
ff5470d | Jason Tedor | 18 September 2017, 10:28:50 UTC | Reenable BWC tests after disabling for backport This commit reenables the BWC tests after they were disabled for backporting the change to track global checkpoints of shard copies on the primary. Relates #26666 | 18 September 2017, 11:02:43 UTC |
e95b924 | Jason Tedor | 18 September 2017, 10:51:22 UTC | Filter pre-6.0 nodes for checkpoint invariants When checking that the global checkpoint on the primary is consistent with the local checkpoints of the in-sync shards, we have to filter pre-6.0 nodes from the check or the invariant will trivially trip. This commit filters these nodes out when checking this invariant. Relates #26666 | 18 September 2017, 11:02:30 UTC |
07058a9 | Jason Tedor | 18 September 2017, 10:43:02 UTC | Skip bad request REST test on pre-6.0 This commit adds a skip for the bad request REST test on pre-6.0 nodes. Previously, a request for /_(.*) where $1 is not an existing endpoint would return a 404. This is because the request would be treated as a get index request for an index named _$1. However, an index can never start with "_" so logic was added to detect this and return a 400 instead as this should be treated as a bad request. During the mixed-cluster BWC tests, a node running pre-6.0 code will still return a 404 though. Therefore, this test needs to skipped in such a mixed-cluster scenario. | 18 September 2017, 10:47:02 UTC |
d060ac0 | Jason Tedor | 18 September 2017, 10:04:44 UTC | Add global checkpoint tracking on the primary This commit adds local tracking of the global checkpoints on all shard copies when a global checkpoint tracker is operating in primary mode. With this, we relay the global checkpoint on a shard copy back to the primary shard during replication operations. This serves as another step towards adding a background sync of the global checkpoint to the shard copies. Relates #26666 | 18 September 2017, 10:07:58 UTC |
973e756 | Tanguy Leroux | 18 September 2017, 08:46:02 UTC | [Test] Fix reference/cat/allocation/line_8 test failure In this test, 260b is replaced by the regexp \d+b but the test sometimes produces results like 1.1kb so this commit adapts the regexp to match values with decimals closes #26685 | 18 September 2017, 08:52:14 UTC |
3084981 | Jason Tedor | 16 September 2017, 15:00:33 UTC | Fix discovery-file plugin to use custom config path The discovery-file plugin was not config path aware, so it always picked up the default config path (from Elasticsearch home) rather than a custom config path. This commit fixes the discovery-file plugin to respect a custom config path. Relates #26662 | 16 September 2017, 15:03:49 UTC |
2ece0a9 | Boaz Leskes | 16 September 2017, 07:43:48 UTC | fix testSniffNodes to use the new error message relates to #26564 | 16 September 2017, 07:46:05 UTC |
a9004bf | Michael Basnight | 15 September 2017, 22:00:41 UTC | Add check for invalid index in WildcardExpressionResolver (#26409) This commit adds validation to the resolving of indexes in the wildcard expression resolver. It no longer throws a 404 Not Found when resolving invalid indices. It throws a 400 instead, as it is an invalid index. This was the behavior of 5.x. | 15 September 2017, 23:42:26 UTC |
a36edc7 | Ryan Ernst | 15 September 2017, 23:24:58 UTC | Docs: Add note about removal of path_style_access in s3 repository (#26658) closes #26604 | 15 September 2017, 23:25:28 UTC |
0aa9e51 | lcawley | 14 September 2017, 23:18:29 UTC | [DOCS] Remove edit link from ML node | 15 September 2017, 15:45:26 UTC |
fefa691 | Dimitrios Liappis | 15 September 2017, 13:14:47 UTC | Docs: Use single-node discovery.type for dev example For the single node, dev example, the `discovery.type=single-node`[1],[2] is a perfect fit and makes the example shorter and more self explanatory. Also expose the transport port, to help with dev use-cases using the transport client. [1] https://github.com/elastic/elasticsearch/pull/23595 [2] https://github.com/elastic/elasticsearch/pull/23598 Relates #26289 | 15 September 2017, 13:21:44 UTC |
e752a5e | Claudio Bley | 15 September 2017, 10:25:09 UTC | Fix kuromoji default stoptags (#26600) Initialize the default stop-tags in `KuromojiPartOfSpeechFilterFactory` if the `stoptags` are not given in the config. Also adding a test which checks that part-of-speech tokens are removed when using the kuromoji_part_of_speech filter. | 15 September 2017, 10:33:37 UTC |
24c3f62 | Tanguy Leroux | 15 September 2017, 09:23:57 UTC | [Docs] Add description for missing fields in Reindex/Update/Delete By Query (#26618) This commit adds some missing description for some fields in the Reindex/UBQ/DBQ responses. | 15 September 2017, 09:48:06 UTC |
1b0f7d7 | markwalkom | 15 September 2017, 09:11:55 UTC | [Docs] Update ingest.asciidoc (#26599) Added a brief note to clarify where configured pipelines are stored (cluster state). | 15 September 2017, 09:14:59 UTC |
d14802a | Michael Basnight | 14 September 2017, 19:24:03 UTC | Add bad_request to the rest-api-spec catch params (#26539) This adds another request to the catch params. It also makes sure that the generic request param does not allow 400 either. | 15 September 2017, 04:29:33 UTC |
6221a61 | Itamar Syn-Hershko | 15 September 2017, 01:10:12 UTC | Better message text for ResponseException This avoids messages with malformed URLs, like "org.elasticsearch.client.ResponseException: PUT http://127.0.0.1:9502customer: HTTP/1.1 400 Bad Request". Relates #26564 | 15 September 2017, 01:11:16 UTC |
3975152 | Boaz Leskes | 14 September 2017, 20:19:26 UTC | fix StartRecoveryRequestTests.testSerialization | 14 September 2017, 20:19:56 UTC |
bfb27ef | Boaz Leskes | 14 September 2017, 18:58:24 UTC | enable bwc testing | 14 September 2017, 18:58:24 UTC |
952d933 | Boaz Leskes | 14 September 2017, 18:25:02 UTC | Introduce a History UUID as a requirement for ops based recovery (#26577) The new ops based recovery, introduce as part of #10708, is based on the assumption that all operations below the global checkpoint known to the replica do not need to be synced with the primary. This is based on the guarantee that all ops below it are available on primary and they are equal. Under normal operations this guarantee holds. Sadly, it can be violated when a primary is restored from an old snapshot. At the point the restore primary can miss operations below the replica's global checkpoint, or even worse may have total different operations at the same spot. This PR introduces the notion of a history uuid to be able to capture the difference with the restored primary (in a follow up PR). The History UUID is generated by a primary when it is first created and is synced to the replicas which are recovered via a file based recovery. The PR adds a requirement to ops based recovery to make sure that the history uuid of the source and the target are equal. Under normal operations, all shard copies will stay with that history uuid for the rest of the index lifetime and thus this is a noop. However, it gives us a place to guarantee we fall back to file base syncing in special events like a restore from snapshot (to be done as a follow up) and when someone calls the truncate translog command which can go wrong when combined with primary recovery (this is done in this PR). We considered in the past to use the translog uuid for this function (i.e., sync it across copies) and thus avoid adding an extra identifier. This idea was rejected as it removes the ability to verify that a specific translog really belongs to a specific lucene index. We also feel that having a history uuid will serve us well in the future. | 14 September 2017, 18:57:25 UTC |
be87365 | Michael Basnight | 14 September 2017, 16:05:46 UTC | Add missing catch arguments to the rest api spec (#26536) | 14 September 2017, 16:11:45 UTC |
7bcdb4c | Bernd | 14 September 2017, 13:34:07 UTC | [Docs] Correct typo in removal_of_types.asciidoc (#26646) | 14 September 2017, 13:35:20 UTC |
4c93a23 | Christoph Büscher | 14 September 2017, 13:08:20 UTC | [Docs] "The the" is a great band, but ... (#26644) Removing several occurrences of this typo in the docs and javadocs, seems to be a common mistake. Corrections turn up once in a while in PRs, better to correct some of this in one sweep. | 14 September 2017, 13:29:17 UTC |
f6f87a7 | Jason Tedor | 14 September 2017, 01:30:27 UTC | Refactor bootstrap check results and error messages This commit refactors the bootstrap checks into a single result object that encapsulates whether or not the check passed, and a failure message if the check failed. This simpifies the checks, and enables the messages to more easily be based on the state used to discern whether or not the check passed. Relates #26637 | 14 September 2017, 11:13:44 UTC |
1e3cd97 | Jim Ferenczi | 14 September 2017, 07:31:14 UTC | Fix percolator highlight sub fetch phase to not highlight query twice (#26622) * Fix percolator highlight sub fetch phase to not highlight query twice The PercolatorHighlightSubFetchPhase does not override hitExecute and since it extends HighlightPhase the search hits are highlighted twice (by the highlight phase and then by the percolator). This does not alter the results, the second highlighting just overrides the first one but this slow down the request because it duplicates the work. | 14 September 2017, 10:08:38 UTC |
c634dee | Daniel A. Ochoa | 14 September 2017, 08:10:34 UTC | [Docs] Update link in removal_of_types.asciidoc (#26614) Fix link to [parent-child relationship]. | 14 September 2017, 08:12:08 UTC |
8aeaf43 | Simon Willnauer | 13 September 2017, 20:14:17 UTC | Add BootstrapContext to expose settings and recovered state to bootstrap checks (#26628) This exposes the node settings and the persistent part of the cluster state to the bootstrap checks to allow plugins to enforce certain preconditions based on the recovered state. | 13 September 2017, 20:40:31 UTC |
4e6bc14 | Jason Tedor | 13 September 2017, 16:15:15 UTC | Initialize checkpoint tracker with allocation ID This commit pushes the allocation ID down through to the global checkpoint tracker at construction rather than when activated as a primary. Relates #26630 | 13 September 2017, 16:16:28 UTC |
0e2dc29 | Christoph Büscher | 13 September 2017, 15:22:16 UTC | Add soft limit on allowed number of script fields in request (#26598) Requesting to many script_fields in a search request can be costly because of script execution. This change introduces a soft limit on the number of script fields that are allowed per request. The setting can be changed per index using the index.max_script_fields setting. Relates to #26390 | 13 September 2017, 15:39:43 UTC |
94d65ea | Tanguy Leroux | 13 September 2017, 15:28:31 UTC | [Docs] Clarify size parameter in Completion Suggester doc (#26617) | 13 September 2017, 15:34:44 UTC |
80d02fe | Jim Ferenczi | 13 September 2017, 14:09:00 UTC | Fix incomplete sentences in parent-join docs (#26623) * Fix incomplete sentences in parent-join docs Closes #26590 | 13 September 2017, 14:10:12 UTC |
c7bcc9d | Adrien Grand | 13 September 2017, 13:26:33 UTC | More efficient encoding of range fields. (#26470) This PR removes the vInt that precedes every value in order to know how long they are. Instead the query takes an enum that tells how to compute the length of values: for fixed-length data (ip addresses, double, float) the length is a constant while longs and integers use a variable-length representation that allows the length to be computed from the encoded values. Also the encoding of ints/longs was made a bit more efficient in order not to waste 3 bits in the header. As a consequence, values between -8 and 7 can now be encoded on 1 byte and values between -2048 and 2047 can now be encoded on 2 bytes or less. Closes #26443 | 13 September 2017, 13:27:35 UTC |
a1ae895 | Ivan Brusic | 13 September 2017, 11:58:30 UTC | Add boolean similarity to built in similarity types (#26613) | 13 September 2017, 13:25:19 UTC |
af7f849 | Jason Tedor | 13 September 2017, 12:17:16 UTC | Ensure module is bundled before installing in tests This commit adds a dependency to the install module task on the task that builds the module. This is needed for standalone integration tests that require other modules to be installed. Without this, we do not have a guarantee that the module is bundled. | 13 September 2017, 12:20:08 UTC |
4a2d431 | Christoph Büscher | 13 September 2017, 09:57:06 UTC | Add a soft limit for the number of requested doc-value fields (#26574) Requesting to many docvalue_fields in a search request can potentially be costly because it might incur a per-field per-document seek. This change introduces a soft limit on the number of fields that can be retrieved. The setting can be changed per index using the `index.max_docvalue_fields_search` setting. Relates to #26390 | 13 September 2017, 10:38:20 UTC |
9e48810 | Jason Tedor | 13 September 2017, 10:16:27 UTC | Let search phases override max concurrent requests If the query coordinating node is also a data node that holds all the shards for a search request, we can end up recursing through the can match phase (because we send a local request and on response in the listener move to the next shard and do this again, without ever having returned from previous shards). This recursion can lead to stack overflow for even a reasonable number of indices (daily indices over a sixty days with five shards per day is enough to trigger the stack overflow). Moreover, all this execution would be happening on a network thread (the thread that initially received the query). With this commit, we allow search phases to override max concurrent requests. This allows the can match phase to avoid recursing through the shards towards a stack overflow. Relates #26484 | 13 September 2017, 10:28:19 UTC |
92452bc | Russ Cam | 13 September 2017, 03:23:12 UTC | Add beta tag to MSI Windows Installer (#26616) (cherry picked from commit 62a7205577b6e462c27681135b97ce4af051b58e) | 13 September 2017, 03:28:34 UTC |
48776c4 | Adrien Grand | 12 September 2017, 15:54:50 UTC | Fix Lucene version of 5.6.1. | 12 September 2017, 16:33:39 UTC |
9bad813 | Yu | 12 September 2017, 12:29:10 UTC | Remove index mapper dynamic settings (#25734) Remove "index.mapper.dynamic" setting for 6.0 (and after) indices, but still keep working for 5.x (and before) indices. Remove two index dynamic disable test cases as the disability of index.mapper.dynamic is already removed for current version. Add a new test class for version test. | 12 September 2017, 15:33:36 UTC |
7ad65a1 | Michael Basnight | 11 September 2017, 21:30:38 UTC | Handle the 5.6.0 release | 12 September 2017, 14:37:09 UTC |
66d5c40 | Simon Willnauer | 12 September 2017, 13:32:33 UTC | Allow plugins to validate cluster-state on join (#26595) Today we don't have a pluggable way to validate if the cluster state is compatible with the node that joins. We already apply some checks for index compatibility that prevents nodes to join a cluster with indices it doesn't support but for plugins this isn't possible. This change adds a cluster state validator that allows plugins to prevent a join if the cluster-state is incompatible. | 12 September 2017, 13:35:28 UTC |
c7d8eb9 | etiennecarriere | 11 September 2017, 23:09:27 UTC | Azure repository: Accelerate the listing of files (used in delete snapshot) (#25710) This commit reworks the azure listing of snapshot files to do a single listing, instead of once per blob. closes #25424 | 11 September 2017, 23:17:23 UTC |
0248b75 | Ryan Ernst | 11 September 2017, 22:55:02 UTC | Build: Remove norelease from forbidden patterns (#26592) closes #26547 | 11 September 2017, 22:55:32 UTC |
ca0e3a3 | Ryan Ernst | 11 September 2017, 22:44:23 UTC | Fix reference to painless inside expression engine (#26528) This was a simple copy/paste bug in an earlier refactoring. | 11 September 2017, 22:45:12 UTC |
5bc8e03 | Ryan Ernst | 11 September 2017, 22:43:34 UTC | Build: Move javadoc linking to root build.gradle (#26529) Javadoc linking between projects currently relies on projectSubstitutions. However, that is an extension variable that is not part of BuildPlugin. This commit moves the javadoc linking into the root build.gradle, alongside where projectSubstitutions are defined. | 11 September 2017, 22:44:02 UTC |
3fea8a5 | Ryan Ernst | 11 September 2017, 22:38:30 UTC | Test: Remove leftover static bwc test case (#26584) This test case was leftover from the static bwc tests. There was still one use for checking we do not load old indices, but this PR moves the legacy code needed for that directly into the test. I also opened a follow up issue to completely remove the unsupported test: #26583. | 11 September 2017, 22:43:11 UTC |
3ea9f07 | Ryan Ernst | 11 September 2017, 18:39:29 UTC | Docs: Remove remaining references to file and native scripts (#26580) relates #25690 | 11 September 2017, 18:40:02 UTC |
ef8c0b9 | Ryan Ernst | 11 September 2017, 18:39:11 UTC | Docs: Add note about file scripts removal (#26579) closes #25690 | 11 September 2017, 18:39:11 UTC |
d7d23ab | Jason Tedor | 11 September 2017, 11:42:11 UTC | Snapshot fallback should consider build.snapshot When determining if a build is a snapshot build, we look for a field in the JAR manifest. However, when running tests, we are not running with a compiled core Elasticsearch JAR, we are running with the compiled core classes on the classpath. We have a fallback for this, we always assume such a situation is a snapshot build. However, when running builds with -Dbuild.snapshot=false, this is not the case. As such, we need to fallback to the value of build.snapshot. However, there are cases where we are not running with a compiled core Elasticsearch JAR (e.g., when the transport client is embedded in a web container) so we should only do this fallback if we are in tests. To verify we are in tests, we check if randomized runner is on the classpath. Relates #26554 | 11 September 2017, 11:43:00 UTC |
f445683 | jiangzhuolin | 11 September 2017, 08:06:14 UTC | [Docs] Update method setSource(byte[] source) (#26561) The method setSource(byte[]) from the type IndexRequestBuilder is deprecated, use the method setSource(byte[] source, XContentType xContentType). * add a whitespace after the comma add a whitespace after the comma for better readability. | 11 September 2017, 08:08:12 UTC |
8547d0b | Md.Abdulla-Al-Sun | 09 September 2017, 20:25:31 UTC | [Docs] Fix typo in javadocs (#26556) | 09 September 2017, 20:27:59 UTC |
671bf4d | Jason Tedor | 09 September 2017, 19:28:26 UTC | Allow multiple digits in Vagrant 2.x minor versions This commit allows the minor version in Vagrant 2.x versions to have two digits when we perform the Vagrant version check. | 09 September 2017, 19:30:13 UTC |
f1e8b99 | Kevin Risden | 09 September 2017, 19:27:21 UTC | Support Vagrant 2.x This commit adds support for Vagrant 2.x by allowing these versions to pass the Vagrant version check. Relates #26563 | 09 September 2017, 19:30:13 UTC |
18fa40e | Jason Tedor | 08 September 2017, 01:57:08 UTC | Remove norelease regarding destroying history This commit removes a norelease from the codebase now that there is a CI job that fails on the norelease pattern being present. Instead, a new issue has been opened to track this one. Relates #26544 | 08 September 2017, 02:00:21 UTC |
96bf89c | Jim Ferenczi | 07 September 2017, 12:17:37 UTC | Fail query when a sort is provided in conjunction with rescorers (#26510) This change fixes a regression introduced in 6 that removes the skipping of the rescore phase when a sort other than _score is used. We now fail the request when a sort is provided in conjunction with rescore instead of just skipping the rescore phase This commit also adds an assert that checks if the topdocs are sorted by _score after the rescoring. This is the responsibility of the rescorer to make sure that topdocs are sorted after rescore so we just check that this condition is met in the rescore phase. | 07 September 2017, 15:04:38 UTC |