diff --git a/common/bit_array_test.go b/common/bit_array_test.go index 4802bbb9..5892f672 100644 --- a/common/bit_array_test.go +++ b/common/bit_array_test.go @@ -104,3 +104,17 @@ func TestSub2(t *testing.T) { } } } + +func TestPickRandom(t *testing.T) { + for idx := 0; idx < 123; idx++ { + bA1 := NewBitArray(123) + bA1.SetIndex(uint(idx), true) + index, ok := bA1.PickRandom() + if !ok { + t.Fatal("Expected to pick element but got none") + } + if index != uint(idx) { + t.Fatalf("Expected to pick element at %v but got wrong index", idx) + } + } +} diff --git a/consensus/reactor.go b/consensus/reactor.go index 5ab2719f..d1ad6941 100644 --- a/consensus/reactor.go +++ b/consensus/reactor.go @@ -564,7 +564,10 @@ OUTER_LOOP: if sleeping == 0 { // We sent nothing. Sleep... sleeping = 1 - log.Debug("No votes to send, sleeping", "peer", peer) + log.Debug("No votes to send, sleeping", "peer", peer, + "localPV", rs.Prevotes.BitArray(), "peerPV", prs.Prevotes, + "localPC", rs.Precommits.BitArray(), "peerPC", prs.Precommits, + "localCM", rs.Commits.BitArray(), "peerCM", prs.Commits) } else if sleeping == 2 { // Continued sleep... sleeping = 1