You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Bruce J Schuchardt (Jira)" <ji...@apache.org> on 2020/11/02 23:48:00 UTC

[jira] [Created] (GEODE-8681) peer-to-peer message loss due to sending connection closing with TLS enabled

Bruce J Schuchardt created GEODE-8681:
-----------------------------------------

             Summary: peer-to-peer message loss due to sending connection closing with TLS enabled
                 Key: GEODE-8681
                 URL: https://issues.apache.org/jira/browse/GEODE-8681
             Project: Geode
          Issue Type: Bug
          Components: messaging
            Reporter: Bruce J Schuchardt


We have observed message loss when TLS is enabled and a distributed lock is released right after sending a message that doesn't require acknowledgement if the sending socket is immediately closed. The closing of sockets immediately after sending a message is frequently seen in function execution threads or server-side application threads that use this pattern:
{code:java}
 try {
    DistributedSystem.setThreadsSocketPolicy(false);
    acquireDistributedLock(lockName);
    (perform one or more cache operations)
  } finally {
    distLockService.unlock(lockName);
    DistributedSystem.releaseThreadsSockets(); // closes the socket
  }
{code}

The fault seems to be in NioSSLEngine.unwrap(), which throws an SSLException() if it finds the SSLEngine is closed even though there is valid data in its decrypt buffer.  It shouldn't throw an exception in that case.



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