[ 
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)

Reply via email to