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

ASF GitHub Bot commented on GEODE-8202:
---------------------------------------

boglesby commented on pull request #5600:
URL: https://github.com/apache/geode/pull/5600#issuecomment-755014843


   Here is a another diff with the versioning changes to GatewaySenderAdvisor:  
   ```
   diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java
   index adf80cb1e5..2390e7241e 100644
   --- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java
   +++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderAdvisor.java
   @@ -232,6 +232,16 @@ public class GatewaySenderAdvisor extends 
DistributionAdvisor {
                  "Cannot create Gateway Sender %s with isDiskSynchronous %s 
because another cache has the same Gateway Sender defined with 
isDiskSynchronous %s",
                  sp.Id, sp.isDiskSynchronous, sender.isDiskSynchronous()));
        }
   +
   +    if 
(sp.getDistributedMember().getVersion().isNotOlderThan(KnownVersion.GEODE_1_14_0))
 {
   +      if (sp.enforceThreadsConnectSameReceiver != 
sender.getEnforceThreadsConnectSameReceiver()) {
   +        throw new IllegalStateException(
   +            String.format(
   +                "Cannot create Gateway Sender %s with 
enforceThreadsConnectSameReceiver %s because another cache has the same Gateway 
Sender defined with enforceThreadsConnectSameReceiver %s",
   +                sp.Id, sp.enforceThreadsConnectSameReceiver,
   +                sender.getEnforceThreadsConnectSameReceiver()));
   +      }
   +    }
      }
    
      /**
   @@ -532,6 +542,8 @@ public class GatewaySenderAdvisor extends 
DistributionAdvisor {
    
        public ServerLocation serverLocation;
    
   +    public boolean enforceThreadsConnectSameReceiver = false;
   +
        public GatewaySenderProfile(InternalDistributedMember memberId, int 
version) {
          super(memberId, version);
        }
   @@ -541,6 +553,12 @@ public class GatewaySenderAdvisor extends 
DistributionAdvisor {
        @Override
        public void fromData(DataInput in,
            DeserializationContext context) throws IOException, 
ClassNotFoundException {
   +      fromDataPre_GEODE_1_14_0_0(in, context);
   +      this.enforceThreadsConnectSameReceiver = in.readBoolean();
   +    }
   +
   +    public void fromDataPre_GEODE_1_14_0_0(DataInput in,
   +        DeserializationContext context) throws IOException, 
ClassNotFoundException {
          super.fromData(in, context);
          this.Id = DataSerializer.readString(in);
          this.startTime = in.readLong();
   @@ -583,6 +601,12 @@ public class GatewaySenderAdvisor extends 
DistributionAdvisor {
        @Override
        public void toData(DataOutput out,
            SerializationContext context) throws IOException {
   +      toDataPre_GEODE_1_14_0_0(out, context);
   +      out.writeBoolean(enforceThreadsConnectSameReceiver);
   +    }
   +
   +    public void toDataPre_GEODE_1_14_0_0(DataOutput out,
   +        SerializationContext context) throws IOException {
          super.toData(out, context);
          DataSerializer.writeString(Id, out);
          out.writeLong(startTime);
   @@ -684,7 +708,7 @@ public class GatewaySenderAdvisor extends 
DistributionAdvisor {
    
        @Immutable
        private static final KnownVersion[] serializationVersions =
   -        new KnownVersion[] {KnownVersion.GFE_80};
   +        new KnownVersion[] {KnownVersion.GFE_80, KnownVersion.GEODE_1_14_0};
    
        @Override
        public KnownVersion[] getSerializationVersions() {
   diff --git 
a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderImpl.java
 
b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderImpl.java
   index 7c93836667..1b5206b532 100644
   --- 
a/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderImpl.java
   +++ 
b/geode-wan/src/main/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderImpl.java
   @@ -230,6 +230,7 @@ public class SerialGatewaySenderImpl extends 
AbstractRemoteGatewaySender {
        pf.dispatcherThreads = getDispatcherThreads();
        pf.orderPolicy = getOrderPolicy();
        pf.serverLocation = this.getServerLocation();
   +    pf.enforceThreadsConnectSameReceiver = 
getEnforceThreadsConnectSameReceiver();
      }
    
      @Override
   ```
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> New option for serial gw sender threads start when receivers share ip and port
> ------------------------------------------------------------------------------
>
>                 Key: GEODE-8202
>                 URL: https://issues.apache.org/jira/browse/GEODE-8202
>             Project: Geode
>          Issue Type: Improvement
>            Reporter: Alberto Bustamante Reyes
>            Assignee: Alberto Bustamante Reyes
>            Priority: Major
>              Labels: pull-request-available
>
> RFC: 
> [https://cwiki.apache.org/confluence/display/GEODE/New+option+for+serial+gw+sender+dispatcher+threads+start|https://cwiki.apache.org/confluence/display/GEODE/New+option+for+serial+gw+sender+dispatcher+threads+start]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to