Description
Currently, invalid region name characters can be used as index names. The index name becomes part of the async event queue id which becomes part of the colocated region name, so invalid characters shouldn't be allowed as index names. LocalRegion has a validateRegionName method that restricts the names to [aA-zZ0-9-_.]+. This method should be called to validate index names.
Here is an example (option-j creates the ∆):
gfsh>create lucene index --name=∆∆∆ --region=data --field=text Member | Status ----------------------------------- | --------------------------------- 192.168.2.4(server2:53308)<v1>:1025 | Successfully created lucene index 192.168.2.4(server1:53315)<v2>:1026 | Successfully created lucene index
gfsh>create region --name=data --type=PARTITION Member | Status ------- | ----------------------------------- server2 | Region "/data" created on "server2" server1 | Region "/data" created on "server1"
gfsh>put --key=0 --value=0 --region=data Result : true Key Class : java.lang.String Key : 0 Value Class : java.lang.String Old Value : <NULL>
gfsh>describe lucene index --name=∆∆∆ --region=/data Index Name | Region Path | Server Name | Indexed Fields | Field Analyzer | Status | Query Executions | Updates | Commits | Documents ---------- | ----------- | ----------- | -------------- | ----------------------- | ----------- | ---------------- | ------- | ------- | --------- ∆∆∆ | /data | server1 | [text] | {text=StandardAnalyzer} | Initialized | 0 | 0 | 0 | 0 ∆∆∆ | /data | server2 | [text] | {text=StandardAnalyzer} | Initialized | 0 | 1 | 1 | 1