我在客户端 - 服务器模式下使用Infinispan 8.2.2(2个节点1集群),使用具有索引配置的复制缓存,如下所示。获取索引的数据也是如此。我使用.proto文件映射到我的对象并索引对象中的一些字段。每当我写入每行写入的缓存时,都会发生以下异常。能帮忙吗?
配置
`<replicated-cache name="tickets-cache" mode="ASYNC" start="EAGER">
<indexing index="ALL">
property name="default.indexmanager">near-real-time</property
<property name="lucene_version">LUCENE_CURRENT</property>
<property name="default.chunk_size">128000</property>
</indexing>
<locking acquire-timeout="60000"/>
<expiration lifespan="43200000"/>
</replicated-cache>`
异常
Exception
2016-08-04 20:59:08,318 ERROR [org.hibernate.search.exception.impl.LogErrorHandler] (Hibernate Search sync consumer thread for index org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper) HSEARCH000058: Exception occurred org.apache.lucene.store.LockObtainFailedException: Lock held by another program: D:\WorkSpace\Softwares\infinispan-server-8.2.2.Final\org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper\write.lock
Primary Failure:
Entity org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper Id A:SgRCQUcx Work Type org.hibernate.search.backend.UpdateLuceneWork
: org.apache.lucene.store.LockObtainFailedException: Lock held by another program: D:\WorkSpace\Softwares\infinispan-server-8.2.2.Final\org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper\write.lock
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:118)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:41)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:45)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:776)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.createNewIndexWriter(IndexWriterHolder.java:123)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.getIndexWriter(IndexWriterHolder.java:89)
at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.getIndexWriter(AbstractWorkspaceImpl.java:117)
at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.getIndexWriterDelegate(AbstractWorkspaceImpl.java:203)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.applyUpdates(LuceneBackendQueueTask.java:80)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.run(LuceneBackendQueueTask.java:46)
at org.hibernate.search.backend.impl.lucene.SyncWorkProcessor$Consumer.applyChangesets(SyncWorkProcessor.java:162)
at org.hibernate.search.backend.impl.lucene.SyncWorkProcessor$Consumer.run(SyncWorkProcessor.java:148)
at java.lang.Thread.run(Thread.java:745)
2016-08-04 20:59:08,320 ERROR [org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask] (Hibernate Search sync consumer thread for index org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper) HSEARCH000072: Couldn't open the IndexWriter because of previous error: operation skipped, index ouf of sync!
2016-08-04 20:59:55,255 INFO [org.jboss.as.clustering.infinispan] (remote-thread--p2-t13) DGISPN0001: Started ___event_log_cache cache from clustered container
2016-08-04 20:59:55,403 INFO [org.jboss.as.clustering.infinispan] (remote-thread--p2-t13) DGISPN0001: Started ___query_cache cache from clustered container
2016-08-04 21:00:12,036 ERROR [org.hibernate.search.exception.impl.LogErrorHandler] (Hibernate Search sync consumer thread for index org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper) HSEARCH000058: Exception occurred org.apache.lucene.store.LockObtainFailedException: Lock held by another program: D:\WorkSpace\Softwares\infinispan-server-8.2.2.Final\org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper\write.lock
Primary Failure:
Entity org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper Id A:SgRCQUcw Work Type org.hibernate.search.backend.UpdateLuceneWork
: org.apache.lucene.store.LockObtainFailedException: Lock held by another program: D:\WorkSpace\Softwares\infinispan-server-8.2.2.Final\org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper\write.lock
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:118)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:41)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:45)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:776)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.createNewIndexWriter(IndexWriterHolder.java:123)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.getIndexWriter(IndexWriterHolder.java:89)
at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.getIndexWriter(AbstractWorkspaceImpl.java:117)
at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.getIndexWriterDelegate(AbstractWorkspaceImpl.java:203)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.applyUpdates(LuceneBackendQueueTask.java:80)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.run(LuceneBackendQueueTask.java:46)
at org.hibernate.search.backend.impl.lucene.SyncWorkProcessor$Consumer.applyChangesets(SyncWorkProcessor.java:162)
at org.hibernate.search.backend.impl.lucene.SyncWorkProcessor$Consumer.run(SyncWorkProcessor.java:148)
at java.lang.Thread.run(Thread.java:745)