From 86c5f78805c484e56315f9e4ae7033e2fffbde81 Mon Sep 17 00:00:00 2001 From: Robert Habermeier Date: Sun, 27 Jan 2019 10:53:57 -0300 Subject: [PATCH] more logging around pending GRANDPA changes (#1587) --- substrate/core/client/db/src/lib.rs | 22 +++++++++++++++++++ .../core/finality-grandpa/src/authorities.rs | 5 +++++ substrate/core/finality-grandpa/src/lib.rs | 1 + 3 files changed, 28 insertions(+) diff --git a/substrate/core/client/db/src/lib.rs b/substrate/core/client/db/src/lib.rs index 0cca2c0680..4dd3aa6c2d 100644 --- a/substrate/core/client/db/src/lib.rs +++ b/substrate/core/client/db/src/lib.rs @@ -1568,6 +1568,28 @@ mod tests { } } + #[test] + fn tree_route_child() { + let backend = Backend::::new_test(1000, 100); + + let block0 = insert_header(&backend, 0, Default::default(), Vec::new(), Default::default()); + let block1 = insert_header(&backend, 1, block0, Vec::new(), Default::default()); + + { + let tree_route = ::client::blockchain::tree_route( + backend.blockchain(), + BlockId::Hash(block0), + BlockId::Hash(block1), + ).unwrap(); + + println!("{:?}", tree_route); + + assert_eq!(tree_route.common_block().hash, block0); + assert!(tree_route.retracted().is_empty()); + assert_eq!(tree_route.enacted().iter().map(|r| r.hash).collect::>(), vec![block1]); + } + } + #[test] fn test_leaves_with_complex_block_tree() { let backend: Arc> = Arc::new(Backend::new_test(20, 20)); diff --git a/substrate/core/finality-grandpa/src/authorities.rs b/substrate/core/finality-grandpa/src/authorities.rs index 11954b6fcf..793edb8b87 100644 --- a/substrate/core/finality-grandpa/src/authorities.rs +++ b/substrate/core/finality-grandpa/src/authorities.rs @@ -140,8 +140,13 @@ where )) .unwrap_or_else(|i| i); + debug!(target: "afg", "Inserting potential set change at block {:?}.", + (&pending.canon_height, &pending.canon_hash)); + self.pending_changes.insert(idx, pending); + debug!(target: "afg", "There are now {} pending changes.", self.pending_changes.len()); + Ok(()) } diff --git a/substrate/core/finality-grandpa/src/lib.rs b/substrate/core/finality-grandpa/src/lib.rs index c14dc96dc2..7cec57d045 100644 --- a/substrate/core/finality-grandpa/src/lib.rs +++ b/substrate/core/finality-grandpa/src/lib.rs @@ -1136,6 +1136,7 @@ impl, RA, PRA> BlockImport let is_equal_or_descendent_of = |base: &Block::Hash| -> Result<(), ConsensusError> { let error = || { + debug!(target: "afg", "rejecting change: {} is in the same chain as {}", hash, base); Err(ConsensusErrorKind::ClientImport("Incorrect base hash".to_string()).into()) };