[hibernate-dev] MassIndexer have any known issues when InfinispanDirectory is used?

Sanne Grinovero sanne at hibernate.org
Sun Aug 28 12:28:17 EDT 2011


Hi Tom,
I've created a test checking for both event-driven changes and the
MassIndexer, double-checking event-driven changes after the
MassIndexer completion, starting two nodes initially and adding a
third node dynamically during the test execution.. alls seems to work
flawlessly, a part of taking so long due the jgroups delays for
starting a new node (it takes ~14 seconds to run).
you can find it here:
https://github.com/Sanne/hibernate-search/tree/MassIndexerWithInfinispan5.0-Search3.4

Could you please check this test out and change it as much as you feel
is needed to reproduce the problem?

Also note the previous commit to change the Infinispan version to 5.0:
you mentioned you're using 5.0 but Search 3.4 was intended to support
Infinispan 4.2.x, so I had to apply some minimal changes.

You might want to try out Hibernate Search 4.0.0.Alpha1, intended to
support Infinispan 5.x, but I've created this test for Search 3.4 as
the backends interaction in 4.0 is very different: there are not two
competing backends anymore, but a unified access to the IndexWriter,
so to try reproducing your issue it was pointless to try it out on
master.

Sanne

2011/8/27 Tom Waterhouse <tomwaterhouse at gmail.com>:
> Sanne,
>
> There aren't any other nodes involved in the cluster.  This is the 'just
> make it work' phase of the project, so the simplest configuration is being
> used.
>
> Note that normal index access is fine.  Entity operations populate the
> Lucene indexes as expected, and search operations work as expected.  It is
> only the MassIndexer that has had trouble to this point.
>
> Tom
>
> On Fri, Aug 26, 2011 at 7:02 AM, Sanne Grinovero <sanne at hibernate.org>
> wrote:
>>
>> Hi Tom,
>>
>> the MassIndexer needs to acquire the Directory lock, which is in this
>> case distributed, i.e. it's a single lock to coordinate writes across
>> all nodes (searches can happen in parallel, but writes can not).
>>
>> Is it possible that another node is writing to the index, or is any
>> node using exclusive_index_use=true ?
>>
>> Regards,
>> Sanne
>>
>> 2011/8/25 Tom Waterhouse <tomwaterhouse at gmail.com>:
>> > I'm trying to setup clustering of entities and Lucene indexes for our
>> > app
>> > with Hibernate 3.6.5, Hibernate Search 3.4.0, Infinispan 5.0.  I'm using
>> > FileCacheStore for the Infinispan cache loader
>> > (InfinispanDirectoryProvider).
>> >
>> > MassIndexerImpl.startAndWait() never returns with this configuration.  A
>> > lock is never able to be obtained, see the stack from a thread dump
>> > below.
>> > The same MassIndexer call works fine when using FSDirectoryProvider.
>> >
>> > Should MassIndexer work with Infinispan as the directory?
>> >
>> > Tom
>> >
>> >  java.lang.Thread.State: TIMED_WAITING (sleeping)
>> >    at java.lang.Thread.sleep(Native Method)
>> >    at org.apache.lucene.store.Lock.obtain(Lock.java:91)
>> >    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1097)
>> >    at
>> >
>> > org.hibernate.search.backend.Workspace.createNewIndexWriter(Workspace.java:202)
>> >    at
>> >
>> > org.hibernate.search.backend.Workspace.getIndexWriter(Workspace.java:175)
>> >    - locked <7793180e8> (a org.hibernate.search.backend.Workspace)
>> > _______________________________________________
>> > hibernate-dev mailing list
>> > hibernate-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
>> >
>
>




More information about the hibernate-dev mailing list