Details
-
Bug
-
Status: Complete
-
Medium
-
Resolution: Done
-
None
-
None
-
None
-
None
-
Sprint 18.04, Sprint 18.05
Description
Overview:
There is an issue with the same primary elected for both instances due to nodes demoting/promoting/switching off/switching on.
Build Info:
indy-node 1.2.282
Steps to Reporduce:
It's unclear, see attached logs from all nodes for more info.
Actual Results:
There is the same primary for instances 0 and 1 at nodes that was never demoted during test run:
2018-01-24 15:34:59,386 | INFO | node.py (485) | on_view_change_start | VIEW CHANGE: Node1 changed to view 1, will start catchup now 2018-01-24 15:34:59,459 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node1:0 declares view change 1 as completed for instance 0, new primary is Node3:0, ledger info is [(0, 8, 'CazoXBw6BYkxkXM6FXfQZnCwwwqNbAYK6NZyTsr8R2CC'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 2, 'CV9Dq7nStEqe5hJP6kbvT2UqHxKoyVdQ6dYg6ReGXP4Y')] 2018-01-24 15:34:59,460 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node1:1 declares view change 1 as completed for instance 1, new primary is Node4:1, ledger info is [(0, 8, 'CazoXBw6BYkxkXM6FXfQZnCwwwqNbAYK6NZyTsr8R2CC'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 2, 'CV9Dq7nStEqe5hJP6kbvT2UqHxKoyVdQ6dYg6ReGXP4Y')] 2018-01-24 14:33:43,092 | INFO | node.py (485) | on_view_change_start | VIEW CHANGE: Node2 changed to view 1, will start catchup now 2018-01-24 14:33:43,165 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node2:0 declares view change 1 as completed for instance 0, new primary is Node3:0, ledger info is [(0, 7, 'D2qVBkrRoKU78vLQdsEnrydHxuwCS15s8jyzPTqFodB2'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 1, '1fxbz7Tb68KqRhJyE87yaymZ3kQWFMwX6AvVzYa2Qew')] 2018-01-24 15:34:59,340 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node2:1 declares view change 1 as completed for instance 1, new primary is Node3:1, ledger info is [(0, 8, 'CazoXBw6BYkxkXM6FXfQZnCwwwqNbAYK6NZyTsr8R2CC'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 2, 'CV9Dq7nStEqe5hJP6kbvT2UqHxKoyVdQ6dYg6ReGXP4Y')] 2018-01-24 14:33:43,085 | INFO | node.py (485) | on_view_change_start | VIEW CHANGE: Node3 changed to view 1, will start catchup now 2018-01-24 14:33:43,174 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node3:0 declares view change 1 as completed for instance 0, new primary is Node3:0, ledger info is [(0, 7, 'D2qVBkrRoKU78vLQdsEnrydHxuwCS15s8jyzPTqFodB2'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 1, '1fxbz7Tb68KqRhJyE87yaymZ3kQWFMwX6AvVzYa2Qew')] 2018-01-24 14:33:45,094 | INFO | view_changer.py (380) | sendInstanceChange | VIEW CHANGE: Node3 sending an instance change with view_no 2 since Primary of master protocol instance disconnected 2018-01-24 15:34:59,338 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node3:1 declares view change 1 as completed for instance 1, new primary is Node3:1, ledger info is [(0, 8, 'CazoXBw6BYkxkXM6FXfQZnCwwwqNbAYK6NZyTsr8R2CC'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 2, 'CV9Dq7nStEqe5hJP6kbvT2UqHxKoyVdQ6dYg6ReGXP4Y')] 2018-01-24 14:33:43,088 | INFO | node.py (485) | on_view_change_start | VIEW CHANGE: Node4 changed to view 1, will start catchup now 2018-01-24 14:33:43,177 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node4:0 declares view change 1 as completed for instance 0, new primary is Node3:0, ledger info is [(0, 7, 'D2qVBkrRoKU78vLQdsEnrydHxuwCS15s8jyzPTqFodB2'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 1, '1fxbz7Tb68KqRhJyE87yaymZ3kQWFMwX6AvVzYa2Qew')] 2018-01-24 15:34:59,313 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node4:1 declares view change 1 as completed for instance 1, new primary is Node3:1, ledger info is [(0, 8, 'CazoXBw6BYkxkXM6FXfQZnCwwwqNbAYK6NZyTsr8R2CC'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 2, 'CV9Dq7nStEqe5hJP6kbvT2UqHxKoyVdQ6dYg6ReGXP4Y')] 2018-01-24 15:35:54,923 | INFO | node.py (485) | on_view_change_start | VIEW CHANGE: Node5 changed to view 1, will start catchup now 2018-01-24 15:35:55,048 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node5:0 declares view change 1 as completed for instance 0, new primary is Node3:0, ledger info is [(0, 9, '8MMN1HuP2XrkiCubNXk9Cqw685UUCJL93SGFksaq1gEd'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 2, 'CV9Dq7nStEqe5hJP6kbvT2UqHxKoyVdQ6dYg6ReGXP4Y')] 2018-01-24 15:35:55,049 | DISPLAY | node.py (2314) | select_primaries | VIEW CHANGE: Node5:1 declares view change 1 as completed for instance 1, new primary is Node4:1, ledger info is [(0, 9, '8MMN1HuP2XrkiCubNXk9Cqw685UUCJL93SGFksaq1gEd'), (1, 13, 'DXNrGGWmZWwd72zmwMFXutRu7qMs92FWfztmeTRiS8iJ'), (2, 2, 'CV9Dq7nStEqe5hJP6kbvT2UqHxKoyVdQ6dYg6ReGXP4Y')]
Expected Results:
Primaries for different instances should be different.