Hi geode-dev, I have a question about the c++ client.
Some months ago we merged GEODE-8231 to solve a problem we observed regarding the native client was trying to connect to stopped server. GEODE-8231 solution consists on remove the client metadata when an "IO error in handshake" exception is received. This fix solved most of our problems, but it has been observed that sometimes when a server is stopped the errors received in the client are not the same and this "IO error in handshake" takes up to a minute to appear. So during that time, the client is still trying to connect to the offline server. As the error received during that time is "timeout in handshake", we have tested modyfing the solution of GEODE-8213 to make the client to remove the metadata once a timeout error is received (here is a draft with the code: https://github.com/apache/geode-native/pull/651). With this change in place, the behavior is ok. But I would like to check your opinion about this check, because this will cause that a single timeout will cause the removal of the client metadata, which maybe its not the best solution. I thought about different alternatives: - Wait until a given number of timeouts in a row have been received from the same server to remove the metadata - Make this "remove-metadata-after-timeout" something optional that could be configured if needed As this will misalign the behavior of Java and C++ clients, making this an optional configuration will be more appropriate, to keep the default c++ client behavior as the Java client. BR/ Alberto B.