-
Notifications
You must be signed in to change notification settings - Fork 16
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
[Bug]: label field does not point to a root cid and no DAG present in the car #446
Comments
this is confusing because we do in fact seem to try to set it from singularity/replication/makedeal.go Line 532 in ae91516
this is what the root node should look like, from an earlier deal (prepared using the |
ok I can verify this locally:
only raw blocks, whereas properly DAGed output looks like this:
|
for the record the desired behavior is identical to the daggen appears to run (I initially through it did not as it does not produce any info output but I can confirm that it does) but no directory information seems to make it to the output CAR |
ok it appears that explicitly running I have no idea what happens with this DAG CAR when not using --local-output it's also very unclear how it should be used in deals? furthermore if we are supposed to retain the DAG and only ask for leaves then the label behavior as "root" CID makes no sense lastly, I don't understand what |
@parkan In some cases, the label may seem to point to a raw leaf rather than the entire content. This can happen for several reasons: Single-File CARs or Minimal DAGs: Inconsistent or Incorrect Data Preparation: Inline Preparation and Direct Leaf Handling: Documentation update and 'daggen': |
hmm ok I don't think any of the above map to our experience:
the blocks are also always actually raw leaves of 1MiB, not well-formed unxifs or pb objects I will also note that running ezprep on a directory will always output 2 (or more) car files, one with only raw leaves and one with the dag but no leaves to be clear, I am actually very attracted to the possibility of manipulating DAGs separately from the raw data, as it could give us a lot of flexibility, but the way it fits into the current workflow or what the minimal set of steps is to get a retrievable tree is not clear |
Description
The
label
field on deals is not defined in the protocol but has been conventionally used to store the root content CID. Singularity appears to follow this pattern, but in fact the label seems to point to a (random?) raw leaf.For example:
yields a 1MiB block: https://explore.ipld.io/#/explore/bafkreigq6iofoqaqhzqbatk2xdrisnmdfviq3r4ugwabqlhoaidxbzia4y
It's not clear whether a root block is created at all and simply not selected for the label field.
The text was updated successfully, but these errors were encountered: