You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Jason Huynh (JIRA)" <ji...@apache.org> on 2018/02/16 16:56:00 UTC

[jira] [Resolved] (GEODE-3813) Region registerInterest API usage of type parameters is broken

     [ https://issues.apache.org/jira/browse/GEODE-3813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Huynh resolved GEODE-3813.
--------------------------------
    Resolution: Fixed

Phase 1 portion has been completed for this ticket:
 - Deprecate ALL_KEYS and List passing behavior
 - Add warnings when ALL_KEYS or Lists are passed to the current registerInterest
 - add registerInterestForAllKeys();
 - Add registerInterestForKeys(Iterable<T> and add registerInterestForKeys(T... where it does the iteration on the client and just calls registerInterest(T) for each key. This is not optimal but is definitely doable if needed)

I've created the following tickets for work that should be done as part of GEODE 2.0

GEODE-4702: Optimize registerInterestForKeys(Iterable)

GEODE-4701: Remove existing ALL_KEYS and List as an Object behavior in Geode 2.0.

 

> Region registerInterest API usage of type parameters is broken
> --------------------------------------------------------------
>
>                 Key: GEODE-3813
>                 URL: https://issues.apache.org/jira/browse/GEODE-3813
>             Project: Geode
>          Issue Type: Bug
>          Components: client queues
>            Reporter: Kirk Lund
>            Assignee: Jason Huynh
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> The registerInterest API works for single key registration but is broken for all other types of registration if the Region is declared with type parameters:
> Single key (works):
> {noformat}
> Region<Integer, ValueClass> region = clientRegionFactory.create(regionName);
> region.registerInterest(1);
> {noformat}
> ALL_KEYS token is broken (fails to compile):
> {noformat}
> Region<Integer, ValueClass> region = clientRegionFactory.create(regionName);
> region.registerInterest("ALL_KEYS");
> {noformat}
> List of keys is broken (fails to compile):
> {noformat}
> Region<Integer, ValueClass> region = clientRegionFactory.create(regionName);
> List<Integer> listOfKeys = new ArrayList<>();
> listOfKeys.add(1);
> listOfKeys.add(2);
> region.registerInterest(listOfKeys);
> {noformat}
> When this ticket is fixed and the API is updated, we should consider adding support for var args:
> {noformat}
> Region<Integer, ValueClass> region = clientRegionFactory.create(regionName);
> region.registerInterest(1, 2, 3);
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)