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

hepin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko.git


The following commit(s) were added to refs/heads/main by this push:
     new a2aa52faf5 chore: Remove deprecated AssociationHandle.disassociate 
(#2074)
a2aa52faf5 is described below

commit a2aa52faf50c881a4d083d104407c968bc4edc53
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Sun Aug 24 09:19:22 2025 +0800

    chore: Remove deprecated AssociationHandle.disassociate (#2074)
---
 .../remove-deprecated-methods.excludes                      |  2 ++
 .../src/main/scala/org/apache/pekko/remote/Endpoint.scala   |  2 +-
 .../src/main/scala/org/apache/pekko/remote/Remoting.scala   |  8 ++++----
 .../remote/transport/FailureInjectorTransportAdapter.scala  | 11 +++--------
 .../pekko/remote/transport/PekkoProtocolTransport.scala     | 11 +++++++++--
 .../org/apache/pekko/remote/transport/TestTransport.scala   |  6 +++++-
 .../pekko/remote/transport/ThrottlerTransportAdapter.scala  |  6 +++++-
 .../scala/org/apache/pekko/remote/transport/Transport.scala | 13 -------------
 .../apache/pekko/remote/transport/netty/TcpSupport.scala    |  5 ++++-
 9 files changed, 33 insertions(+), 31 deletions(-)

diff --git 
a/remote/src/main/mima-filters/2.0.x.backwards.excludes/remove-deprecated-methods.excludes
 
b/remote/src/main/mima-filters/2.0.x.backwards.excludes/remove-deprecated-methods.excludes
index de1e1fda4c..09b2cce7b2 100644
--- 
a/remote/src/main/mima-filters/2.0.x.backwards.excludes/remove-deprecated-methods.excludes
+++ 
b/remote/src/main/mima-filters/2.0.x.backwards.excludes/remove-deprecated-methods.excludes
@@ -29,3 +29,5 @@ 
ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.remote.serializati
 
ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.remote.serialization.LongSerializer")
 
ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.remote.serialization.StringSerializer")
 
ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.remote.transport.FailureInjectorTransportAdapter$All*")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.remote.transport.AssociationHandle.disassociate")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.remote.transport.TestAssociationHandle.disassociate")
diff --git a/remote/src/main/scala/org/apache/pekko/remote/Endpoint.scala 
b/remote/src/main/scala/org/apache/pekko/remote/Endpoint.scala
index 84a53a20af..d9120ec4cb 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/Endpoint.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/Endpoint.scala
@@ -707,7 +707,7 @@ private[remote] class EndpointWriter(
     ackIdleTimer.cancel()
     while (!prioBuffer.isEmpty) extendedSystem.deadLetters ! prioBuffer.poll
     while (!buffer.isEmpty) extendedSystem.deadLetters ! buffer.poll
-    handle.foreach { _.disassociate(stopReason) }
+    handle.foreach { _.disassociate(stopReason, log) }
     eventPublisher.notifyListeners(DisassociatedEvent(localAddress, 
remoteAddress, inbound))
   }
 
diff --git a/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala 
b/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala
index baa79ee000..a6698cef54 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala
@@ -827,7 +827,7 @@ private[remote] class EndpointManager(conf: Config, log: 
LoggingAdapter)
         shutdownStatus <- shutdownAll(transportMapping.values)(_.shutdown())
       } yield flushStatus && shutdownStatus).pipeTo(sender())
 
-      
pendingReadHandoffs.valuesIterator.foreach(_.disassociate(AssociationHandle.Shutdown))
+      
pendingReadHandoffs.valuesIterator.foreach(_.disassociate(AssociationHandle.Shutdown,
 log))
 
       // Ignore all other writes
       normalShutdown = true
@@ -836,7 +836,7 @@ private[remote] class EndpointManager(conf: Config, log: 
LoggingAdapter)
 
   def flushing: Receive = {
     case s: Send                                    => 
extendedSystem.deadLetters ! s
-    case InboundAssociation(h: PekkoProtocolHandle) => 
h.disassociate(AssociationHandle.Shutdown)
+    case InboundAssociation(h: PekkoProtocolHandle) => 
h.disassociate(AssociationHandle.Shutdown, log)
     case Terminated(_)                              => // why should we care 
now?
   }
 
