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

Vladimir Steshin updated IGNITE-28997:
--------------------------------------
    Description: 
_GridDhtPartitionsFullMessage_ seems isn't being sent through _Discovery_ 
despite it should. There is the code:
{code:java}
private void onAffinityInitialized(IgniteInternalFuture<Map<Integer, 
Map<Integer, List<UUID>>>> fut) {
    try {
        assert fut.isDone();

        Map<Integer, Map<Integer, List<UUID>>> assignmentChange = fut.get();

        GridDhtPartitionsFullMessage m = createPartitionsMessage();

        CacheAffinityChangeMessage msg = new CacheAffinityChangeMessage(exchId, 
m, assignmentChange);

        if (log.isDebugEnabled())
            log.debug("Centralized affinity exchange, send affinity change 
message: " + msg);

        cctx.discovery().sendCustomEvent(msg);
    }
    catch (IgniteCheckedException e) {
        onDone(e);
    }
} {code}
and
{code:java}
if (centralizedAff) {
    assert !exchCtx.mergeExchanges();

    IgniteInternalFuture<Map<Integer, Map<Integer, List<UUID>>>> fut = 
cctx.affinity().initAffinityOnNodeLeft(this);

    if (!fut.isDone())
        fut.listen(this::onAffinityInitialized);
    else
        onAffinityInitialized(fut);
} {code}
in {_}GridDhtPartitionsExchangeFuture{_}.

However,  _GridDhtPartitionsExchangeFuture#centralizedAff_ seems to be always 
{_}false{_}.

The attached PR has some related code removals some asserts showing that those 
code isn't effective - the PR gets 
[visa.|https://tcbot2.sbt-ignite-dev.ru/pr.html?serverId=apache&suiteId=IgniteTests24Java8_RunAll&branchForTc=pull/13490/head&action=Latest]

Should be investigated. Maybe we have to tests enough.

 

  was:
_GridDhtPartitionsFullMessage_ seems isn't being sent through _Discovery_ 
despite it should. There is the code:
{code:java}
private void onAffinityInitialized(IgniteInternalFuture<Map<Integer, 
Map<Integer, List<UUID>>>> fut) {
    try {
        assert fut.isDone();

        Map<Integer, Map<Integer, List<UUID>>> assignmentChange = fut.get();

        GridDhtPartitionsFullMessage m = createPartitionsMessage();

        CacheAffinityChangeMessage msg = new CacheAffinityChangeMessage(exchId, 
m, assignmentChange);

        if (log.isDebugEnabled())
            log.debug("Centralized affinity exchange, send affinity change 
message: " + msg);

        cctx.discovery().sendCustomEvent(msg);
    }
    catch (IgniteCheckedException e) {
        onDone(e);
    }
} {code}
and
{code:java}
if (centralizedAff) {
    assert !exchCtx.mergeExchanges();

    IgniteInternalFuture<Map<Integer, Map<Integer, List<UUID>>>> fut = 
cctx.affinity().initAffinityOnNodeLeft(this);

    if (!fut.isDone())
        fut.listen(this::onAffinityInitialized);
    else
        onAffinityInitialized(fut);
} {code}
in {_}GridDhtPartitionsExchangeFuture{_}.

However,  _GridDhtPartitionsExchangeFuture#centralizedAff_ seems to be always 
{_}false{_}.

The attached PR has some related code removals and asserts which are supposed 
to fire. But te PR gets 
[visa.|https://tcbot2.sbt-ignite-dev.ru/pr.html?serverId=apache&suiteId=IgniteTests24Java8_RunAll&branchForTc=pull/13490/head&action=Latest]

Should be investigated. Maybe we have to tests enough.

 


> Investigate sending of GridDhtPartitionsFullMessage through Discovery
> ---------------------------------------------------------------------
>
>                 Key: IGNITE-28997
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28997
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Vladimir Steshin
>            Priority: Major
>
> _GridDhtPartitionsFullMessage_ seems isn't being sent through _Discovery_ 
> despite it should. There is the code:
> {code:java}
> private void onAffinityInitialized(IgniteInternalFuture<Map<Integer, 
> Map<Integer, List<UUID>>>> fut) {
>     try {
>         assert fut.isDone();
>         Map<Integer, Map<Integer, List<UUID>>> assignmentChange = fut.get();
>         GridDhtPartitionsFullMessage m = createPartitionsMessage();
>         CacheAffinityChangeMessage msg = new 
> CacheAffinityChangeMessage(exchId, m, assignmentChange);
>         if (log.isDebugEnabled())
>             log.debug("Centralized affinity exchange, send affinity change 
> message: " + msg);
>         cctx.discovery().sendCustomEvent(msg);
>     }
>     catch (IgniteCheckedException e) {
>         onDone(e);
>     }
> } {code}
> and
> {code:java}
> if (centralizedAff) {
>     assert !exchCtx.mergeExchanges();
>     IgniteInternalFuture<Map<Integer, Map<Integer, List<UUID>>>> fut = 
> cctx.affinity().initAffinityOnNodeLeft(this);
>     if (!fut.isDone())
>         fut.listen(this::onAffinityInitialized);
>     else
>         onAffinityInitialized(fut);
> } {code}
> in {_}GridDhtPartitionsExchangeFuture{_}.
> However,  _GridDhtPartitionsExchangeFuture#centralizedAff_ seems to be always 
> {_}false{_}.
> The attached PR has some related code removals some asserts showing that 
> those code isn't effective - the PR gets 
> [visa.|https://tcbot2.sbt-ignite-dev.ru/pr.html?serverId=apache&suiteId=IgniteTests24Java8_RunAll&branchForTc=pull/13490/head&action=Latest]
> Should be investigated. Maybe we have to tests enough.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to