Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add started_elections topic to websockets #3851

Merged
merged 37 commits into from
Jul 11, 2022

Commits on Jul 8, 2022

  1. Configuration menu
    Copy the full SHA
    732bf2e View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2022

  1. Configuration menu
    Copy the full SHA
    88175db View commit details
    Browse the repository at this point in the history
  2. clang format

    gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    02988c4 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'develop_started_elections' of https://github.com/gr0vit…

    …y-dev/nano-node into develop_started_elections
    gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    8bc810a View commit details
    Browse the repository at this point in the history
  4. initial centos cleanup

    rpm build image, and signing container
    
    rpm build updates
    Russel Waters authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    761b649 View commit details
    Browse the repository at this point in the history
  5. Fixes to let it run in the CI

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    9869810 View commit details
    Browse the repository at this point in the history
  6. Changes the repo to be passed as argument

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    753142f View commit details
    Browse the repository at this point in the history
  7. Removes the changelog generation from the RPM workflow

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    234e15d View commit details
    Browse the repository at this point in the history
  8. Sets the workflow scripts to use its ref/repo

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    2cc4f03 View commit details
    Browse the repository at this point in the history
  9. Better name for the RPM release variable

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    3fd31ee View commit details
    Browse the repository at this point in the history
  10. Improve maksrc build-centos.sh scripts

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    d277eb5 View commit details
    Browse the repository at this point in the history
  11. Missing S3_BUILD_DIRECTORY var definition

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    423f536 View commit details
    Browse the repository at this point in the history
  12. Fix the checksum basenames

    Thiago Silva authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    7c07474 View commit details
    Browse the repository at this point in the history
  13. confirmation_height_clear cli account param (nanocurrency#3836)

    * confirmation_height_clear cli account param
    
    * Add back missing password option
    
    * Improve the error/help messages to the required account option
    
    - Improve the error message to say the account can be 'all'
    - Improve the confirmation_height_clear help message to inform the value
    'all' can be passed to clear all accounts
    
    Co-authored-by: Thiago Silva <thiago@nano.org>
    2 people authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    a21caaf View commit details
    Browse the repository at this point in the history
  14. Removes references to Travis CI from nano-node (nanocurrency#3755)

    * Remove unused Travis CI script
    * Removes deploy-docker.sh as it is unused
    * Replacing mention to Travis to CI instead
    thsfs authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    30ebf6c View commit details
    Browse the repository at this point in the history
  15. Bound the unchecked store after the initial bootstrap amount has been…

    … reached. This prevents the unchecked table size from increasing beyond reasonable bounds when it's in sync.
    
    # Conflicts:
    #	nano/node/blockprocessor.cpp
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    e17545d View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ac999f2 View commit details
    Browse the repository at this point in the history
  17. Only allow 2 entries to have the same dependency.

    # Conflicts:
    #	nano/secure/store/unchecked_store_partial.hpp
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    0bc1cf8 View commit details
    Browse the repository at this point in the history
  18. Disable vote_processor flushing within the request loop which can blo…

    …ck under heavy vote load.
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    88a107c View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    8567a2d View commit details
    Browse the repository at this point in the history
  20. Bugfix: correctly check for magic bytes and network in message header

    The network bytes (magic bytes), the first 2 byts of the header, were not
    correctly checked. They were checked in the network class inbound function
    but that function is called for realtime messages after the handshake is
    completed. It is not called for bootstrap messages not handshake messages.
    
    Also the version checking was not done properly so I am doing it now
    properly immediately after the magic bytes tests.
    
    The checks are done at the following 3 places:
    * nano::bootstrap_server::receive_header_action
    * nano::transport::tcp_channels::start_tcp_receive_node_id
    * nano::message_parser::deserialize_buffer
    
    The last one is likely only used by UDP and test scripts that use UDP.
    So we should be able to remove the last one when we remove the UDP code.
    
    # Conflicts:
    #	nano/core_test/network.cpp
    dsiganos authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    86c63f8 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    b9bd38e View commit details
    Browse the repository at this point in the history
  22. Improves the vote processor class and limits its flush() (nanocurrenc…

    …y#142)
    
    - Limit the vote_processor::flush_active()
    - The is_active var became useless, also moved the lock position
    - Move the condition.notify_all() up
    - Improve function flush documentation
    - Test normal behavior is getting more votes than processing
    - Also updated the invalid_signature test to ASSERT_TIMELY since it
    should wait for a flush to happen.
    - Also removed the lock for reading total_processed atomic
    variable
    - Explicitly check for timeout in unit test vote_processor.overflow
    - Vote processor: clear votes and notify condition variable on thread
    exit
    
    In theory the vote processor can be stopped and have votes left in its
    queue which would just be strange and a potential source of problems.
    
    Also, a final kick of the condition variable is needed on thread exit
    and after vote clearing.
    
    - Check for confirm req loop blocking too long on vote process flush
    
    This has been a problem in the past and it is always tricky to do flush
    operations, so it is prudent to add a check for timeout here and display
    a warning in release and throw an assert in debug builds.
    
    - Use std::memory_order_relaxed in vote processor::flush for
    total_processed
    
    There is no need to take a memory barrier when reading the atomic
    total_processed, so use relaxed memory order.
    
    Co-Authored-By: Dimitrios Siganos <dimitris@siganos.org>
    
    Co-authored-by: Dimitrios Siganos <dimitris@siganos.org>
    # Conflicts:
    #	nano/core_test/vote_processor.cpp
    thsfs authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    b0b4250 View commit details
    Browse the repository at this point in the history
  23. Vote hinting reenable (nanocurrency#152)

    * Remove unused `previous_balance` field and unnecessary ledger lookup
    
    * Add a new hinted election behavior
    
    * Adjust time to live for hinted elections
    
    * Reenable inactive vote cache with more aggressive threshold (big thanks to @trashman for tuning those parameters)
    
    * Fix `inactive_votes_cache_election_start` unit test
    
    * Add test for vote hinting election limit
    
    * Add config option for vote hinting limit
    
    * Use a counter for number of active hinted elections
    
    * Add more election stats
    
    * Revert "Add config option for vote hinting limit"
    
    This reverts commit d5a9fd5.
    
    * Use ratio as hinted election limit instead of absolute value
    
    * Naming change to `active_elections_hinted_limit_percentage`
    
    * Vote hinting cleanup
    # Conflicts:
    #	nano/core_test/active_transactions.cpp
    #	nano/lib/stats.cpp
    #	nano/lib/stats.hpp
    #	nano/node/election.cpp
    #	nano/node/election_scheduler.cpp
    pwojcikdev authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    d7a5828 View commit details
    Browse the repository at this point in the history
  24. Removing unchecked.for_each_par as it's effectively unused.

    This disables migrating of unchecked table from lmdb to rocksdb, however, this upgrade really isn't needed.
    
    # Conflicts:
    #	nano/secure/store.hpp
    #	nano/secure/store/unchecked_store_partial.hpp
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    d22ac4c View commit details
    Browse the repository at this point in the history
  25. Converting functions on unchecked_map that return iterators to instea…

    …d use for_each with a functor to execute on each result. This prevents iteration details from being exposed externally.
    
    # Conflicts:
    #	nano/core_test/block_store.cpp
    #	nano/nano_node/entry.cpp
    #	nano/node/json_handler.cpp
    #	nano/node/lmdb/lmdb.cpp
    #	nano/node/node.cpp
    #	nano/secure/store.hpp
    #	nano/secure/store/unchecked_store_partial.hpp
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    ce9e261 View commit details
    Browse the repository at this point in the history
  26. Reimplementing nano::unchecked_store::get in terms of unchecked_store…

    …::for_each and removing backend-specific variants.
    
    # Conflicts:
    #	nano/node/lmdb/lmdb.cpp
    #	nano/node/lmdb/lmdb.hpp
    #	nano/node/rocksdb/rocksdb.cpp
    #	nano/node/rocksdb/rocksdb.hpp
    #	nano/secure/store/unchecked_store_partial.hpp
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    71ec1d7 View commit details
    Browse the repository at this point in the history
  27. Adding a memory container for blocks once the initial bootstrap thres…

    …hold is reached. Blocks are pruned in fifo order.
    
    # Conflicts:
    #	nano/node/node.cpp
    #	nano/secure/store/unchecked_store_partial.hpp
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    17f281b View commit details
    Browse the repository at this point in the history
  28. Commenting the transition from disk to memory.

    Fixing rpc.unchecked_get which didn't get translated properly with the for_each conversion.
    
    # Conflicts:
    #	nano/node/json_handler.cpp
    #	nano/secure/store/unchecked_store_partial.hpp
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    bf54411 View commit details
    Browse the repository at this point in the history
  29. Cleanup of the leftover code

    pwojcikdev authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    cfe3357 View commit details
    Browse the repository at this point in the history
  30. Fix use after delete in cleanup_election()

    fixes nanocurrency#154
    
    # Conflicts:
    #	nano/node/active_transactions.cpp
    dsiganos authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    769019f View commit details
    Browse the repository at this point in the history
  31. Formatting.

    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    94b913f View commit details
    Browse the repository at this point in the history
  32. Block constructors to builders conversion in unit tests (nanocurrency…

    …#3841)
    
    * Block constructors to builders conversion in unit tests
    
    * Formatting fix
    JerzyStanislawski authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    5111bfc View commit details
    Browse the repository at this point in the history
  33. Adds a ledger_context class and ledger_empty function which can be us…

    …ed by unit tests to easily create an empty ledger. This removes a lot of boilerplate code in associated tests. (nanocurrency#3848)
    clemahieu authored and gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    288baeb View commit details
    Browse the repository at this point in the history
  34. clang format

    gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    5e0a46e View commit details
    Browse the repository at this point in the history
  35. Merge branch 'develop_started_elections' of https://github.com/gr0vit…

    …y-dev/nano-node into develop_started_elections
    gr0vity committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    438a5c2 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    34cbd37 View commit details
    Browse the repository at this point in the history