feat: store: BatchOpStore (GetMany/PutMany methods)#97
feat: store: BatchOpStore (GetMany/PutMany methods)#97i-norden wants to merge 7 commits intoipfs:masterfrom
GetMany/PutMany methods)#97Conversation
CBOR GetManyIpldStore
Rebase onto upstream v0.1.0
|
@i-norden are you still working on this set of changes? sorry nobody's been able to review your changes, if these are still in the path of your work we can prioritise them .. just not this week for me sorry but I'll keep it in my queue, it looks quite useful. |
|
Hey @rvagg sorry for abandoning this, we are no longer using this work but if there is still general interest in these changes and/or the linked PRs it is dependent on I can rebase and clean things up this week for review! |
|
Converted to draft for someone raises a production need for this. |
|
@gammazero fwiw this is used in production by @aschmahmann here: https://github.com/aschmahmann/filexp/blob/main/go.mod#L5-L7 Having either filecoin-project/go-hamt-ipld#103 or filecoin-project/go-hamt-ipld#115 merge would be really great. cc @rvagg |
This PR introduces a
BatchOpIpldStorethat exposesGetManyandPutManymethods. This is for use in parallelForEachtraversal methods for go-hamt-ipld and go-amt-ipld. Actually only theGetManymethod is being used there, but aPutManymethod was added to compliment it. This PR uses theGetManyblockstore method introduced in ipfs/boxo#492 which, in turn, relies on theTxnDatastorewrappers introduced in ipfs/go-datastore#210.Parallel go-amt-ipld traversal work that uses this: filecoin-project/go-amt-ipld#84
Parallel go-hamt-ipld traversal work that uses this: filecoin-project/go-hamt-ipld#115
TODO:
Replace replace directives if/when dependencies are merged and released