[
https://issues.apache.org/jira/browse/IGNITE-1144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15155870#comment-15155870
]
Oddo commented on IGNITE-1144:
------------------------------
Val, I made some changes to the PR and tried running TeamCity build. It
compiles now just fine but I get some errors in the tests and for the life of
me, I don't understand what the problem is. I have written affinityRun()/call()
functions to throw an IgniteException if they are invoked on a non-collocated
queue/set. In the tests, I create a non-collocated queue and use assertThrows()
to make sure that an exception is thrown but the tests say that an exception is
not thrown. I spent the best part of the day playing with this but I still
cannot figure it out. Any help is appreciated.
Thanks!
> 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: Improvement
> Components: cache
> Affects Versions: 1.1.4
> Reporter: Valentin Kulichenko
> Assignee: Oddo
> 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)