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]