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

Block Reupload Manager Implementation #16976

Open
Tracked by #16768
derektriley opened this issue Dec 6, 2024 · 0 comments · May be fixed by #17271
Open
Tracked by #16768

Block Reupload Manager Implementation #16976

derektriley opened this issue Dec 6, 2024 · 0 comments · May be fixed by #17271
Assignees
Milestone

Comments

@derektriley
Copy link
Contributor

derektriley commented Dec 6, 2024

Background
Implement the manager responsible for handling reinitiating failed upload retries and node restart scenarios. These methods could be placed in the Block Upload manager class or a separate class.

We may be able to for each file in the BlockStreamConfig::blockFileDir directory, call BlockUploadManager::onBlockClosed. This would happen probably in ServicesMain prior to starting to handle transactions.

See https://github.com/hashgraph/hedera-services/blob/16770-block-stream-bucket-uploader-design/hedera-node/docs/proposals/block-stream-bucket-uploader.md#configuration-classes for more details.

Acceptance Criteria

  • Implement the above core behaviors
  • Create scan logic for identifying uploads which need to be reinitiated.
    • The block stream upload manager could notify the reupload manager (or keep track itself) of upload which have failed and need be retried yet again in the future.
    • Likewise if the node is restarted, it will handle trying to upload all blocks currently in the root block file directory. It should scan for these files prior to the BlockStreamManager producing more blocks after restart.
  • Add proper error handling and logging
  • Create unit tests

Dependencies
N/A

@github-project-automation github-project-automation bot moved this to 📋 Backlog in Services Team Dec 6, 2024
@derektriley derektriley added this to the v0.58 milestone Dec 6, 2024
@derektriley derektriley moved this from 📋 Backlog to To Do in Services Team Dec 6, 2024
@thomas-swirlds-labs thomas-swirlds-labs self-assigned this Dec 11, 2024
@thomas-swirlds-labs thomas-swirlds-labs moved this from To Do to 👷🏼‍♀️ In Progress in Services Team Dec 18, 2024
@thomas-swirlds-labs thomas-swirlds-labs moved this from 👷🏼‍♀️ In Progress to To Do in Services Team Jan 7, 2025
@thomas-swirlds-labs thomas-swirlds-labs moved this from To Do to 👷🏼‍♀️ In Progress in Services Team Jan 8, 2025
@thomas-swirlds-labs thomas-swirlds-labs linked a pull request Jan 8, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 👷🏼‍♀️ In Progress
Development

Successfully merging a pull request may close this issue.

2 participants