2013-06-27 1 views
2

숫자 파일 이름을 방지, 그것은 주로 작동하는 것 같군,하지만 하나 인덱스에 압축 모든 인덱스 파일에이 오류를 던져 '.bz2로'확장을 유발 가능, 측면 참고로최대 절전 모드 검색 + Infinispan + S3 - 나는</p> <p>현재 S3에 인덱스를 저장, Infinispan를 사용하여 최대 절전 모드 검색을 구성하는 도움을 찾고 있어요

Exception in thread "LuceneIndexesMetadata-CloudCacheStore-3" java.lang.IllegalArgumentException: bucketId: A566834176 (expected: integer) 
    at org.infinispan.loaders.bucket.Bucket.setBucketId(Bucket.java:77) 
    at org.infinispan.loaders.cloud.CloudCacheStore.readFromBlob(CloudCacheStore.java:446) 
    at org.infinispan.loaders.cloud.CloudCacheStore.scanBlobForExpiredEntries(CloudCacheStore.java:291) 
    at org.infinispan.loaders.cloud.CloudCacheStore.purge(CloudCacheStore.java:283) 
    at org.infinispan.loaders.cloud.CloudCacheStore.purgeInternal(CloudCacheStore.java:335) 
    at org.infinispan.loaders.AbstractCacheStore$2.run(AbstractCacheStore.java:111) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
    at java.lang.Thread.run(Thread.java:680) 

:이 생성 인덱스 파일은 다음과 같은 오류가 발생 돌아 오는 영숫자 이름을 가지고 .

어디에 문제가 있는지 잘 모르겠습니다. 정수 이름을 가진 인덱스 파일 만 생성해야합니까? 영숫자 이름을 허용하는 다른 읽기 방법을 사용할 구성 항목이 있습니까 (따라서 압축을 허용 할 수 있습니까?)?

아마도 버전 차이 일 수 있습니다. 다음은 현재 사용중인 목록입니다.

최대 절전 모드 (코어, 엔티티 관리자, 검색, 검색 infinispan) : 4.2.0. 최종 Infinispan (core, lucene-directory, cachestore-cloud) : 5.1. 8.Final JClouds (코어, Blob 저장소, allblobstore, provider.aws-S3) :

의 persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="###"> 
     <properties> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
      <property name="hibernate.search.default.directory_provider" value="infinispan"/> 
      <property name="hibernate.search.infinispan.configuration_resourcename" value="infinispan.xml"/> 
     </properties> 
    </persistence-unit> 
</persistence> 

infinispan : 여기에 1.1.1

내 구성 파일의 일부입니다 .xml

<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd" xmlns="urn:infinispan:config:5.1"> 


<!-- *************************** --> 
<!-- System-wide global settings --> 
<!-- *************************** --> 
<global> 
    <globalJmxStatistics enabled="false" cacheManagerName="HibernateSearch" allowDuplicateDomains="true" /> 

    <transport clusterName="HibernateSearch-Infinispan-cluster" distributedSyncTimeout="30000"> 
     <properties> 
      <property name="configurationFile" value="infinispan-s3.xml"/> 
     </properties> 
    </transport> 

    <shutdown hookBehavior="REGISTER" /> 
</global> 


<!-- *************************** --> 
<!-- Default "template" settings --> 
<!-- *************************** --> 
<default> 
    <locking lockAcquisitionTimeout="30000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false" /> 

    <!-- Invocation batching is required for use with the Lucene Directory --> 
    <invocationBatching enabled="true" /> 

    <clustering mode="invalidation"> 
     <!-- Prefer loading all data at startup than later --> 
     <stateTransfer timeout="60000" fetchInMemoryState="false" /> 
     <!-- Network calls are synchronous by default --> 
     <sync replTimeout="30000" /> 
    </clustering> 
    <jmxStatistics enabled="false" /> 
    <eviction maxEntries="-1" strategy="NONE" /> 
    <expiration maxIdle="300000" /> 

<loaders passivation="false" shared="false" preload="true"> 
    <loader class="org.infinispan.loaders.cloud.CloudCacheStore" fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false"> 
     <properties> 
      <property name="identity" value="${AWS_ACCESS_KEY_ID}"/> 
      <property name="password" value="${AWS_SECRET_KEY}"/> 
      <property name="bucketPrefix" value="${PARAM2}"/> 
      <property name="cloudService" value="aws-s3"/> 
      <property name="compress" value="false"/> 
     </properties> 
     <async 
        enabled="true" 
        flushLockTimeout="15000" 
        threadPoolSize="10" 
     /> 
    </loader> 
</loaders> 

</default> 

<!-- *************************************** --> 
<!-- Cache to store Lucene's file metadata --> 
<!-- *************************************** --> 
<namedCache 
    name="LuceneIndexesMetadata"> 
    <clustering 
     mode="invalidation"> 
     <stateTransfer 
      fetchInMemoryState="false" /> 
     <!--<sync 
      replTimeout="30000" /> --> 
    </clustering> 
</namedCache> 

<!-- **************************** --> 
<!-- Cache to store Lucene data --> 
<!-- **************************** --> 
<namedCache 
    name="LuceneIndexesData"> 
    <clustering 
     mode="invalidation"> 
     <stateTransfer 
      fetchInMemoryState="false" /> 
     <!--<sync 
      replTimeout="30000" /> --> 
    </clustering> 
</namedCache> 

<!-- ***************************** --> 
<!-- Cache to store Lucene locks --> 
<!-- ***************************** --> 
<namedCache 
    name="LuceneIndexesLocking"> 
    <clustering 
     mode="invalidation"> 
     <stateTransfer 
      fetchInMemoryState="false" /> 
     <!--<sync 
      replTimeout="30000" /> --> 
    </clustering> 
</namedCache> 

이 올바르게 구성 얻기에 어떤 도움을 크게 감상 할 수있다!

+0

내 생각 :

여기에 문제를 제기하십시오. Hibernate Search (또는 Lucene)는 '-566834176'과 같이 앞에 '-'가있는 파일을 생성합니다. 파일이 S3에 저장되면 '-'가 'A'(예 : 'A566834176')로 변환됩니다. 음수 인덱스 파일 이름을 방지하는 방법에 대해 알려줄 수 있습니까? –

+0

안녕하세요, Lucene도 Hibernate Search도 그런 파일을 만들지 않습니다 : Infinispan은 숫자 버킷 ID를 사용하며 JClouds 통합에 문제가있는 것 같습니다. https://issues.jboss.org/browse/ISPN – Sanne

+0

@DaveV이 문제를 해결할 수 있습니까? 그렇다면 문제를 해결하기 위해 무엇을해야합니까? –

답변

2

어느 아파치 루씬최대 절전 모드 검색 생성과 같은 파일 : Infinispan 숫자 버킷 ID를 사용하고, 일부는 부정적인 공간에있을 수 있습니다 이러한 버킷의 값 해싱에 따라 :에 문제가 될 것으로 보인다 JClouds 통합. 내가 무슨 일이 일어나고 있는지 알고 있지만, 여전히 문제를 해결하는 방법을 모른다 https://issues.jboss.org/browse/ISPN