BUG-6470 Fix deadlock in BGP session creation 14/44114/4
authorKevin Wang <kevixw@gmail.com>
Thu, 11 Aug 2016 22:23:51 +0000 (15:23 -0700)
committerMilos Fabian <milfabia@cisco.com>
Fri, 19 Aug 2016 08:34:07 +0000 (08:34 +0000)
commite06d8be10658d9a4d40b10a8d2fa324052aa2d05
tree5518a45b92bcf025f7a6e399552ad37f5f3bbc7a
parentae9a3fb8e46b187c02fcc0b9468b206959f1f6d6
BUG-6470 Fix deadlock in BGP session creation

- Fix intermittent error in BGPDispatcherImplTest. In AbstractBGPSessionNegotiator,
  handleMessage() was able to be invoked by channel.pipeline().replace(..) recursively.
  So when handling a BGP message, it could happen that this.state gets out of sync
  and exception got thrown.

Change-Id: I346ab56fc85d1705099a69084cb89d660d8e1f61
Signed-off-by: Kevin Wang <kevixw@gmail.com>
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AbstractBGPSessionNegotiator.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImpl.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/BGPDispatcherImplTest.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/BGPSessionImplTest.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/PeerTest.java
testtool-util/src/main/java/org/opendaylight/protocol/util/InetSocketAddressUtil.java