diff --git a/akka-remote/src/main/resources/reference.conf b/akka-remote/src/main/resources/reference.conf index ff19cefa70..1158d12295 100644 --- a/akka-remote/src/main/resources/reference.conf +++ b/akka-remote/src/main/resources/reference.conf @@ -117,8 +117,7 @@ akka { read-timeout = 0s # (O) Write inactivity period (lowest resolution is seconds) - # after which active client connection is shutdown; - # will be re-established in case of new communication requests + # after which a heartbeat is sent across the wire. # A value of 0 will turn this feature off write-timeout = 10s diff --git a/akka-remote/src/main/scala/akka/remote/netty/Client.scala b/akka-remote/src/main/scala/akka/remote/netty/Client.scala index 7c4a462774..eafd01d91a 100644 --- a/akka-remote/src/main/scala/akka/remote/netty/Client.scala +++ b/akka-remote/src/main/scala/akka/remote/netty/Client.scala @@ -259,9 +259,8 @@ class ActiveRemoteClientHandler( } e.getState match { - case READER_IDLE ⇒ e.getChannel.close() - case WRITER_IDLE ⇒ e.getChannel.write(createHeartBeat(localAddress, client.netty.settings.SecureCookie)) - case ALL_IDLE ⇒ e.getChannel.close() + case READER_IDLE | ALL_IDLE ⇒ runOnceNow { client.netty.shutdownClientConnection(remoteAddress) } + case WRITER_IDLE ⇒ e.getChannel.write(createHeartBeat(localAddress, client.netty.settings.SecureCookie)) } } diff --git a/akka-remote/src/main/scala/akka/remote/netty/Server.scala b/akka-remote/src/main/scala/akka/remote/netty/Server.scala index d0e8aafe05..83fb378a62 100644 --- a/akka-remote/src/main/scala/akka/remote/netty/Server.scala +++ b/akka-remote/src/main/scala/akka/remote/netty/Server.scala @@ -62,7 +62,7 @@ class NettyRemoteServer(val netty: NettyRemoteTransport) { val b = RemoteControlProtocol.newBuilder.setCommandType(CommandType.SHUTDOWN) b.setOrigin(RemoteProtocol.AddressProtocol.newBuilder .setSystem(netty.address.system) - .setHostname(netty.address.host.get) //FIXME Should probably be settings.host + .setHostname(netty.address.host.get) .setPort(netty.address.port.get) .build) if (settings.SecureCookie.nonEmpty)