[ https://issues.apache.org/jira/browse/GEODE-2280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Smith resolved GEODE-2280. ------------------------------ Resolution: Fixed Fix Version/s: 1.1.0 > 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 > Fix For: 1.1.0 > > > 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)