albertogpz commented on a change in pull request #7347:
URL: https://github.com/apache/geode/pull/7347#discussion_r836644349
##########
File path:
geode-assembly/src/acceptanceTest/java/org/apache/geode/cache/wan/SeveralGatewayReceiversWithSamePortAndHostnameForSendersTest.java
##########
@@ -215,6 +216,55 @@ public void
testTwoSendersWithSameIdShouldUseSameValueForEnforceThreadsConnectTo
}
+
+
+ /**
+ * The aim of this test is verify that when several gateway receivers in a
remote site share the
+ * same port and hostname-for-senders, the pings sent from the gateway
senders reach the right
+ * gateway receiver and not just any of the receivers. Failure to do this
may result in the
+ * closing of connections by a gateway receiver for not having received the
ping in time.
+ */
+ @Test
+ public void
testPingsToReceiversWithSamePortAndHostnameForSendersReachTheRightReceiver()
Review comment:
The description of this test case is exactly the same as the one of a
test above and the name only changes by the final s.
Also the contents are the same with the exception of the last check.
I propose that the check of this test is moved to the first test case and
that the description of that test is updated with what is intended by the check
in this test.
##########
File path:
geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionImpl.java
##########
@@ -117,6 +118,47 @@ public ServerQueueStatus connect(EndpointManager
endpointManager, ServerLocation
return status;
}
+ public ServerQueueStatus connect(EndpointManager endpointManager,
Review comment:
There is a lot of code repeated in this method from the previous method.
I suggest it to be refactored in order to avoid it.
##########
File path:
geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionFactoryImpl.java
##########
@@ -146,6 +147,46 @@ public Connection
createClientToServerConnection(ServerLocation location, boolea
return connection;
}
+
+ @Override
+ public Connection createClientToServerConnection(
Review comment:
There is a lot of code repeated in this method from the previous method.
I suggest it to be refactored in order to avoid it.
##########
File path:
geode-core/src/main/java/org/apache/geode/cache/client/internal/pooling/ConnectionManager.java
##########
@@ -71,6 +72,29 @@ Connection borrowConnection(ServerLocation server, long
acquireTimeout,
boolean onlyUseExistingCnx)
throws AllConnectionsInUseException, NoAvailableServersException;
+ /**
+ * Borrow an existing idle connection or create a new one to a specific
server. Fails after one
+ * failed attempt to create a new connection. May cause pool to exceed
maxConnections by one, if
+ * no connection is available.
+ *
+ * @param serverLocationAndMemberId The server the connection needs to be to.
+ * @param acquireTimeout The amount of time to wait for a connection to
become available, if
+ * onlyUseExistingCnx is set to true.
+ * @param onlyUseExistingCnx if true, will not create a new connection if
none are available.
+ * @return A connection to use.
+ * @throws AllConnectionsInUseException If there is no available connection
on the desired server,
+ * and onlyUseExistingCnx is set.
+ * @throws NoAvailableServersException If we can't connect to any server
+ * @throws ServerConnectivityException If finding a connection and creating
a connection both fail
+ * to return a connection
+ *
+ */
+ Connection borrowConnection(ServerLocationAndMemberId
serverLocationAndMemberId,
+ long acquireTimeout,
+ boolean onlyUseExistingCnx)
+ throws AllConnectionsInUseException, NoAvailableServersException;
+
+
Review comment:
What does this method do differently compared to the one passing a
server? Do we really need it if it does the same thing?
##########
File path:
geode-core/src/main/java/org/apache/geode/cache/client/internal/ConnectionConnector.java
##########
@@ -88,6 +89,32 @@ public ConnectionImpl connectClientToServer(ServerLocation
location, boolean for
}
}
+
+ public ConnectionImpl connectClientToServer(ServerLocationAndMemberId
serverLocationAndMemberId,
Review comment:
There is a lot of code repeated in this method. I suggest that you
refactor it in order to avoid it.
##########
File path:
geode-core/src/main/java/org/apache/geode/cache/client/internal/pooling/ConnectionManagerImpl.java
##########
@@ -355,6 +385,54 @@ public Connection borrowConnection(ServerLocation server,
long acquireTimeout,
throw new AllConnectionsInUseException();
}
+
+ @Override
+ public Connection borrowConnection(ServerLocationAndMemberId
serverLocationAndMemberId,
Review comment:
There is a lot of code repeated in this method from the previous method.
I suggest it to be refactored in order to avoid it.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]