Dan Smith created GEODE-2280:
--------------------------------
Summary: Lucene indexes are not working with PR accessors
Key: GEODE-2280
URL: https://issues.apache.org/jira/browse/GEODE-2280
Project: Geode
Issue Type: Bug
Components: lucene
Reporter: Dan Smith
I discovered that if you try to create a system with lucene indexes and
partitioned region accessors, you get this error if you define the index on the
accessor
{noformat}
java.lang.IllegalStateException: The data region to create lucene index should
be with storage
at
org.apache.geode.cache.lucene.internal.LuceneIndexForPartitionedRegion.createRepositoryManager(LuceneIndexForPartitionedRegion.java:63)
at
org.apache.geode.cache.lucene.internal.LuceneIndexImpl.initialize(LuceneIndexImpl.java:165)
at
org.apache.geode.cache.lucene.internal.LuceneServiceImpl.afterDataRegionCreated(LuceneServiceImpl.java:214)
at
org.apache.geode.cache.lucene.internal.LuceneServiceImpl$1.afterCreate(LuceneServiceImpl.java:194)
at
org.apache.geode.internal.cache.GemFireCacheImpl.invokeRegionAfter(GemFireCacheImpl.java:3374)
at
org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3353)
at
org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:3194)
at
org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:3182)
at parReg.ParRegUtil.createRegionProgrammatically(ParRegUtil.java:1223)
at parReg.ParRegUtil.createRegion(ParRegUtil.java:1184)
at parReg.ParRegTest.initializeRegion(ParRegTest.java:604)
at
parReg.ParRegTest.HydraTask_HA_initializeAccessor(ParRegTest.java:423)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at hydra.MethExecutor.execute(MethExecutor.java:182)
at hydra.MethExecutor.execute(MethExecutor.java:150)
at hydra.TestTask.execute(TestTask.java:192)
at hydra.RemoteTestModule$1.run(RemoteTestModule.java:212)
{noformat}
If you *don't* define the index on the accessor, you get this error instead
{noformat}
Caused by:
org.apache.geode.internal.cache.wan.GatewaySenderConfigurationException: Region
region has [index#_region] AsyncEvent queue IDs. Another cache has same region
with [] AsyncEvent queue IDs. For region across all members, AsyncEvent queue
IDs should be same.
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.PartitionedRegion.checkSameSenderIdsAvailableOnAllNodes(PartitionedRegion.java:1145)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.LocalRegion.notifyGatewaySender(LocalRegion.java:6350)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.BucketRegion.notifyGatewaySender(BucketRegion.java:652)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.LocalRegion.basicPutPart2(LocalRegion.java:5910)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.BucketRegion.basicPutPart2(BucketRegion.java:643)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.AbstractRegionMap.basicPut(AbstractRegionMap.java:2800)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.BucketRegion.virtualPut(BucketRegion.java:485)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.PartitionedRegionDataStore.putLocally(PartitionedRegionDataStore.java:1207)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.PartitionedRegionDataStore.putLocally(PartitionedRegionDataStore.java:1190)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.PartitionedRegionDataView.putEntryOnRemote(PartitionedRegionDataView.java:99)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.partitioned.PutMessage.operateOnPartitionedRegion(PutMessage.java:747)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.internal.cache.partitioned.PartitionMessage.process(PartitionMessage.java:342)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:442)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:621)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
org.apache.geode.distributed.internal.DistributionManager$8$1.run(DistributionManager.java:1024)
at Remote Member '172.16.115.241(45136)<v1>:32770' in
java.lang.Thread.run(Thread.java:745)
at
org.apache.geode.distributed.internal.ReplyException.handleAsUnexpected(ReplyException.java:85)
at
org.apache.geode.internal.cache.partitioned.PartitionMessage$PartitionResponse.waitForCacheException(PartitionMessage.java:842)
at
org.apache.geode.internal.cache.partitioned.PutMessage$PutResponse.waitForResult(PutMessage.java:1091)
at
org.apache.geode.internal.cache.PartitionedRegion.putRemotely(PartitionedRegion.java:3191)
at
org.apache.geode.internal.cache.PartitionedRegion.putInBucket(PartitionedRegion.java:2774)
at
org.apache.geode.internal.cache.PartitionedRegion.virtualPut(PartitionedRegion.java:1933)
at
org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionDataView.java:151)
at
org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5193)
at
org.apache.geode.internal.cache.LocalRegion.validatedPut(LocalRegion.java:1604)
at
org.apache.geode.internal.cache.LocalRegion.put(LocalRegion.java:1591)
at
org.apache.geode.internal.cache.AbstractRegion.put(AbstractRegion.java:277)
at
org.apache.geode.cache.lucene.LuceneQueriesPRBase.lambda$null$0(LuceneQueriesPRBase.java:157)
at
java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:110)
at java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:557)
at
org.apache.geode.cache.lucene.LuceneQueriesPRBase.lambda$putEntryInEachBucket$bb17a952$1(LuceneQueriesPRBase.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at hydra.MethExecutor.executeObject(MethExecutor.java:245)
at
org.apache.geode.test.dunit.standalone.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{noformat}
So basically there is no way to use a PR accessor with a lucene index
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)