Skip to content

Nodes without any heads should not build on top of unsynced branchesΒ #199

@hsanjuan

Description

@hsanjuan

This code here:

https://github.com/ipfs/go-ds-crdt/blob/master/crdt.go#L379-L401

was well intentioned, but it can be a bit of a footgun as it risks building on top of irretrievable DAGs branches that other nodes may be broadcasting, something we generally want to avoid so that they don't become blockers to progress.

Instead, new nodes can build on their own branch until they sync and set-heads in a normal fashion. The only consideration would be that the height they use should be probably set to the highest seen one even if we haven't finished syncing such a branch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions