Skip to content

Conversation

Kubuxu
Copy link
Contributor

@Kubuxu Kubuxu commented Jun 12, 2025

Migrate the f3 datastore from being namespaced in the metadata metadata
datastore to having its own dedicated datastore.

Depends on #13144

@Copilot Copilot AI review requested due to automatic review settings June 12, 2025 15:15
@github-project-automation github-project-automation bot moved this to 📌 Triage in FilOz Jun 12, 2025
@github-project-automation github-project-automation bot moved this to Todo in F3 Jun 12, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR migrates the f3 datastore from being namespaced within the metadata datastore to having its own dedicated datastore. Key changes include:

  • Adding a new "f3" datastore constructor in fsrepo_ds.go and corresponding updates in the modules.
  • Updating dependency injection and test configurations to use the new F3 datastore and removing legacy manifest provider usage.
  • Introducing datastore migration logic and adjusting API definitions and documentation accordingly.

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
node/repo/fsrepo_ds.go Added a new "f3" mapping to enable a separate datastore for f3 data.
node/modules/storage.go Introduced F3Datastore lifecycle management for the new f3 datastore.
node/modules/dtypes/storage.go Defined the F3DS type to represent the new f3 datastore.
node/builder_chain.go Updated dependency overrides to use the new F3DS injection.
itests/f3_test.go Adjusted expected error strings and ensured helper functions reflect the new datastore logic.
chain/lf3/f3.go Added migration logic for transferring metadata from the legacy datastore to the new one.
go.mod Upgraded go-f3, x/sync, and other dependencies to support the updated functionality.
documentation/en/api-v1-unstable-methods.md Removed outdated fields from the API schema documentation.
chain/store/store.go Improved error details in tipset fetching.
build/params_shared_funcs.go Removed deprecated F3 passive testing support.
build/openrpc/full.json Updated API schema examples to align with the new F3 datastore migration.
Comments suppressed due to low confidence (3)

itests/f3_test.go:97

  • [nitpick] The comment 'not sure why "ticket is not valid" is returned' is ambiguous. Please clarify the expected error condition or remove the comment to reduce confusion in tests.
"F3GetOrRenewParticipationTicket": "ticket is not valid", // not sure why "ticket is not valid" is returned

chain/lf3/f3.go:160

  • Since the field has been renamed from 'Datastore' to 'MetaDatastore', please ensure that all dependent modules and client code are updated accordingly to avoid integration issues.
metaDs := namespace.Wrap(params.MetaDatastore, datastore.NewKey("/f3"))

build/openrpc/full.json:7959

  • The removal of API schema fields such as 'Pause', 'ExplicitPower', and 'IgnoreECPower' should be coordinated with external consumers to avoid breaking changes. Consider including a migration note in the changelog or API documentation.
"Pause": false,

@Kubuxu Kubuxu force-pushed the feat/f3-separate-datastore branch 2 times, most recently from 2219bf9 to 31b7b76 Compare June 12, 2025 15:26
@BigLep BigLep moved this from Todo to In review in F3 Jun 12, 2025
@Kubuxu Kubuxu requested a review from masih June 12, 2025 17:29
@BigLep BigLep changed the base branch from master to feat/f3-cache-changes June 13, 2025 15:26
@Kubuxu Kubuxu force-pushed the feat/f3-cache-changes branch from 6f4b4dc to 53fd1a6 Compare June 16, 2025 13:30
@Kubuxu Kubuxu force-pushed the feat/f3-separate-datastore branch from 10c8a9b to fe7f794 Compare June 16, 2025 13:31
@Kubuxu Kubuxu force-pushed the feat/f3-cache-changes branch from 53fd1a6 to 7652884 Compare June 16, 2025 13:32
@Kubuxu Kubuxu force-pushed the feat/f3-separate-datastore branch from fe7f794 to 84630b4 Compare June 16, 2025 13:33
Base automatically changed from feat/f3-cache-changes to master June 16, 2025 13:37
Migrate the f3 datastore from being namespaced in the metadata
metadata datastore to having its own dedicated datastore.

Signed-off-by: Jakub Sztandera <oss@kubuxu.com>
@Kubuxu Kubuxu force-pushed the feat/f3-separate-datastore branch from 84630b4 to ff83fd3 Compare June 16, 2025 14:05
Copy link
Member

@masih masih left a comment

Choose a reason for hiding this comment

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

LGTM, left a couple of question around operational dynamics of migration.

@github-project-automation github-project-automation bot moved this from 📌 Triage to ✔️ Approved by reviewer in FilOz Jun 16, 2025
Signed-off-by: Jakub Sztandera <oss@kubuxu.com>
@Kubuxu Kubuxu merged commit 55ed577 into master Jun 17, 2025
277 of 414 checks passed
@Kubuxu Kubuxu deleted the feat/f3-separate-datastore branch June 17, 2025 11:35
@github-project-automation github-project-automation bot moved this from ✔️ Approved by reviewer to 🎉 Done in FilOz Jun 17, 2025
@github-project-automation github-project-automation bot moved this from In review to Done in F3 Jun 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Status: 🎉 Done
Development

Successfully merging this pull request may close these issues.

2 participants