Skip to content

Conversation

@mrzeszutko
Copy link
Contributor

Implemented testConnection for filestores.

All file stores (S3, GCS, HTTP, local) test connectivity by checking if a well-known healthcheck file (.healthcheck) exists. This approach was chosen because:

  1. HTTP compatibility: For HTTP-based file stores, requesting a known file is the only reliable way to verify connectivity
  2. Uniform behavior: Using the same healthcheck mechanism across all store types ensures consistent behavior and simplifies testing

When uploading is enabled, the sequencer uploads the healthcheck file on startup and then periodically re-uploads it (by default every 60 minutes) to ensure it remains available. This guards against accidental deletion, storage pruning, or other failures that might remove the file.

@mrzeszutko mrzeszutko force-pushed the feature/blob-filestore-test-connection branch from 0769274 to 9f997dc Compare December 31, 2025 12:43
@AztecBot
Copy link
Collaborator

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (\0338;;http://ci.aztec-labs.com/c309df855f6f5833�c309df855f6f58338;;�\033):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_p2p/add_rollup.test.ts (205s) (code: 1) group:e2e-p2p-epoch-flakes (\033Michal Rzeszutko\033: testConnection for filestores)

}

/** Stops the publisher, cleaning up any periodic tasks. */
public async stop(): Promise<void> {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this isn't the correct place to do this. Presumably the blob client is created once and given to all created instances of SequencerPublisher. Who ultimately owns the blob client? Is it the node? It should probably be cleaned up by it's owner.

@PhilWindle
Copy link
Collaborator

Generally seems fine however, I think there is an issues with ownership/cleanup of the blob client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants