You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Gianfranco Murador (JIRA)" <ji...@apache.org> on 2016/01/03 17:27:39 UTC

[jira] [Comment Edited] (IGNITE-708) Need to remove background partition exchange

    [ https://issues.apache.org/jira/browse/IGNITE-708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15080465#comment-15080465 ] 

Gianfranco Murador edited comment on IGNITE-708 at 1/3/16 4:27 PM:
-------------------------------------------------------------------

Hello everyone, I'm currently working on this ticket. I wanted to ask on which scenario is used riservation of a local partition. I ask this because in the class GridDhtLocalPartition we use the stamps of the state of the partition as reservations. 

BTW, I'm editing the  GridDhtLocalPartition  class inserting two new methods: 

/**
     * check is the state is changed in the nearest moment
     * of the argument value
     * @param current the current moment timestamp
     * @return true if changed, false otherwise
     */
    private boolean isStateChanged(long current) {
        return false;
    }

    /**
     * Add the current state  at the history. 
     * @param currentTime moment  
     * @param state       reference to state 
     */
    private void addStateToHistory ( long currentTime, GridDhtPartitionState state){
        statesHistory.put(currentTime, state);
    }

The idea is create an history of the state of the local partitions, to check if the status is changed before sending the message to the oldest node.



was (Author: glutters):
Hello everyone, I'm currently working on this ticket. I wanted to ask on which scenario is used riservation of a local partition. I ask this because in the class GridDhtLocalPartition we use the stamps of the state of the partition as reservations. 

BTW, I'm editing the  GridDhtLocalPartition  class inserting two new methods: 

/**
     * check is the state is changed in the nearest moment
     * of the argument value
     * @param current the current moment timestamp
     * @return true if changed, false otherwise
     */
    private boolean isStateChanged(long current) {
        return false;
    }

    /**
     * Add the current state  at the history. 
     * @param currentTime moment  
     * @param state       reference to state 
     */
    private void addStateToHistory ( long currentTime, GridDhtPartitionState state){
        statesHistory.put(currentTime, state);
    }

> Need to remove background partition exchange
> --------------------------------------------
>
>                 Key: IGNITE-708
>                 URL: https://issues.apache.org/jira/browse/IGNITE-708
>             Project: Ignite
>          Issue Type: Task
>    Affects Versions: ignite-1.4
>            Reporter: Yakov Zhdanov
>            Assignee: Gianfranco Murador
>            Priority: Blocker
>              Labels: datagrid
>             Fix For: 1.6
>
>
> Now every node sends its partition map to cache coordinator (which is the oldest node in topology) and coordinator spreads full partition map to every node in topology. This happens for each cache separately. This seems to take place even if there were no changes to local partition maps. Given we guarantee communication message delivery this background process seems to be an overkill.
> Exchange should happen only if any changes took place.
> After dynamic cache start has been introduced, we can have significant amount of live caches at some point of app lifecycle and app may suffer from  background exchange which is obviously not a requirement (and may be never has been the one).



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