@@ -855,7 +855,7 @@ private[remote] class EndpointManager(conf: Config, log: 
LoggingAdapter)
           }
         case None =>
           if (endpoints.isQuarantined(handle.remoteAddress, 
handle.handshakeInfo.uid))
-            handle.disassociate(AssociationHandle.Quarantined)
+            handle.disassociate(AssociationHandle.Quarantined, log)
           else
             endpoints.writableEndpointWithPolicyFor(handle.remoteAddress) 
match {
               case Some(Pass(ep, None)) =>
@@ -1035,7 +1035,7 @@ private[remote] class EndpointManager(conf: Config, log: 
LoggingAdapter)
 
   override def postStop(): Unit = {
     pruneTimerCancellable.cancel()
-    
pendingReadHandoffs.valuesIterator.foreach(_.disassociate(AssociationHandle.Shutdown))
+    
pendingReadHandoffs.valuesIterator.foreach(_.disassociate(AssociationHandle.Shutdown,
 log))
 
     if (!normalShutdown) {
       // Remaining running endpoints are children, so they will clean up 
themselves.
diff --git 
a/remote/src/main/scala/org/apache/pekko/remote/transport/FailureInjectorTransportAdapter.scala
 
b/remote/src/main/scala/org/apache/pekko/remote/transport/FailureInjectorTransportAdapter.scala
index f5c43cc4e1..a17da99b72 100644
--- 
a/remote/src/main/scala/org/apache/pekko/remote/transport/FailureInjectorTransportAdapter.scala
+++ 
b/remote/src/main/scala/org/apache/pekko/remote/transport/FailureInjectorTransportAdapter.scala
@@ -186,15 +186,10 @@ private[remote] final case class FailureInjectorHandle(
       wrappedHandle.write(payload)
     else true
 
-  override def disassociate(reason: String, log: LoggingAdapter): Unit =
+  override def disassociate(reason: String, log: LoggingAdapter): Unit = {
+    super.disassociate(reason, log)
     wrappedHandle.disassociate(reason, log)
-
-  @deprecated(
-    message = "Use method that states reasons to make sure disassociation 
reasons are logged.",
-    since = "Akka 2.5.3")
-  @nowarn("msg=deprecated")
-  override def disassociate(): Unit =
-    wrappedHandle.disassociate()
+  }
 
   override def notify(ev: HandleEvent): Unit =
     if (!gremlinAdapter.shouldDropInbound(wrappedHandle.remoteAddress, ev, 
"handler.notify"))
diff --git 
a/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala
 
b/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala
index 9982ce186b..168d80af03 100644
--- 
a/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala
+++ 
b/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala
@@ -28,6 +28,7 @@ import pekko.{ OnlyCauseStackTrace, PekkoException }
 import pekko.actor._
 import pekko.actor.SupervisorStrategy.Stop
 import pekko.dispatch.{ RequiresMessageQueue, UnboundedMessageQueueSemantics }
+import pekko.event.LoggingAdapter
 import pekko.pattern.pipe
 import pekko.remote._
 import pekko.remote.transport.ActorTransportAdapter._
@@ -238,9 +239,15 @@ private[remote] class PekkoProtocolHandle(
 
   override def write(payload: ByteString): Boolean = 
wrappedHandle.write(codec.constructPayload(payload))
 
-  override def disassociate(): Unit = disassociate(Unknown)
+  override def disassociate(reason: String, log: LoggingAdapter): Unit = {
+    super.disassociate(reason, log)
+    stateActor ! DisassociateUnderlying(Unknown)
+  }
 
-  def disassociate(info: DisassociateInfo): Unit = stateActor ! 
DisassociateUnderlying(info)
+  def disassociate(info: DisassociateInfo, log: LoggingAdapter): Unit = {
+    super.disassociate(info.toString, log)
+    stateActor ! DisassociateUnderlying(info)
+  }
 }
 
 @nowarn("msg=deprecated")
diff --git 
a/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala 
b/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala
index e6576413f9..2fd2508243 100644
--- 
a/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala
+++ 
b/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala
@@ -23,6 +23,7 @@ import com.typesafe.config.Config
 
 import org.apache.pekko
 import pekko.actor._
+import pekko.event.LoggingAdapter
 import pekko.remote.transport.AssociationHandle._
 import pekko.remote.transport.Transport._
 import pekko.util.ByteString
@@ -484,7 +485,10 @@ final case class TestAssociationHandle(
   override def write(payload: ByteString): Boolean =
     if (writable) transport.write(this, payload) else false
 
-  override def disassociate(): Unit = transport.disassociate(this)
+  override def disassociate(reason: String, log: LoggingAdapter): Unit = {
+    super.disassociate(reason, log)
+    transport.disassociate(this)
+  }
 
   /**
    * Key used in [[pekko.remote.transport.TestTransport.AssociationRegistry]] 
to identify associations. Contains an
diff --git 
a/remote/src/main/scala/org/apache/pekko/remote/transport/ThrottlerTransportAdapter.scala
 
b/remote/src/main/scala/org/apache/pekko/remote/transport/ThrottlerTransportAdapter.scala
index b054eeb950..c6a044d1fb 100644
--- 
a/remote/src/main/scala/org/apache/pekko/remote/transport/ThrottlerTransportAdapter.scala
+++ 
b/remote/src/main/scala/org/apache/pekko/remote/transport/ThrottlerTransportAdapter.scala
@@ -31,6 +31,7 @@ import pekko.actor._
 import pekko.dispatch.{ RequiresMessageQueue, UnboundedMessageQueueSemantics }
 import pekko.dispatch.ExecutionContexts
 import pekko.dispatch.sysmsg.{ Unwatch, Watch }
+import pekko.event.LoggingAdapter
 import pekko.pattern.{ ask, pipe, PromiseActorRef }
 import pekko.remote.RARP
 import pekko.remote.transport.ActorTransportAdapter.AssociateUnderlying
@@ -646,7 +647,10 @@ private[transport] final case class 
ThrottlerHandle(_wrappedHandle: AssociationH
 
   }
 
-  override def disassociate(): Unit = throttlerActor ! PoisonPill
+  override def disassociate(reason: String, log: LoggingAdapter): Unit = {
+    super.disassociate(reason, log)
+    throttlerActor ! PoisonPill
+  }
 
   def disassociateWithFailure(reason: DisassociateInfo): Unit = {
     throttlerActor ! ThrottledAssociation.FailWith(reason)
diff --git 
a/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala 
b/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala
index 38a88d7964..d8635aed9f 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala
@@ -276,17 +276,6 @@ trait AssociationHandle {
    */
   def write(payload: ByteString): Boolean
 
-  /**
-   * Closes the underlying transport link, if needed. Some transports might 
not need an explicit teardown (UDP) and
-   * some transports may not support it (hardware connections). Remote 
endpoint of the channel or connection MAY
-   * be notified, but this is not guaranteed. The Transport that provides the 
handle MUST guarantee that disassociate()
-   * could be called arbitrarily many times.
-   */
-  @deprecated(
-    message = "Use method that states reasons to make sure disassociation 
reasons are logged.",
-    since = "Akka 2.5.3")
-  def disassociate(): Unit
-
   /**
    * Closes the underlying transport link, if needed. Some transports might 
not need an explicit teardown (UDP) and
    * some transports may not support it (hardware connections). Remote 
endpoint of the channel or connection MAY
@@ -301,7 +290,5 @@ trait AssociationHandle {
         localAddress,
         remoteAddress,
         reason)
-
-    disassociate()
   }
 }
diff --git 
a/remote/src/main/scala/org/apache/pekko/remote/transport/netty/TcpSupport.scala
 
b/remote/src/main/scala/org/apache/pekko/remote/transport/netty/TcpSupport.scala
index 8d8fab344a..053590f192 100644
--- 
a/remote/src/main/scala/org/apache/pekko/remote/transport/netty/TcpSupport.scala
+++ 
b/remote/src/main/scala/org/apache/pekko/remote/transport/netty/TcpSupport.scala
@@ -123,5 +123,8 @@ private[remote] class TcpAssociationHandle(
       true
     } else false
 
-  override def disassociate(): Unit = NettyTransport.gracefulClose(channel)
+  override def disassociate(reason: String, log: LoggingAdapter): Unit = {
+    super.disassociate(reason, log)
+    NettyTransport.gracefulClose(channel)
+  }
 }


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

Reply via email to