[
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)