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

Add availableDataOriginalSharesUsed to Header #249

Closed
Wondertan opened this issue Mar 25, 2021 · 2 comments · Fixed by #262
Closed

Add availableDataOriginalSharesUsed to Header #249

Wondertan opened this issue Mar 25, 2021 · 2 comments · Fixed by #262
Assignees
Labels
C:types Component: types T:spec-divergence Type: diversion from spec

Comments

@Wondertan
Copy link
Member

Specs state that availableDataOriginalSharesUsed have to be part of the Header. Current Header implementation misses that

@liamsi
Copy link
Member

liamsi commented Mar 25, 2021

@adlerjohn would availableDataOriginalSharesUsed according to the spec is

The number of shares used in the original data square that are not tail padding.

Should we extend ComputeShares() to return an int that tells the caller how many shares are actually tailShares s.t. it can be used to set availableDataOriginalSharesUsed in the header?

And how important is it to subtract the len(tailShares) from availableDataOriginalSharesUsed? Isn't it mostly an optimization?

@adlerjohn
Copy link
Member

Should we extend ComputeShares() to return an int that tells the caller how many shares are actually tailShares s.t. it can be used to set availableDataOriginalSharesUsed in the header?

Not a bad idea.

how important is it to subtract the len(tailShares) from availableDataOriginalSharesUsed? Isn't it mostly an optimization?

It is an optimization, but it enables potentially significant savings. Since block sizes grow by multiples of 4, it can often be the case that there's a bunch of empty space in the original data square. Up to ~3/8th of the EDS can be "known" and thus doesn't have to be sampled or have row erasure coding computed.

@liamsi liamsi added T:spec-divergence Type: diversion from spec C:types Component: types labels Mar 27, 2021
@liamsi liamsi mentioned this issue Apr 4, 2021
3 tasks
cmwaters pushed a commit that referenced this issue Mar 13, 2023
… (backport #253) (#264)

* Removing all the vuepress related build files and references  (#253)

* Removing all the vuepress related build files and references (#249)

* Moved documentation ADR to deprecated (#249)

* Reverting the logic for check-docs-toc until ADR/RFC refactor (#249)

* Setting the right permissions to file so workflow executes (#249)

* Reverting ADR change, will do in another issue (#249)

(cherry picked from commit d159562)

# Conflicts:
#	Makefile
#	RELEASES.md
#	docs/.vuepress/config.js
#	docs/.vuepress/redirects
#	docs/DOCS_README.md
#	docs/architecture/README.md
#	docs/package.json
#	docs/versions

* fixing conflicts (#264)

* remove comment leftover from git conflict resolution (#264)

---------

Co-authored-by: Andy Nogueira <me@andynogueira.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:types Component: types T:spec-divergence Type: diversion from spec
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants