Bug 6585: BGP ChannelOutputLimiter waits forever 70/45170/1
authorMilos Fabian <milfabia@cisco.com>
Wed, 31 Aug 2016 15:40:49 +0000 (17:40 +0200)
committerRobert Varga <nite@hq.sk>
Mon, 5 Sep 2016 15:23:18 +0000 (15:23 +0000)
commit31b46e769ccb54c163a16c7972029220d81f58ff
tree797d1be761e650b7cd17bfacc78d1d3c06f5092f
parent12ffe4831145ec71e269dee92d6974f7650d1d07
Bug 6585: BGP ChannelOutputLimiter waits forever

After a while (when an output buffer reach upper bound),
BGP's ChannelOutputLimiter handler get stacked waiting for the channel to become writable again.
The writability change never happen, however socket flush is invoked,
so the session peer dies on holdtimer expiration.

Looks like calling #flush when writability changes to non-writable has no effect.
Invoking #flush in #ensureWritable makes the expected action.

Change-Id: I95681d87c30aff82ec360a2d13fc01fe35873507
Signed-off-by: Milos Fabian <milfabia@cisco.com>
(cherry picked from commit 684d75cb36f3b34b2691b374166f1bbc9ef52de5)
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/ChannelOutputLimiter.java