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:
[email protected]