-
Bug
-
Resolution: Won't Do
-
Blocker
-
None
-
3.1.3.Final
-
None
-
None
Also tested on 3.2-SNAPSHOT
The following setup currently will not work since Hibernate Search is instructing Lucene to hold exclusive lock on an index:
- Modeshape running in clustered mode
- Modeshape configured to use infinispan as index storage for lucene
Basically, Hibernate Search assumes that exclusive access to the index storage is a given, in CommonPropertiesParse.java hibernate-search-engine:4.2.0.Final):
public static boolean isExclusiveIndexUsageEnabled(Properties indexProps) { return ConfigurationParseHelper.getBooleanValue( indexProps, Environment.EXCLUSIVE_INDEX_USE, true ); }
Note the default value of true, this causes locks to be held on the index perpetually and never released once a node acquired access to the index (at RepositoryQueryManager.queryEngine() when it calls:
SearchFactoryImplementor searchFactory = new SearchFactoryBuilder().configuration(config).buildSearchFactory();
All subsequent modeshape instances will hang immediately when it reaches this line.
The only fix I can think of is to add a configuration parameter to the indexing configuration section of modeshape and pass in the hibernate search configuration parameter: hibernate.search.[default|<indexname>].exclusive_index_use, per: http://docs.jboss.org/hibernate/search/4.2/reference/en-US/html/search-configuration.html#lucene-indexing-performance
Note that this property used to be "false" in 3.x but defaults to "true" in 4.x.
- is duplicated by
-
MODE-1845 Can't start multiple nodes at once while storing indexes in Infinispan
- Closed
- is incorporated by
-
MODE-1892 Storing indexes in Infinispan via Hibernate Search, doesn't work
- Closed
- relates to
-
MODE-1843 Indexing is throwing exceptions under heavy load, losing lock, concurrency issues when using Infinispan Directory
- Closed