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

ASF GitHub Bot commented on GOSSIP-41:
--------------------------------------

Github user edwardcapriolo commented on a diff in the pull request:

    https://github.com/apache/incubator-gossip/pull/68#discussion_r134644887
  
    --- Diff: 
gossip-base/src/main/java/org/apache/gossip/manager/AbstractActiveGossiper.java 
---
    @@ -109,22 +120,31 @@ public final void sendPerNodeData(LocalMember me, 
LocalMember member){
         }
         long startTime = System.currentTimeMillis();
         for (Entry<String, ConcurrentHashMap<String, PerNodeDataMessage>> 
entry : gossipCore.getPerNodeData().entrySet()){
    +      UdpPerNodeDataMessage udpMessage = new UdpPerNodeDataMessage();
    +      udpMessage.setUuid(UUID.randomUUID().toString());
    +      udpMessage.setUriFrom(me.getId());
           for (Entry<String, PerNodeDataMessage> innerEntry : 
entry.getValue().entrySet()){
             if (innerEntry.getValue().getReplicable() != null && 
!innerEntry.getValue().getReplicable()
                     .shouldReplicate(me, member, innerEntry.getValue())) {
               continue;
             }
    -        UdpPerNodeDataMessage message = new UdpPerNodeDataMessage();
    -        message.setUuid(UUID.randomUUID().toString());
    -        message.setUriFrom(me.getId());
    +        PerNodeDataMessage message = new PerNodeDataMessage();
             message.setExpireAt(innerEntry.getValue().getExpireAt());
             message.setKey(innerEntry.getValue().getKey());
             message.setNodeId(innerEntry.getValue().getNodeId());
             message.setTimestamp(innerEntry.getValue().getTimestamp());
             message.setPayload(innerEntry.getValue().getPayload());
             message.setReplicable(innerEntry.getValue().getReplicable());
    -        gossipCore.sendOneWay(message, member.getUri());   
    +        udpMessage.addMessage(message);
    +        if (udpMessage.getMessages().size() == 100) {
    --- End diff --
    
    This needs to be a variable that can be controlled through settings


> Transfer gossip data in bulk
> ----------------------------
>
>                 Key: GOSSIP-41
>                 URL: https://issues.apache.org/jira/browse/GOSSIP-41
>             Project: Gossip
>          Issue Type: Improvement
>            Reporter: Edward Capriolo
>            Assignee: Pooya Salehi
>
> Currently the process that transfers shared data and per node data iterates a 
> map transmitting a single datum at a time using one way communication.  We 
> could transmit more key values at once by simply saying if keys < 100 
> transfer all at once, or by collecting keys and sending in groups of 100. 
> This would greatly lower chatter communicating data.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to