숫자 파일 이름을 방지, 그것은 주로 작동하는 것 같군,하지만 하나 인덱스에 압축 모든 인덱스 파일에이 오류를 던져 '.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>
이 올바르게 구성 얻기에 어떤 도움을 크게 감상 할 수있다!
내 생각 :
여기에 문제를 제기하십시오. Hibernate Search (또는 Lucene)는 '-566834176'과 같이 앞에 '-'가있는 파일을 생성합니다. 파일이 S3에 저장되면 '-'가 'A'(예 : 'A566834176')로 변환됩니다. 음수 인덱스 파일 이름을 방지하는 방법에 대해 알려줄 수 있습니까? –
안녕하세요, Lucene도 Hibernate Search도 그런 파일을 만들지 않습니다 : Infinispan은 숫자 버킷 ID를 사용하며 JClouds 통합에 문제가있는 것 같습니다. https://issues.jboss.org/browse/ISPN – Sanne
@DaveV이 문제를 해결할 수 있습니까? 그렇다면 문제를 해결하기 위해 무엇을해야합니까? –