Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-1889

Cannot use Infinispan for Hibernate Search Storage when Clustered

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Blocker 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.

              Unassigned Unassigned
              clementp_jira Clement Pang (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: