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

Valentin Kulichenko updated IGNITE-1144:
----------------------------------------
    Description: 
Currently there is no way to do this since all collocated queues and sets are 
stored in special system cache. This makes {{affinityRun()}} and 
{{affinityCall()}} methods useless because it requires to explicitly provide 
cache name which user doesn't know in this case.

I suggest to add {{affinityRun()}} and {{affinityCall()}} methods on 
{{IgniteQueue}} and {{IgniteSet}}. They will:
* take only closure as a parameter
* throw exception for non-collocated mode
* properly delegate to sibling methods in {{Ignite}} with proper cache name

Alternatively we can add these methods on {{Ignite}} interface, which is more 
consistent with the current API. But I'm not sure how to call them.

  was:
Currently there is no way to do this since all collocated queues and sets are 
stored in special system cache. This makes {{affinityRun()}} and 
{{affinityCall()}} methods useless because it requires to explicitly provide 
cache name which user doesn't know in this case.

I suggest to add {{affinityRun()}} and {{affinityCall()}} methods on 
{{IgniteQueue}} and {{IgniteSet}}. They will:
* take only closure as a parameter
* throw exception for non-collocated mode
* properly delegate to sibling methods in {{Ignite}} with proper cache name


> Need to have a capability to run a closure collocated with a queue/set
> ----------------------------------------------------------------------
>
>                 Key: IGNITE-1144
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1144
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.1.4
>            Reporter: Valentin Kulichenko
>            Priority: Critical
>
> Currently there is no way to do this since all collocated queues and sets are 
> stored in special system cache. This makes {{affinityRun()}} and 
> {{affinityCall()}} methods useless because it requires to explicitly provide 
> cache name which user doesn't know in this case.
> I suggest to add {{affinityRun()}} and {{affinityCall()}} methods on 
> {{IgniteQueue}} and {{IgniteSet}}. They will:
> * take only closure as a parameter
> * throw exception for non-collocated mode
> * properly delegate to sibling methods in {{Ignite}} with proper cache name
> Alternatively we can add these methods on {{Ignite}} interface, which is more 
> consistent with the current API. But I'm not sure how to call them.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to