I'm trying to use Hibernate Search to use the Lucene index hosted on Amazon S3, but I get 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)
Documentation on storing lucene indexes in s3 is a bit rare, but I think I'm on the right track. I am trying to run infinispan built into my application, so I specified the path to the infinispan XML interface as shown below 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:
<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 am 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 using hibernate-search and Amazon S3 together is appreciated.
Thanks in advance.
source share