From 5cc7a2d51bf0e0c928d94114bbebf85d7d57a9e0 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Mon, 25 Jun 2018 17:43:49 +0200 Subject: kernel: Send tick to hidden node even if pending writes as c-nodes need ticks to send ticks. --- lib/kernel/src/dist_util.erl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/kernel') diff --git a/lib/kernel/src/dist_util.erl b/lib/kernel/src/dist_util.erl index b3507e5d13..86120a5483 100644 --- a/lib/kernel/src/dist_util.erl +++ b/lib/kernel/src/dist_util.erl @@ -731,7 +731,7 @@ send_status(#hs_data{socket = Socket, other_node = Node, %% The detection time interval is thus, by default, 45s < DT < 75s -%% A HIDDEN node is always (if not a pending write) ticked if +%% A HIDDEN node is always ticked if %% we haven't read anything as a hidden node only ticks when it receives %% a TICK !! @@ -745,8 +745,8 @@ send_tick(Socket, Tick, Type, MFTick, MFGetstat) -> case MFGetstat(Socket) of {ok, Read, _, _} when Ticked =:= T -> {error, not_responding}; - {ok, Read, W, Pend} when Type =:= hidden -> - send_tick(Socket, Pend, MFTick), + {ok, Read, W, _} when Type =:= hidden -> + MFTick(Socket), {ok, Tick#tick{write = W + 1, tick = T1}}; {ok, Read, Write, Pend} -> -- cgit v1.2.3 From 366fe98c3f685595c5b4e9c6cb19d1034d7b24f6 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Mon, 25 Jun 2018 17:13:12 +0200 Subject: kernel: Fix tick count bug when pending writes --- lib/kernel/src/dist_util.erl | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'lib/kernel') diff --git a/lib/kernel/src/dist_util.erl b/lib/kernel/src/dist_util.erl index 86120a5483..d80971f414 100644 --- a/lib/kernel/src/dist_util.erl +++ b/lib/kernel/src/dist_util.erl @@ -750,12 +750,12 @@ send_tick(Socket, Tick, Type, MFTick, MFGetstat) -> {ok, Tick#tick{write = W + 1, tick = T1}}; {ok, Read, Write, Pend} -> - send_tick(Socket, Pend, MFTick), - {ok, Tick#tick{write = Write + 1, + Sent = send_tick(Socket, Pend, MFTick), + {ok, Tick#tick{write = Write + Sent, tick = T1}}; {ok, R, Write, Pend} -> - send_tick(Socket, Pend, MFTick), - {ok, Tick#tick{write = Write + 1, + Sent = send_tick(Socket, Pend, MFTick), + {ok, Tick#tick{write = Write + Sent, read = R, tick = T1, ticked = T}}; @@ -772,10 +772,11 @@ send_tick(Socket, Tick, Type, MFTick, MFGetstat) -> end. send_tick(Socket, 0, MFTick) -> - MFTick(Socket); + MFTick(Socket), + 1; send_tick(_, _Pend, _) -> %% Dont send tick if pending write. - ok. + 0. %% ------------------------------------------------------------ %% Connection setup timeout timer. -- cgit v1.2.3 From b059b597cb31be08220cb967c117033f34ca49c4 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Thu, 28 Jun 2018 17:09:22 +0200 Subject: Prepare release --- lib/kernel/doc/src/notes.xml | 20 ++++++++++++++++++++ lib/kernel/vsn.mk | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'lib/kernel') diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml index 09844f1502..f7d2c93666 100644 --- a/lib/kernel/doc/src/notes.xml +++ b/lib/kernel/doc/src/notes.xml @@ -31,6 +31,26 @@

This document describes the changes made to the Kernel application.

+
Kernel 5.4.3.1 + +
Fixed Bugs and Malfunctions + + +

+ Fix some potential buggy behavior in how ticks are sent + on inter node distribution connections. Tick is now sent + to c-node even if there are unsent buffered data, as + c-nodes need ticks in order to send reply ticks. The + amount of sent data was calculated wrongly when ticks + where suppressed due to unsent buffered data.

+

+ Own Id: OTP-15162 Aux Id: ERIERL-191

+
+
+
+ +
+
Kernel 5.4.3
Fixed Bugs and Malfunctions diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk index 60a1b0bff8..7f2041ef55 100644 --- a/lib/kernel/vsn.mk +++ b/lib/kernel/vsn.mk @@ -1 +1 @@ -KERNEL_VSN = 5.4.3 +KERNEL_VSN = 5.4.3.1 -- cgit v1.2.3