[
https://issues.jboss.org/browse/ISPN-4751?page=com.atlassian.jira.plugin....
]
Sanne Grinovero commented on ISPN-4751:
---------------------------------------
Hi Lance, let me clarify: JClouds is not abandoned at all, it's actually a very
popular project.
It's the {{infinispan-cachestore-cloud}} which is needing some maintenance here, and
while I'm not familiar with that component it shouldn't be significantly more
complex than writing your own {{CacheStore}} implementation.
Yes you can definitely write your own {{CacheStore}} implementation. It's not trivial
as you'd need to implement a couple more methods than just get and put, but it's
not too complex either: you can find many implementations, some developed by the core team
and many more contributed by occasional user, we even have customers who regularly roll
their own to integrate with complex in-house legacy services.
Unfortunately there is not a guide on this subject but you could definitely look at the
existing implementations; for example if you're familiar with JPA / Hibernate you can
look at the JPACacheStore:
https://github.com/infinispan/infinispan/tree/master/persistence/jpa
or if you're more familiar with JDBC there is
https://github.com/infinispan/infinispan/tree/master/persistence/jdbc .
Keep in mind though: Infinispan 6 and 7 have a significantly different interface than
version 5. I'm not sure why you're using the old version of Infinispan, I'd
suggest you upgrade before developing that or you'll have to rewrite it.
(This significant change is the reason why we had to postpone updating some of the many
cachestores: the API won't change often of course but in this case it had and there
where too many implementations to handle it while blocking progress on the core
library).
I'll talk with the others to see if we could at least document the process to develop
a custom {{CacheStore}}: you're not the first one asking recently ;-)
Hibernate search, infinispan and Amazon S3 -
IllegalArgumentException: bucketId: A96137216.bz2 (expected: integer)
------------------------------------------------------------------------------------------------------------------
Key: ISPN-4751
URL:
https://issues.jboss.org/browse/ISPN-4751
Project: Infinispan
Issue Type: Bug
Reporter: Lance Ess
Assignee: Mircea Markus
I'm trying to use hibernate-search to host a Lucene index on Amazon S3 but I'm
getting the following exception:
{code}
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)
{code}
The documentation for persisting Lucene indexes on Amazon-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
{code: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>
{code}
And my infinispan-amazons3.xml is:
{code: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>
{code}
I'm using the following versions (maven pom.xml)
{code}
<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>
{code}
I initially thought this was related to ISPN-1909 but my version is after the fix for
that issue (5.1.3.CR1, 5.1.3.FINAL)
FYI here's my maven dependency tree (grepped for infinispan)
{code}
$ mvn dependency:tree | grep infinispan
[INFO] +- org.hibernate:hibernate-search-infinispan:jar:4.4.4.Final:compile
[INFO] | \- org.infinispan:infinispan-lucene-directory:jar:5.3.0.Final:compile
[INFO] +- org.infinispan:infinispan-cachestore-cloud:jar:5.3.0.Final:compile
[INFO] | \- org.infinispan:infinispan-core:jar:5.3.0.Final:compile
{code}
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)