6

I'm trying to use Hibernate Search to use a Lucene Index hosted on Amazon S3 but I'm getting the following exception:

Exception in thread "LuceneIndexesData-CloudCacheStore-0" java.lang.IllegalArgumentException: bucketId: A96137216.bz2 (expected: integer)
    at org.infinispan.loaders.bucket.Bucket.setBucketId(Bucket.java:84)
    at org.infinispan.loaders.cloud.CloudCacheStore.readFromBlob(CloudCacheStore.java:450)
    at org.infinispan.loaders.cloud.CloudCacheStore.scanBlobForExpiredEntries(CloudCacheStore.java:292)
    at org.infinispan.loaders.cloud.CloudCacheStore.purge(CloudCacheStore.java:284)
    at org.infinispan.loaders.cloud.CloudCacheStore.purgeInternal(CloudCacheStore.java:336)
    at org.infinispan.loaders.AbstractCacheStore$2.run(AbstractCacheStore.java:111)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

The documentation for persisting lucene indexes in s3 is a little sparse but I think I'm on the right track. I'm trying to start infinispan embedded within my application so I've specified a path to the infinispan XML as follows in my hibernate.cfg.xml

<property name="hibernate.search.default.directory_provider">infinispan</property>
<property name="hibernate.search.infinispan.configuration_resourcename">infinispan-amazons3.xml</property>
<property name="hibernate.search.infinispan.chunk_size">300000000</property>

And my infinispan-amazons3.xml is:

<infinispan>
    <default>
        <loaders>
            <cloudStore xmlns="urn:infinispan:config:cloud:5.3"
                cloudService="aws-s3"
                identity="user"
                password="password"
                bucketPrefix="bucket">
            </cloudStore>
        </loaders>
    </default>
</infinispan>

I'm using the following versions (maven pom.xml)

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-search</artifactId>
    <version>4.4.4.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-search-infinispan</artifactId>
    <version>4.4.4.Final</version>
</dependency>
<dependency>
    <groupId>org.infinispan</groupId>
    <artifactId>infinispan-cachestore-cloud</artifactId>
    <version>5.3.0.Final</version>
</dependency>        
<dependency>
    <groupId>org.jclouds.provider</groupId>
    <artifactId>aws-s3</artifactId>
    <version>1.4.1</version>
</dependency>

Any help with using hibernate-search and Amazon S3 together is appreciated.

Thanks in advance.

lance-java
  • 25,497
  • 4
  • 59
  • 101

0 Answers0