-
Bug
-
Resolution: Done
-
Major
-
4.6.0.Final
-
None
ElasticSearch index provider cannot work under load because of http/socket limitations
Configuration:
EditableDocument indexProviders = editor.getOrCreateDocument(FieldName.INDEX_PROVIDERS); indexProviders.getOrCreateDocument("local") .set("directory", "/modeshape/index") .set("classname", "org.modeshape.jcr.index.elasticsearch.EsIndexProvider") .set("host", "localhost") .set("port", "9200") .set("cacheLRUEnable", true) .set("mmapFileEnable", true) .set("commitFileSyncDisable", true) .set("transactionDisable", true) .set("asyncWrite", true) .set("cacheSize", 1000000);
Under some load (many session.save calls) the exception occurs:
org.modeshape.jcr.index.elasticsearch.EsIndexException: java.net.BindException: Address already in use: connect at org.modeshape.jcr.index.elasticsearch.EsIndex.commit(EsIndex.java:249) ...