From b4cc3cd35dea2e3059142c6bd7e2eb13ca8944ac Mon Sep 17 00:00:00 2001 From: Lee Hinman Date: Wed, 7 Sep 2016 11:00:09 -0600 Subject: Remove FORCE version_type This was an error-prone version type that allowed overriding previous version semantics. It could cause primaries and replicas to be out of sync however, so it has been removed. Resolves #19769 --- .../versioning/SimpleVersioningIT.java | 30 ---------------------- 1 file changed, 30 deletions(-) (limited to 'core/src/test/java/org/elasticsearch/versioning') diff --git a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java index 67e7d528e5..b80c5bd8e2 100644 --- a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java +++ b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java @@ -72,36 +72,6 @@ public class SimpleVersioningIT extends ESIntegTestCase { assertThat(indexResponse.getVersion(), equalTo(18L)); } - public void testForce() throws Exception { - createIndex("test"); - ensureGreen("test"); // we are testing force here which doesn't work if we are recovering at the same time - zzzzz... - IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(12).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(12L)); - - indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").setVersion(12).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(12L)); - - indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").setVersion(14).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(14L)); - - indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(13).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(13L)); - - client().admin().indices().prepareRefresh().execute().actionGet(); - if (randomBoolean()) { - refresh(); - } - for (int i = 0; i < 10; i++) { - assertThat(client().prepareGet("test", "type", "1").get().getVersion(), equalTo(13L)); - } - - // deleting with a lower version works. - long v = randomIntBetween(12, 14); - DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(v).setVersionType(VersionType.FORCE).get(); - assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult()); - assertThat(deleteResponse.getVersion(), equalTo(v)); - } - public void testExternalGTE() throws Exception { createIndex("test"); -- cgit v1.2.3 From b41888966584fac1717131dbee165aa638535bea Mon Sep 17 00:00:00 2001 From: Lee Hinman Date: Thu, 8 Sep 2016 07:43:55 -0600 Subject: Revert "Remove FORCE version_type" This reverts commit b4cc3cd35dea2e3059142c6bd7e2eb13ca8944ac. --- .../versioning/SimpleVersioningIT.java | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'core/src/test/java/org/elasticsearch/versioning') diff --git a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java index b80c5bd8e2..67e7d528e5 100644 --- a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java +++ b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java @@ -72,6 +72,36 @@ public class SimpleVersioningIT extends ESIntegTestCase { assertThat(indexResponse.getVersion(), equalTo(18L)); } + public void testForce() throws Exception { + createIndex("test"); + ensureGreen("test"); // we are testing force here which doesn't work if we are recovering at the same time - zzzzz... + IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(12).setVersionType(VersionType.FORCE).get(); + assertThat(indexResponse.getVersion(), equalTo(12L)); + + indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").setVersion(12).setVersionType(VersionType.FORCE).get(); + assertThat(indexResponse.getVersion(), equalTo(12L)); + + indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").setVersion(14).setVersionType(VersionType.FORCE).get(); + assertThat(indexResponse.getVersion(), equalTo(14L)); + + indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(13).setVersionType(VersionType.FORCE).get(); + assertThat(indexResponse.getVersion(), equalTo(13L)); + + client().admin().indices().prepareRefresh().execute().actionGet(); + if (randomBoolean()) { + refresh(); + } + for (int i = 0; i < 10; i++) { + assertThat(client().prepareGet("test", "type", "1").get().getVersion(), equalTo(13L)); + } + + // deleting with a lower version works. + long v = randomIntBetween(12, 14); + DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(v).setVersionType(VersionType.FORCE).get(); + assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult()); + assertThat(deleteResponse.getVersion(), equalTo(v)); + } + public void testExternalGTE() throws Exception { createIndex("test"); -- cgit v1.2.3 From 49695af2ac8dd52d461b10a12b9c826e3f6691e7 Mon Sep 17 00:00:00 2001 From: Lee Hinman Date: Wed, 7 Sep 2016 11:00:09 -0600 Subject: Remove FORCE version_type This was an error-prone version type that allowed overriding previous version semantics. It could cause primaries and replicas to be out of sync however, so it has been removed. Resolves #19769 --- .../versioning/SimpleVersioningIT.java | 30 ---------------------- 1 file changed, 30 deletions(-) (limited to 'core/src/test/java/org/elasticsearch/versioning') diff --git a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java index 67e7d528e5..b80c5bd8e2 100644 --- a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java +++ b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java @@ -72,36 +72,6 @@ public class SimpleVersioningIT extends ESIntegTestCase { assertThat(indexResponse.getVersion(), equalTo(18L)); } - public void testForce() throws Exception { - createIndex("test"); - ensureGreen("test"); // we are testing force here which doesn't work if we are recovering at the same time - zzzzz... - IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(12).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(12L)); - - indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").setVersion(12).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(12L)); - - indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").setVersion(14).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(14L)); - - indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(13).setVersionType(VersionType.FORCE).get(); - assertThat(indexResponse.getVersion(), equalTo(13L)); - - client().admin().indices().prepareRefresh().execute().actionGet(); - if (randomBoolean()) { - refresh(); - } - for (int i = 0; i < 10; i++) { - assertThat(client().prepareGet("test", "type", "1").get().getVersion(), equalTo(13L)); - } - - // deleting with a lower version works. - long v = randomIntBetween(12, 14); - DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(v).setVersionType(VersionType.FORCE).get(); - assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult()); - assertThat(deleteResponse.getVersion(), equalTo(v)); - } - public void testExternalGTE() throws Exception { createIndex("test"); -- cgit v1.2.3 From 01519745007b2d093cdf602783c27a26de82c69b Mon Sep 17 00:00:00 2001 From: Simon Willnauer Date: Wed, 21 Sep 2016 14:20:24 +0200 Subject: `_flush` should block by default (#20597) This commit changes the default behavior of `_flush` to block if other flushes are ongoing. This also removes the use of `FlushNotAllowedException` and instead simply return immediately by skipping the flush. Users should be aware if they set this option that the flush might or might not flush everything to disk ie. no transactional behavior of some sort. Closes #20569 --- .../test/java/org/elasticsearch/versioning/SimpleVersioningIT.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'core/src/test/java/org/elasticsearch/versioning') diff --git a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java index b80c5bd8e2..c5d0129644 100644 --- a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java +++ b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java @@ -29,7 +29,6 @@ import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.common.lucene.uid.Versions; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.index.VersionType; -import org.elasticsearch.index.engine.FlushNotAllowedEngineException; import org.elasticsearch.index.engine.VersionConflictEngineException; import org.elasticsearch.test.ESIntegTestCase; @@ -617,11 +616,7 @@ public class SimpleVersioningIT extends ESIntegTestCase { } if (threadRandom.nextInt(100) == 7) { logger.trace("--> {}: TEST: now flush at {}", threadID, System.nanoTime() - startTime); - try { - flush(); - } catch (FlushNotAllowedEngineException fnaee) { - // OK - } + flush(); logger.trace("--> {}: TEST: flush done at {}", threadID, System.nanoTime() - startTime); } } -- cgit v1.2.3