You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need a rollout plan where we can hook clients that write to anywhere (R2 bucket without write events for now) while keeping functionality for old clients until desired. Old client currently does not invoke filecoin/offer, which means we need to trigger this from bucket event in the old code path.
In the context of writes to anywhere, we flagged this to be a good timing to adopt new capabilities, such as /space/content/add/shard in order to ease migration. We can keep for some time store/add pointing to the S3 bucket with current behaviour.
By the above, also filecoin/offer needs to keep both ways possible, ideally without needing to deploy two storefront APIs. For the old bucket, we can keep a trigger from bucket write where we simulate the client behaviour: invoke filecoin/offer. This will actually mean that in this code path we will need to compute Filecoin Piece at that point, as well as on validation. But, looking at our AWS bill, we paid 200 USD in February for lambda execution of whole w3infra. This assumes then that we will not incur a lot of additional cost while making migration much simpler.
With the above solution, we can have new client to write to new bucket via /space/content/add/shard capability, where client will also be fully responsible for invoking filecoin/offer, while triggering it manually on bucket event (note that if client on old world also manually triggers it, we have deduping in place).
There is a need to separate this work in two iterations though, one where we decouple from bucket event while still expecting writes to happen to either S3 or R2 (without client upgrade), and a second iteration where we are fully data anywhere.
In context of storacha/project-tracking#25
and storacha/w3infra#344 we set the client
to perform filecoin/offer already so that new users, as well as users
that upgrade in the meantime can already perform this, in order to
better prepare us to get rid of bucket event
---------
Co-authored-by: Alan Shaw <[email protected]>
We need a rollout plan where we can hook clients that write to anywhere (R2 bucket without write events for now) while keeping functionality for old clients until desired. Old client currently does not invoke
filecoin/offer
, which means we need to trigger this from bucket event in the old code path.In the context of writes to anywhere, we flagged this to be a good timing to adopt new capabilities, such as
/space/content/add/shard
in order to ease migration. We can keep for some timestore/add
pointing to the S3 bucket with current behaviour.By the above, also
filecoin/offer
needs to keep both ways possible, ideally without needing to deploy two storefront APIs. For the old bucket, we can keep a trigger from bucket write where we simulate the client behaviour: invokefilecoin/offer
. This will actually mean that in this code path we will need to compute Filecoin Piece at that point, as well as on validation. But, looking at our AWS bill, we paid 200 USD in February for lambda execution of whole w3infra. This assumes then that we will not incur a lot of additional cost while making migration much simpler.With the above solution, we can have new client to write to new bucket via
/space/content/add/shard
capability, where client will also be fully responsible for invokingfilecoin/offer
, while triggering it manually on bucket event (note that if client on old world also manually triggers it, we have deduping in place).There is a need to separate this work in two iterations though, one where we decouple from bucket event while still expecting writes to happen to either S3 or R2 (without client upgrade), and a second iteration where we are fully data anywhere.
We can in short expect:
filecoin/submit
+ issue equivalency claim feat: api waits for trigger filecoin pipeline from the client w3up#1332filecoin/offer
from bucket event feat: api waits for trigger filecoin pipeline from the client w3up#1332 (review)The text was updated successfully, but these errors were encountered: