This is an automated email from the ASF dual-hosted git repository.

mck pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
     new dc5337b  Removed synchronized modifier from 
StreamSession#onChannelClose to prevent deadlocking on flush
dc5337b is described below

commit dc5337bf956ae26447cb8d1ca897512c969f5172
Author: Gianluca Righetto <[email protected]>
AuthorDate: Fri Mar 26 03:52:05 2021 -0300

    Removed synchronized modifier from StreamSession#onChannelClose to prevent 
deadlocking on flush
    
     patch by Gianluca Righetto; reviewed by Ekaterina Dimitrova, Mick Semb 
Wever, Zhao Yang for CASSANDRA-15892
---
 CHANGES.txt                                                | 1 +
 src/java/org/apache/cassandra/streaming/StreamSession.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index b06dbd2..fcebd17 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 4.0-beta5
+ * Removed synchronized modifier from StreamSession#onChannelClose to prevent 
deadlocking on flush (CASSANDRA-15892)
  * Throw IOE in AbstractType.writeValue if value has wrong fixed length 
(CASSANDRA-16500)
  * Execute background refreshing of auth caches on a dedicated executor 
(CASSANDRA-15177)
  * Update bundled java and python drivers to 3.11.0 and 3.25.0 respectively 
(CASSANDRA-13951)
diff --git a/src/java/org/apache/cassandra/streaming/StreamSession.java 
b/src/java/org/apache/cassandra/streaming/StreamSession.java
index 0322f48..a3ffef1 100644
--- a/src/java/org/apache/cassandra/streaming/StreamSession.java
+++ b/src/java/org/apache/cassandra/streaming/StreamSession.java
@@ -336,7 +336,7 @@ public class StreamSession implements 
IEndpointStateChangeSubscriber
      * On channel closing, if no channels are left just close the message 
sender; this must be closed last to ensure
      * keep alive messages are sent until the very end of the streaming 
session.
      */
-    private synchronized void onChannelClose(Channel channel)
+    private void onChannelClose(Channel channel)
     {
         if (channels.remove(channel.id()) != null && channels.isEmpty())
             messageSender.close();

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to