BUG-6470 Fix deadlock in BGP session creation 82/44382/1
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:14 +0000 (08:34 +0000)
commit6dd1cd4a7ac297c32c269385f3330a01680ed3b2
tree75d4a520e6087a421f5384da6d6e1d8dd198c243
parent9e8358c2be607f1419d35e7048115f446c087c79
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>
(cherry picked from commit e06d8be10658d9a4d40b10a8d2fa324052aa2d05)
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