[ 
https://issues.apache.org/jira/browse/GEODE-3026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16221473#comment-16221473
 ] 

Diane Hardman commented on GEODE-3026:
--------------------------------------

I just verified this fix. If you refer to the original gfsh sequence described 
in GEODE-2979:
1. Start locator
2. start server
3. create Lucene index
4. start another server
5. create region  <--- I now get the following error:
{code}
gfsh>create region --name=testRegion --type=PARTITION_REDUNDANT_PERSISTENT
  Member    | Status
----------- | 
-------------------------------------------------------------------------------------------------
server50506 | ERROR: Must create Lucene index testIndex on region /testRegion 
because it is defined in anothe..
server50505 | ERROR: Cannot create Lucene index testIndex on region /testRegion 
because it is not defined in ..
{code}

So I am no longer allowed to add the region until I have fixed that fact that 
one server knows about the lucene index and one server doesn't.
To fix this mismatch, I must first destroy the original Lucene index and then 
re-create it so that it is known by both servers:
{code}
gfsh>destroy lucene index --region=testRegion --name=testIndex
                Member                  | Status
--------------------------------------- | 
---------------------------------------------------------------------
10.118.20.28(server50505:7284)<v1>:1025 | Successfully destroyed lucene index 
testIndex from region /testRegion
10.118.20.28(server50506:7296)<v2>:1026 | Lucene index testIndex was not found 
in region /testRegion

gfsh>create lucene index --name=testIndex --region=testRegion 
--field=__REGION_VALUE_FIELD
                Member                  | Status
--------------------------------------- | ---------------------------------
10.118.20.28(server50505:7284)<v1>:1025 | Successfully created lucene index
10.118.20.28(server50506:7296)<v2>:1026 | Successfully created lucene index

gfsh>create region --name=testRegion --type=PARTITION_REDUNDANT_PERSISTENT
  Member    | Status
----------- | ---------------------------------------------
server50505 | Region "/testRegion" created on "server50505"
server50506 | Region "/testRegion" created on "server50506"
{code}


> If a region defining lucene indexes cannot be created, it leaves an AEQ behind
> ------------------------------------------------------------------------------
>
>                 Key: GEODE-3026
>                 URL: https://issues.apache.org/jira/browse/GEODE-3026
>             Project: Geode
>          Issue Type: Bug
>          Components: lucene
>            Reporter: Barry Oglesby
>             Fix For: 1.4.0
>
>
> This is ok if the member is started with xml, because it will fail to start, 
> but if the region is attempted to be created using java API or gfsh, then the 
> server will be in an inconsistent state.
> It will have defined the AEQ like:
> {noformat}
> [info 2017/06/02 13:02:15.047 PDT  <main> tid=0x1] Started  
> ParallelGatewaySender{id=AsyncEventQueue_full_index#_data,remoteDsId=-1,isRunning
>  =true}
> {noformat}
> But will fail to create the region (in this case I created the region with a 
> different number of buckets):
> {noformat}
> [warning 2017/06/02 13:02:15.126 PDT  <main> tid=0x1] Initialization failed 
> for Region /data
> java.lang.IllegalStateException: The total number of buckets found in 
> PartitionAttributes ( 16 ) is incompatible with the total number of buckets 
> used by other distributed members. Set the number of buckets to  66
>       at 
> org.apache.geode.internal.cache.PartitionRegionConfigValidator.validatePartitionAttrsFromPRConfig(PartitionRegionConfigValidator.java:102)
>       at 
> org.apache.geode.internal.cache.PartitionedRegion.registerPartitionedRegion(PartitionedRegion.java:1337)
>       at 
> org.apache.geode.internal.cache.PartitionedRegion.initPRInternals(PartitionedRegion.java:987)
>       at 
> org.apache.geode.internal.cache.PartitionedRegion.initialize(PartitionedRegion.java:1157)
>       at 
> org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3104)
>       at 
> org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:3004)
>       at 
> org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2992)
>       at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:758)
>       at TestServer.createIndexAndRegionUsingAPI(TestServer.java:104)
>       at TestServer.main(TestServer.java:47)
> {noformat}
> So, at the end of the GemFireCacheImpl.createVMRegion call, the AEQ exists 
> but the region doesn't.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to