Igniters,

The issue https://issues.apache.org/jira/browse/IGNITE-2310 is updated with comment
about the changes at the IgniteCompute. Please comment the ticket.

The changed javadoc of the affinityRun/Call is available to review at the branch
https://github.com/gridgain/apache-ignite/blob/ignite-2310/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java#L123

07.07.2016 14:13, Dmitriy Setrakyan пишет:
Taras, it is very difficult to review API changes this way. Can you please
provide additional APIs in the ticket?

Also, we should add documentation about reserving partitions as well. To my
knowledge, this feature ensures that a partition will not be migrated while
affinityRun/Call is executed, right?

On Thu, Jul 7, 2016 at 3:02 AM, Taras Ledkov <tled...@gridgain.com> wrote:

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 <yzhda...@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 <voze...@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 <tled...@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: tled...@gridgain.com



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



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

Reply via email to