Modeshape 3.1.1.Final Clustering Index problem
pjakub Feb 8, 2013 11:59 AMHi,
I'm using latest modeshape 3.1.1.Final + Infisnispan 5.1.2.Final + HibernateSearch 4.1.1 and I'm trying to get infinsispan indexing to work.
My configuration is as:
jcr-config.json:
{
"name" : "tlk_repo",
"jndiName" : "",
"storage" : {
"cacheName" : "tlk_infinispan_repo",
"cacheConfiguration" : "infinispan_configuration.xml",
"binaryStorage" : {
"type" : "cache",
"dataCacheName" : "dataCache",
"metadataCacheName" : "metadataCache"
}
},
"query" : {
"enabled" : true,
"enableFullTextSearch" : true,
"indexStorage" : {
"type" : "infinispan",
"cacheConfiguration" : "/path_to_my/infinispan_configuration.xml"
},
"indexing" : {
"mode" : "sync",
"rebuildOnStartup" : { "when":"if_missing"}
},
},
"workspaces" : {
"predefined" : ["default","global"],
"default" : "default",
"allowCreation" : true
},
"security" : {
"anonymous" : {
"roles" : ["readonly", "connect","admin","readwrite"],
"useOnFailedLogin" : false
}
},
"node-types" : ["tlk-ejb.jar/tlk-custom-node-types.cnd"],
"clustering" : {
"clusterName" : "modeshape3",
"channelConfiguration" : "ms-jgroups.xml"
}
}
and my infinispan configuration is:
<?xml version="1.0" encoding="UTF-8"?> <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"> <global> <transport clusterName="modeshape-grid"> <properties> <property name="configurationFile" value="path_to/jgroups-modeshape.xml" /> </properties> </transport> </global> <default> <clustering mode="distribution"> <sync /> <hash numOwners="2" rehashWait="120000" rehashRpcTimeout="600000" /> <l1 enabled="false" lifespan="600000" /> </clustering> <!-- Invocation batching is required for use with the Lucene Directory --> <invocationBatching enabled="true" /> <transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.DummyTransactionManagerLookup"/> <loaders passivation="false" shared="true" preload="false"> <loader class="org.infinispan.loaders.remote.RemoteCacheStore" fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false" > <properties> <property name="hotRodClientPropertiesFile" value="hotrod-client.properties"/> <property name="remoteCacheName" value="tlk_content"/> </properties> </loader> </loaders> </default> <namedCache name="tlk_repo-index-lock"> </namedCache> </infinispan>
and I'm getting following error:
17:52:48,761 ERROR [LogErrorHandler] HSEARCH000058: Exception occurred org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: org.infinispan.lucene.locking.BaseLuceneLock@559e4f
Primary Failure:
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image Work Type org.hibernate.search.backend.UpdateLuceneWork
Subsequent failures:
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/height/Long/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/parentLovId/Long/* Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/userId/Long/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/description/String/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/keywords/String/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/width/Long/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/name/String/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/smallThumbnail/Reference/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}thumbnail Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/departmentID/Long/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}thumbnail/height/Long/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/updateDate/Date/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/archived/Boolean/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/updateUserId/Long/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/global/Boolean/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}thumbnail/width/Long/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}thumbnail/originalImage/Reference/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7jcr:nodeTypes Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/bigThumbnail/Reference/1 Work Type org.hibernate.search.backend.UpdateLuceneWork
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7/jcr:system/jcr:nodeTypes/{httpmynodes}image/lovId/Long/* Work Type org.hibernate.search.backend.UpdateLuceneWork
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: org.infinispan.lucene.locking.BaseLuceneLock@559e4f
at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1108)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.createNewIndexWriter(IndexWriterHolder.java:127)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.getIndexWriter(IndexWriterHolder.java:102)
at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.getIndexWriter(AbstractWorkspaceImpl.java:119)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.applyUpdates(LuceneBackendQueueTask.java:99)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.run(LuceneBackendQueueTask.java:67)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
17:52:48,820 ERROR [LuceneBackendQueueTask] HSEARCH000072: Couldn't open the IndexWriter because of previous error: operation skipped, index ouf of sync!
17:52:49,900 ERROR [LogErrorHandler] HSEARCH000058: Exception occurred org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: org.infinispan.lucene.locking.BaseLuceneLock@559e4f
Primary Failure:
Entity org.modeshape.jcr.query.lucene.basic.NodeInfo Id de0a805317f1e7mode:namespaces Work Type org.hibernate.search.backend.UpdateLuceneWork
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: org.infinispan.lucene.locking.BaseLuceneLock@559e4f
at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1108)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.createNewIndexWriter(IndexWriterHolder.java:127)
at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.getIndexWriter(IndexWriterHolder.java:102)
at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.getIndexWriter(AbstractWorkspaceImpl.java:119)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.applyUpdates(LuceneBackendQueueTask.java:99)
at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueTask.run(LuceneBackendQueueTask.java:67)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
17:52:49,907 ERROR [LuceneBackendQueueTask] HSEARCH000072: Couldn't open the IndexWriter because of previous error: operation skipped, index ouf of sync!
When I'm running one server instance, everything works fine, when I'm starting second, I'm getting that exception. Is there some infinispan option, that I'm missing, or is it some bug ?
If anyone managed to run it in that configuration I'd be glad to see sample working solution.