Hello Alexey,
I mean 'local partition map'. I am trying to investigate the issue, and in
fact,
I need some clarification about the ticket. From my understanding, It is
necessary to refresh the partitions (refreshPartitions())
only if the local partition is changed, or if a transaction has been made
on it. So if I understand I need to add logic and control
in the OnTimeOut method of the inner class . Is it correct ?

/** {@inheritDoc} */
@Override public void onTimeout() {
cctx.kernalContext().closure().runLocalSafe(new Runnable() {
@Override public void run() {
if (!busyLock.readLock().tryLock())
return;

try {
           // onTimeOut we refresh always the partitions
      if (started.compareAndSet(false, true))
refreshPartitions();
}
finally {
busyLock.readLock().unlock();

cctx.time().removeTimeoutObject(ResendTimeoutObject.this);

pendingResend.compareAndSet(ResendTimeoutObject.this, null);
}
}
});
}

Thank you, Regards, Gianfranco

2015-09-01 3:30 GMT+02:00 Dmitriy Setrakyan <dsetrak...@apache.org>:

> On Mon, Aug 31, 2015 at 5:57 PM, Alexey Goncharuk <
> alexey.goncha...@gmail.com> wrote:
>
> > As far as I understood Yakov's point, even this message indicating that
> no
> > change happened is redundant because we have message delivery guarantees
> on
> > communication level and no messages can be lost. If a node is waiting
> for a
> > message and receives a message indicating that no change had happened, I
> am
> > not even sure how this node should react: it means that the message with
> an
> > important update somehow was not received (a bug in the code?) and the
> next
> > message indicates that no updates after the lost message were made.
> >
>
> I still would wait for a No-Change empty partition exchange message, rather
> than have no message at all (and wait for a timeout?).
>
> Yakov, can you please chime in and let us all know what you meant by that
> ticket?
>
>
> >
> > 2015-08-31 17:33 GMT-07:00 Dmitriy Setrakyan <dsetrak...@apache.org>:
> >
> > > On Mon, Aug 31, 2015 at 4:58 PM, Alexey Goncharuk <
> > > alexey.goncha...@gmail.com> wrote:
> > >
> > > > Gianfranco,
> > > >
> > > > What do you mean by 'local cache' here?
> > > >
> > > > If you are talking about the local partition map, I do not think we
> > have
> > > > such a method. The background exchange that is described in the
> ticket
> > is
> > > > handled in controlled by the ResendTimeoutObject inner class in
> > > > GridCachePartitionExchangeManager. I cannot recall any cases when
> this
> > > > exchange would be needed from the top of my head, but it looks like
> you
> > > > need to do some investigation and code digging to check whether the
> > > > background exchange can be indeed safely removed :)
> > > >
> > >
> > > Alexey, I actually think that this ticket is named wrongly. After
> looking
> > > at the description, it seems that Yakov is suggesting that we do not
> send
> > > the exchange message if there are no changes to the exchange. Perhaps,
> we
> > > should be still sending something indicating that no change happened,
> > > otherwise, other nodes will hang forever waiting for the exchange to
> > > complete.
> > >
> > > Am I wrong in my understanding?
> > >
> > >
> > >
> > > >
> > > > 2015-08-28 5:58 GMT-07:00 Gianfranco Murador <mura...@apache.org>:
> > > >
> > > > > Hi Igniters,
> > > > > I 'm starting to implement this patch:
> > > > > Can you tell me if there is already a convenient method to see if
> the
> > > > local
> > > > > cache was updated last time interval ?
> > > > > Regards, Gianfranco
> > > > >
> > > > >
> > > > > --
> > > > > Gianfranco Murador
> > > > > Igniter and Software Engineer.
> > > > >
> > > >
> > >
> >
>

Reply via email to