diff options
author | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-11-22 18:47:17 +0100 |
---|---|---|
committer | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-11-22 18:47:17 +0100 |
commit | 29d069c5f0881253e4c6a1a1aef372b3140aaf8d (patch) | |
tree | 9c7b25e68411f7d4363398d1e5792c0084d80acd /sonar-server | |
parent | e01b87b68026b52c209ae669913daff916117cd0 (diff) | |
download | sonarqube-29d069c5f0881253e4c6a1a1aef372b3140aaf8d.tar.gz sonarqube-29d069c5f0881253e4c6a1a1aef372b3140aaf8d.zip |
SONAR-4904 Disable dynamic mapping in ES
Diffstat (limited to 'sonar-server')
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/search/SearchIndex.java | 8 | ||||
-rw-r--r-- | sonar-server/src/test/java/org/sonar/server/search/SearchIndexTest.java | 9 |
2 files changed, 15 insertions, 2 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/search/SearchIndex.java b/sonar-server/src/main/java/org/sonar/server/search/SearchIndex.java index 9912a933b97..622c2048c63 100644 --- a/sonar-server/src/main/java/org/sonar/server/search/SearchIndex.java +++ b/sonar-server/src/main/java/org/sonar/server/search/SearchIndex.java @@ -54,10 +54,13 @@ public class SearchIndex { private static final Logger LOG = LoggerFactory.getLogger(SearchIndex.class); private static final Settings INDEX_DEFAULT_SETTINGS = ImmutableSettings.builder() - .put("index.number_of_shards", 1) - .put("index.number_of_replicas", 0) + .put("number_of_shards", 1) + .put("number_of_replicas", 0) + .put("mapper.dynamic", false) .build(); + private static final String INDEX_DEFAULT_MAPPING = "{ \"_default_\": { \"dynamic\": \"strict\" } }"; + private SearchNode searchNode; private Client client; @@ -138,6 +141,7 @@ public class SearchIndex { profiler.start(format("create index '%s'", index)); indices.prepareCreate(index) .setSettings(INDEX_DEFAULT_SETTINGS) + .addMapping("_default_", INDEX_DEFAULT_MAPPING) .execute().actionGet(); } } catch (Exception e) { diff --git a/sonar-server/src/test/java/org/sonar/server/search/SearchIndexTest.java b/sonar-server/src/test/java/org/sonar/server/search/SearchIndexTest.java index f0dc8f37e66..aee360967c7 100644 --- a/sonar-server/src/test/java/org/sonar/server/search/SearchIndexTest.java +++ b/sonar-server/src/test/java/org/sonar/server/search/SearchIndexTest.java @@ -23,6 +23,7 @@ package org.sonar.server.search; import com.github.tlrx.elasticsearch.test.EsSetup; import org.elasticsearch.common.io.BytesStream; import org.elasticsearch.common.xcontent.XContentFactory; +import org.elasticsearch.index.mapper.StrictDynamicMappingException; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -124,4 +125,12 @@ public class SearchIndexTest { List<String> docIds = searchIndex.findDocumentIds(SearchQuery.create()); assertThat(docIds).hasSize(numberOfDocuments); } + + @Test(expected = StrictDynamicMappingException.class) + public void should_forbid_dynamic_mapping() throws Exception { + searchIndex.addMappingFromClasspath("index", "type1", "/org/sonar/server/search/SearchIndexTest/correct_mapping1.json"); + searchIndex.put("index", "type1", "666", + XContentFactory.jsonBuilder().startObject().field("unknown", "plouf").endObject() + ); + } } |