The stale-entries check shoul be cleaned-up, we have fixed some 
dtm_node_delete() dtm_node_add() related issue recently
I will re-validate the requirement of stale-entries check and I will 
clean-up in a another ticket.

-AVM

On 6/13/2013 12:46 PM, Ramesh Betham wrote:
> Ack. with the following comments.
>
> 1. Correct the TRACE messages (droping--> dropping; right mapping to 
> cluster-id, node-id etc.)
> 2. With the below changed condition, the flow never hits the existing 
> code flow that deletes the stale-entries (if any). Please check.
>
> +        if ((new_node->node_id == 0) || (new_node->node_id == 
> node.node_id) ||
> +                (strncmp(node.node_ip, new_node->node_ip, 
> INET6_ADDRSTRLEN) == 0)) {
> +            if (new_node->comm_status == true) {
>
>
> Regards,
> Ramesh.
>
> On 6/4/2013 12:52 PM, [email protected] wrote:
>> osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c |  37 
>> +++++++++------
>>   1 files changed, 21 insertions(+), 16 deletions(-)
>>
>>
>> diff --git a/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c 
>> b/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
>> --- a/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
>> +++ b/osaf/services/infrastructure/dtms/dtm/dtm_node_sockets.c
>> @@ -1158,24 +1158,29 @@ int dtm_process_connect(DTM_INTERNODE_CB
>>       }
>>         new_node = dtm_node_get_by_id(node.node_id);
>> -    /*new_node = dtm_node_get_by_node_ip((uint8_t *)node.node_ip);*/
>> +    if (new_node != NULL) {
>> +        if ((new_node->node_id == 0) || (new_node->node_id == 
>> node.node_id) ||
>> +                (strncmp(node.node_ip, new_node->node_ip, 
>> INET6_ADDRSTRLEN) == 0)) {
>> +            if (new_node->comm_status == true) {
>> +                if ((new_node->node_id == node.node_id) &&
>> +                        (strncmp(node.node_ip, new_node->node_ip, 
>> INET6_ADDRSTRLEN) == 0))
>> +                    TRACE("DTM:node already discovered droping 
>> message node_id :%u, cluster_id: %d,    node_ip:%s",
>> +                            node.cluster_id, node.node_id, 
>> node.node_ip);
>> +                else
>> +                    LOG_WA("DTM:node duplicate discovered droping 
>> message node_id :%u, cluster_id: %d, node_ip:%s",
>> +                            node.cluster_id, node.node_id, 
>> node.node_ip);
>> +                TRACE_LEAVE2("sock_desc :%d", sock_desc);
>> +            } else {
>>   -    if (new_node != NULL) {
>> -        if (((new_node->node_id == 0) || (new_node->node_id == 
>> node.node_id)) &&
>> -            (strncmp(node.node_ip, new_node->node_ip, 
>> INET6_ADDRSTRLEN) == 0) &&
>> -            (new_node->comm_status == false)) {
>> -            TRACE("DTM:new_node  discovery in progress droping 
>> message");
>> -            TRACE_LEAVE2("sock_desc :%d", sock_desc);
>> +                TRACE("DTM: discovery in progress droping message 
>> node_id :%u, cluster_id: %d node_ip:%s",
>> +                        node.cluster_id, node.node_id, node.node_ip);
>> +                TRACE_LEAVE2("sock_desc :%d", sock_desc);
>> +            }
>>               return sock_desc;
>> -        } else if ((new_node->comm_status == true) && 
>> (new_node->node_id == node.node_id) &&
>> -               (strncmp(node.node_ip, new_node->node_ip, 
>> INET6_ADDRSTRLEN) == 0)) {
>> -            TRACE("DTM:new_node node already discovered droping 
>> message");
>> -            TRACE_LEAVE2("sock_desc :%d", sock_desc);
>> -            return sock_desc;
>> -        } else if ((new_node->comm_status == false) &&
>> -               ((new_node->node_id != node.node_id) ||
>> -                (strncmp(node.node_ip, new_node->node_ip, 
>> INET6_ADDRSTRLEN) != 0))) {
>> -            TRACE("DTM:new_node deleting stale enty ");
>> +        } else if ((new_node->comm_status == false) && 
>> ((new_node->node_id != node.node_id) ||
>> +                    (strncmp(node.node_ip, new_node->node_ip, 
>> INET6_ADDRSTRLEN) != 0))) {
>> +            TRACE("DTM: deleting stale enty node_id :%u, cluster_id: 
>> %d, node_ip:%s",
>> +                    node.cluster_id, node.node_id, node.node_ip);
>>               if (dtm_node_delete(new_node, 0) != NCSCC_RC_SUCCESS) {
>>                   LOG_ER("DTM :dtm_node_delete failed (recv())");
>>               }
>


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to