tree d04962d5b03489cc65ac9a00a3d6d38cb234529f
parent 12faf8de83fed9aa06658dab8398d0280388b498
author HIGUCHI Yuta <y-higuchi@ak.jp.nec.com> 1451366666 -0800
committer Gerrit Code Review <gerrit@onlab.us> 1452071553 +0000

Bug fixes for ONOS-3509

- Forwarding behavior added to {Device,Link}Store by ONOS-490
  cauesed false update information sent from ONOS node, which has been detached from the cluster,
  to be accepted by rest of the cluster after the detached node has rejoined cluster.

- Fix for periodic mastership check was left out
  when MastershipService#requestRoleFor(..) return value was changed to Future.

- Fix for triggerProbe() related messages getting dropped,
  right after STANDBY -> MASTER role change.

- Local state (connectedDevices) was preventing
  vertical (Core -> switch) Mastership state synchronization.

- Various debug log, comment added during investigation.

Change-Id: I777beadf04db8a879830a07bfdc7ab0e2279f190
