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

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 1cf99ac28d4c3af5b309eabc0393fcede414100e
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue May 21 13:38:08 2019 +0100

    Extra fixes for https://bz.apache.org/bugzilla/show_bug.cgi?id=62841
    
    Thanks to kfujino's review
---
 java/org/apache/catalina/ha/session/DeltaManager.java | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java 
b/java/org/apache/catalina/ha/session/DeltaManager.java
index 0e2a7e7..d7b86ab 100644
--- a/java/org/apache/catalina/ha/session/DeltaManager.java
+++ b/java/org/apache/catalina/ha/session/DeltaManager.java
@@ -583,13 +583,19 @@ public class DeltaManager extends ClusterManagerBase{
      *
      * @param deltaRequest
      * @return serialized delta request
-     * @throws IOException
+     * @throws IOException IO error with serialization
+     *
+     * @deprecated Unused. This will be removed in Tomcat 10.
+     *             Calling this method may result in a deadlock. See:
+     *             https://bz.apache.org/bugzilla/show_bug.cgi?id=62841
      */
-    protected byte[] serializeDeltaRequest(DeltaSession session, DeltaRequest 
deltaRequest) throws IOException {
+    @Deprecated
+    protected byte[] serializeDeltaRequest(DeltaSession session, DeltaRequest 
deltaRequest)
+            throws IOException {
+        session.lock();
         try {
-            session.lock();
             return deltaRequest.serialize();
-        }finally {
+        } finally {
             session.unlock();
         }
     }
@@ -976,7 +982,7 @@ public class DeltaManager extends ClusterManagerBase{
             deltaRequest = session.replaceDeltaRequest(newDeltaRequest);
             if (deltaRequest.getSize() > 0) {
                 counterSend_EVT_SESSION_DELTA++;
-                byte[] data = serializeDeltaRequest(session,deltaRequest);
+                byte[] data = deltaRequest.serialize();
                 msg = new SessionMessageImpl(getName(),
                                              SessionMessage.EVT_SESSION_DELTA,
                                              data,


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to