Re: Creating index failed

2021-12-06 Thread Jason Huynh
Hi Mario, 

A lot of the indexing code pre-dates GFSH. The behavior you are seeing is when 
an index is created on a partition region.  When creating an index on a 
partition region, the idea is that the user wanted to index all the data in the 
region.  So the server will let all other servers know to create an index on 
the partition region.

This is slightly different for an index on a replicated region.  That is when 
the index can be created on a per member basis, which is what I think the 
-member flag is for.  

GFSH however defaults to sending the create index message to all members for 
any index type from what I remember and from what is being described. That is 
why you’ll see the race condition with indexes created on partitioned regions 
but the end result being that the index that someone wanted to create is either 
created or already there.

-Jason

On 12/6/21, 6:37 AM, "Mario Kevo"  wrote:

Hi devs,

While doing some testing, I found the issue which is already reported 
there. https://issues.apache.org/jira/browse/GEODE-7875

If we run the create index command it will create an index locally and send 
a request to create an index on other members of that region.
The problem happened if the remote request comes before the request from 
the locator, in that case, a request from the locator failed with the following 
message: Index "index1" already exists.  Create failed due to duplicate name.

This can be reproduced by running 6 servers with DEBUG log level(due to 
this system will be slower), creating a partitioned region, and then creating 
an index.

Why does the server send remote requests to other members as they will get 
a request from the locator to create an index?
Also when running the gfsh command to create an index on one member, it 
will send create index requests to all other members. In that case, what is the 
purpose of this --member flag?

BR,
Mario




Creating index failed

2021-12-06 Thread Mario Kevo
Hi devs,

While doing some testing, I found the issue which is already reported there. 
https://issues.apache.org/jira/browse/GEODE-7875

If we run the create index command it will create an index locally and send a 
request to create an index on other members of that region.
The problem happened if the remote request comes before the request from the 
locator, in that case, a request from the locator failed with the following 
message: Index "index1" already exists.  Create failed due to duplicate name.

This can be reproduced by running 6 servers with DEBUG log level(due to this 
system will be slower), creating a partitioned region, and then creating an 
index.

Why does the server send remote requests to other members as they will get a 
request from the locator to create an index?
Also when running the gfsh command to create an index on one member, it will 
send create index requests to all other members. In that case, what is the 
purpose of this --member flag?

BR,
Mario