Hi Mahesh,

Performance is not an issue here. Only the syncing node is affected by this 
change.

I'm not sure I understand what you meant with "partial stale data in syncing 
node".

During the sync, IMM DB is locked. Veteran nodes are read-only (R_AVAILABLE 
state), and syncing nodes are write-only (W_AVAILABLE state).

While veteran nodes are in R_AVAILABLE state, they only check their data with 
syncing data, but do not update any data.

BR,
Zoran


-----Original Message-----
From: A V Mahesh [mailto:mahesh.va...@oracle.com] 
Sent: den 5 juni 2017 12:13
To: Zoran Milinkovic <zoran.milinko...@ericsson.com>
Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1/1] imm: remove vector clearing for dead implementers, 
nodes and admin owners in objectSync [#2481]

Hi Zoran,

On 6/5/2017 2:01 PM, Zoran Milinkovic wrote:
> The earlier code clears that vector on each sync object, and reexecuting 
> discard node is not possible when sync is done.
>
> The same is for dead implementers and admin owners.
ACK from me with following :

        I understand clearing that vector on each sync object expensive and 
performance issue also,
        but it will keep update sync data, if having partial stale data in 
syncing node is harmless ( I hope IMM DB locked while syncing node)
        ACK from me ,please check the above before committing.

-AVM

On 6/5/2017 2:01 PM, Zoran Milinkovic wrote:
> Hi Mahesh,
>
> You have understood correct.
>
> During the sync, it's not possible to discard node on a node that is going to 
> be synced.
> The data of discarded node is saved in a vector, and discard node should be 
> executed again when the sync is done.
>
> The earlier code clears that vector on each sync object, and reexecuting 
> discard node is not possible when sync is done.
>
> The same is for dead implementers and admin owners.
>
> Thanks,
> Zoran
>
> -----Original Message-----
> From: A V Mahesh [mailto:mahesh.va...@oracle.com]
> Sent: den 5 juni 2017 07:13
> To: Zoran Milinkovic <zoran.milinko...@ericsson.com>
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: Re: [PATCH 1/1] imm: remove vector clearing for dead 
> implementers, nodes and admin owners in objectSync [#2481]
>
> Hi Zoran,
>
> On 6/2/2017 8:45 PM, Zoran Milinkovic wrote:
>> After removing the clearing of dead implementer, node and admin owner 
>> vectors, re-executing on vectors will be done after the node is fully synced.
> Just Trying to understand the problem more , I understand problem as follows 
> please confirm :
>
> In a cluster,  some payloads  are already  exist/synced and their NODE STATE 
> is  FULLY_AVAILABLE , at that moment  few more  payloads are trying join 
> cluster and while those new  payloads  sync is in progress ,  one of the 
> existing payload left the cluster and Global discard node received for that 
> node.
>
> Because of  the new  payloads is busy in sync itself , the discard node 
> cleanup was not done at that moment by the newly joining node and is got 
> pending , this patch is making sure the pending cleanup of discarded node  by 
> newly joined node , it my under standing ring ?
>
> -AVM
>
> On 6/2/2017 8:45 PM, Zoran Milinkovic wrote:
>> After removing the clearing of dead implementer, node and admin owner 
>> vectors, re-executing on vectors will be done after the node is fully synced.
>> ---
>>    src/imm/immnd/ImmModel.cc | 12 ------------
>>    1 file changed, 12 deletions(-)
>>
>> diff --git a/src/imm/immnd/ImmModel.cc b/src/imm/immnd/ImmModel.cc 
>> index 25f8621..64a24e9 100644
>> --- a/src/imm/immnd/ImmModel.cc
>> +++ b/src/imm/immnd/ImmModel.cc
>> @@ -18853,18 +18853,6 @@ SaAisErrorT ImmModel::objectSync(const 
>> ImmsvOmObjectSync* req) {
>>      }
>>    
>>    objectSyncExit:
>> -  sImplsDeadDuringSync.clear();
>> -  sNodesDeadDuringSync.clear();
>> -  sAdmosDeadDuringSync.clear();
>> -  /* Clear the "tombstones" for Implementers and Nodes for each sync message
>> -     received. The tiny hole that we need to plug only exists after the
>> -     last sync message, when coord sends the finalizeSync message until
>> -     everyone receives it. Nodes may receive discardImplementer or
>> -     discardNode messages over fevs before receiving finalizeSync.
>> -     These nodes/implementers will still be part of the finalizeSync
>> -     message, causing apparent verification failure in veterans and
>> -     incorrectly installed implementers in sync clients.
>> -   */
>>      TRACE_LEAVE();
>>      return err;
>>    }

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to