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

Potential max batch size issues #111

Open
Tracked by #16
justindotpub opened this issue Mar 9, 2023 · 1 comment
Open
Tracked by #16

Potential max batch size issues #111

justindotpub opened this issue Mar 9, 2023 · 1 comment

Comments

@justindotpub
Copy link
Contributor

justindotpub commented Mar 9, 2023

Periodically -- at the end of the file or every n streamed blocks -- the Receiver sends a list of unsynchronized subgraph roots: the bottom of the currently synced graph with unsynchronized children. The Provider also sends a Bloom of blocks that it thinks may be discovered as duplicates.

This n streamed blocks has been referred to as the max batch size per round.

Make sure max batch size never bites us, specifically as it relates to ensuring that we always send all root CIDs and return all subgraph roots.

Similar for max batch size for cold calls.

ETA: 2023-10-31

@justindotpub
Copy link
Contributor Author

I have addressed these issues now.

One thing to note however, is that due to the need to always send remaining roots, you can quickly reach a point where almost every push exceeds the max block values. For example, when adding the Ubuntu ISO to IPFS, we end up having a CID with 109 links underneath. Most of those have 174 links underneath. As you can see, this quickly reaches a point where the number of roots a source must return is quite large.

@justindotpub justindotpub removed their assignment Aug 9, 2023
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

No branches or pull requests

1 participant