ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Taras Ledkov <tled...@gridgain.com>
Subject Re: ignite-2310
Date Thu, 07 Jul 2016 10:02:30 GMT
Igniters,

Please take a look at the next proposal of changes at 
IgniteCompute.affinityRun / affinityCall:

https://github.com/gridgain/apache-ignite/commit/c57f009c44e07240fc8c8e6feed3271c63f31664#diff-b276b8e6e14915f9e5f2f5daeeddec8a

So, two methods is added affinityRun and affinityCall. There is 
additional parameter Collection of extra caches names.
An affinity job without the extra caches reserves only one partition 
(that contains affinity key) of the affinity cache.
An affinity job with the extra caches parameter reserves the partitions 
(similar to affinity partition) of all extra caches.

06.07.2016 15:18, Semyon Boikov wrote:
> I think we should detect such situation and throw exception. As I remember
> for cross cache qieries we throw exception if caches have different
> partitions distribution.
>
> On Wed, Jul 6, 2016 at 3:14 PM, Yakov Zhdanov <yzhdanov@apache.org> wrote:
>
>> Guys, this does not work in general case. If you provide more than one
>> partition you can end up with a situation when they reside on more than one
>> node.
>>
>> --Yakov
>>
>> 2016-07-06 13:50 GMT+03:00 Vladimir Ozerov <vozerov@gridgain.com>:
>>
>>> If we add "partsToLock" to job execute request, then why we allow it only
>>> for "affinity" methods? We can resort to "with" semantics instead:
>>>
>>> IgniteCompute.*withPartitionsToLock*(...).affinityRun();
>>>
>>> On Wed, Jul 6, 2016 at 12:23 PM, Taras Ledkov <tledkov@gridgain.com>
>>> wrote:
>>>
>>>> Igniters,
>>>>
>>>> Lets discuss the changes of public API at the IgniteCompute.
>>>> The new methods affinityRun & affinityCall is added by working on
>>>> IGNITE-2310.
>>>>
>>>> https://issues.apache.org/jira/browse/IGNITE-2310
>>>>
>>>> Please take a look at the signature of the new methods:
>>>>
>>>>
>>>>
>> https://github.com/gridgain/apache-ignite/commit/991fb60f563ee1630152ca0159d04b4969f883bf#diff-b276b8e6e14915f9e5f2f5daeeddec8a
>>>> void affinityRun(@Nullable String cacheName, Object affKey,
>>> IgniteRunnable
>>>> job, Map<String, int[]> partsToLock)
>>>>
>>>> The parameter Map<String, int[]> partsToLock is added.
>>>> Map contains the pairs of the cache name and array of partitions that
>>> must
>>>> be reserved on the target node before job execution.
>>>>
>>>> Dmitry, colleagues, please comment or approve.
>>>>
>>>> --
>>>> Taras Ledkov
>>>> Mail-To: tledkov@gridgain.com
>>>>
>>>>

-- 
Taras Ledkov
Mail-To: tledkov@gridgain.com


Mime
View raw message