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