[ https://issues.apache.org/jira/browse/GEODE-4079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16295965#comment-16295965 ]
ASF GitHub Bot commented on GEODE-4079: --------------------------------------- karensmolermiller closed pull request #1180: GEODE-4079 Identify hash indexes as deprecated in docs URL: https://github.com/apache/geode/pull/1180 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb b/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb index 0f8f8af367..e8302ad8d8 100644 --- a/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb +++ b/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb @@ -34,8 +34,6 @@ gfsh> define index --name=myIndex1 --expression=exp1 --region=/exampleRegion gfsh> define index --name=myIndex2 --expression="c.exp2" --region="/exampleRegion e, e.collection1 c" -gfsh> define index --name=myIndex3 --expression=exp3 --region=/exampleRegion --type=hash - gfsh> create defined indexes ``` @@ -56,7 +54,6 @@ Message : Region ' /r3' not found: from /r3Occurred on following members QueryService queryService = cache.getQueryService(); queryService.defineIndex("name1", "indexExpr1", "regionPath1"); queryService.defineIndex("name2", "indexExpr2", "regionPath2"); - queryService.defineHashIndex("name3", "indexExpr3", "regionPath2"); queryService.defineKeyIndex("name4", "indexExpr4", "regionPath2"); List<Index> indexes = queryService.createDefinedIndexes(); ``` diff --git a/geode-docs/developing/query_index/creating_an_index.html.md.erb b/geode-docs/developing/query_index/creating_an_index.html.md.erb index abac6f340d..69846b32d7 100644 --- a/geode-docs/developing/query_index/creating_an_index.html.md.erb +++ b/geode-docs/developing/query_index/creating_an_index.html.md.erb @@ -29,7 +29,7 @@ To create an index, use one of the following `QueryService` methods: - `createIndex`. Creates the default type of index, a range index. Use this type of index if you will be writing queries that will be doing any kind of comparison operation besides an equality comparison. - `createKeyIndex`. Creates a key index. See [Creating Key Indexes](creating_key_indexes.html#concept_09E29507AF0D42CF81D261B030D0B7C8) for more information. -- `createHashIndex`. Creates a hash index. See [Creating Hash Indexes](creating_hash_indexes.html#concept_5C7614F71F394C62ACA1BDC5684A7AC4) for more information. +- **Deprecated.** `createHashIndex`. Creates a hash index. See [Creating Hash Indexes](creating_hash_indexes.html#concept_5C7614F71F394C62ACA1BDC5684A7AC4) for more information. - `createDefinedIndexes`. Creates multiple indexes that were previously defined using `defineIndex`. See [Creating Multiple Indexes at Once](create_multiple_indexes.html) for more information. The following sections provide examples of index creation: @@ -39,7 +39,6 @@ The following sections provide examples of index creation: ``` pre gfsh> create index --name=myIndex --expression=status --region=/exampleRegion gfsh> create index --name=myKeyIndex --type=key --expression=id --region=/exampleRegion -gfsh> create index --name=myHashIndex --type=hash --expression=mktValue --region=/exampleRegion ``` See [Index Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_688C66526B4649AFA51C0F72F34FA45E) for more examples. @@ -50,7 +49,6 @@ See [Index Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#to QueryService qs = cache.getQueryService(); qs.createIndex("myIndex", "status", "/exampleRegion"); qs.createKeyIndex("myKeyIndex", "id", "/exampleRegion"); - qs.createHashIndex("myHashIndex", "mktValue", "/exampleRegion"); ``` **Using cache.xml:** @@ -61,7 +59,6 @@ QueryService qs = cache.getQueryService(); </region-attributes> <index name="myIndex" from-clause="/exampleRegion" expression="status"/> <index name="myKeyIndex" from-clause="/exampleRegion" expression="id" key-index="true"/> - <index name="myHashIndex" from-clause="/exampleRegion p" expression="p.mktValue" type="hash"/> ... </region> ``` diff --git a/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb index e785749d50..be8a119975 100644 --- a/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb +++ b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb @@ -19,8 +19,10 @@ See the License for the specific language governing permissions and limitations under the License. --> +**Hash indexes are deprecated.** <%=vars.product_name%> supports the creation of hash indexes for the purpose of performing equality-based queries. + ## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_8A927DFB29364DA7856E7FE122FC1654" class="no-quick-link"></a>Hash Index Performance The performance of put operations and recovery time when using a hash index @@ -58,6 +60,8 @@ If memory is not a concern, use a range index instead of a hash index. ## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_CA2476E015D14DE7B522377C931A8492" class="no-quick-link"></a>Examples of Creating a Hash Index +**Hash indexes are deprecated.** + **Using the Java API:** ``` pre diff --git a/geode-docs/developing/query_index/query_index.html.md.erb b/geode-docs/developing/query_index/query_index.html.md.erb index 3d53e5544f..1bc7ac7f3b 100644 --- a/geode-docs/developing/query_index/query_index.html.md.erb +++ b/geode-docs/developing/query_index/query_index.html.md.erb @@ -38,7 +38,7 @@ A query run without the aid of an index iterates through every object in the col - **[Creating Hash Indexes](creating_hash_indexes.html)** - <%=vars.product_name%> supports the creation of hash indexes for the purposes of performing equality-based queries. + **Hash indexes are deprecated.** <%=vars.product_name%> supports the creation of hash indexes for the purposes of performing equality-based queries. - **[Creating Indexes on Map Fields ("Map Indexes")](creating_map_indexes.html)** ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Deprecate Hash Index and Hash Index APIs > ---------------------------------------- > > Key: GEODE-4079 > URL: https://issues.apache.org/jira/browse/GEODE-4079 > Project: Geode > Issue Type: Bug > Components: docs, querying > Reporter: Jason Huynh > Assignee: Karen Smoler Miller > Fix For: 1.4.0 > > > As discussed on the user and dev list, we should deprecate the Hash Index and > the corresponding Hash Index APIs. > The proposal: > Currently the Hash Index name causes confusion. It is not a traditional hash > look up index, but more of memory savings index. The index does not store > index keys in memory and must hash the keys every time. The index > synchronizes on a backing array and when the backing array needs to be > expanded, it currently needs to rehash all elements in the array. This can > be very problematic for larger data sets. > There were improvements made to one of the functional indexes (compact range > index) prior to open sourcing. These improvements helped reduce the memory > consumption of that index and makes it very similar sized to a hash index, > but the keys still are stored in memory. Probably close enough to be a > replacement for the hash index in most cases. The read/write performance on > it is also faster than the hash index. > This works includes: > Deprecating the Hash Index Class > Deprecating the createHashIndex API's in query Service > Deprecating the Hash Index type in IndexTypes (if possible) > Deprecating the gfsh commands to create hash index and hash index types -- This message was sent by Atlassian JIRA (v6.4.14#64029)