[ 
https://issues.apache.org/jira/browse/GEODE-2280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Smith reassigned GEODE-2280:
--------------------------------

    Assignee: Dan Smith

> 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
>            Assignee: 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)

Reply via email to