Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rustyrussell/pettycoin
base: 133b93fdf7f0
Choose a base ref
...
head repository: rustyrussell/pettycoin
compare: 29759246cca2
Choose a head ref
  • 5 commits
  • 22 files changed
  • 1 contributor

Commits on Aug 6, 2014

  1. Store unknown blocks.

    Fascinating bug when the two seed nodes diverged by several thousand blocks
    (due to I/O loss, judging from the logs).
    
    When a new block was generated by the remote node, it sends it to us.
    We don't know the ->prev_block, so we forget the block, and ask for ->prev_block.
    It sends us that block, but again, we don't know prev...
    
    While we're chasing back several thousand blocks, it generates a new block,
    and we start chasing prevs for that as well.  Which slows us down more.
    
    Resolving the FIXME and remembering detached blocks should fix this.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Aug 6, 2014
    Configuration menu
    Copy the full SHA
    e37c62e View commit details
    Browse the repository at this point in the history
  2. Speedup when we attach detached blocks.

    Seeking detached blocks before update_block_ptrs_new_block() causes a
    massive slowdown because recheck_merkles() runs recursively on all
    children.  Switch the order and it's much nicer (though recheck_merkles()
    could definitely use some optimization, as the FIXME says).
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Aug 6, 2014
    Configuration menu
    Copy the full SHA
    d0d0d44 View commit details
    Browse the repository at this point in the history
  3. Blackbox tests.

    As separate from unit tests, these spin up one or more pettycoin instances
    and subject them to testing.  First test is syncing after a massive
    fork.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Aug 6, 2014
    Configuration menu
    Copy the full SHA
    f3021fc View commit details
    Browse the repository at this point in the history
  4. jsonrpc: submitblock command

    Great for testing.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Aug 6, 2014
    Configuration menu
    Copy the full SHA
    510ba73 View commit details
    Browse the repository at this point in the history
  5. Use submitblock for blackbox test.

    Instead of waiting for generator.  Runs in about 23 seconds here now.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    rustyrussell committed Aug 6, 2014
    Configuration menu
    Copy the full SHA
    2975924 View commit details
    Browse the repository at this point in the history