-
Notifications
You must be signed in to change notification settings - Fork 17
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 temporary environment variables for controlling percentage of traffic to E-IPFS #207
Comments
we could just add one additional var: |
awesome @kylehuntsman 🙌. thank you for this issue! 👏 @rvagg i like the thought of generalizing, but traffic passthrough percentages will/would likely differ by provider right? eg we may want thus, my 👍 vote is to just use |
Thank you @gruns for your input! After discussing with @rvagg in our standup earlier, I think we prefer a generic approach. Our consensus with Lassie has been to try and be as general as possible in an attempt to avoid favoring specific vendors and potentially narrowing the scope of Lassie as a general purpose tool for enabling easy retrievals in other applications. I originally suggested the additional environment variables to keep the 100% excluded providers and the percentage traffic provider functionality separate. However, because we know that Saturn is currently only excluding the EIPFS providers and that the percentage traffic is meant to be a short term solution while we troubleshoot, I think the general solution provided by @rvagg is sufficient. I might feel differently about making this general if we felt we were going to limit EIPFS traffic for longer than required to troublshoot the current amplification problem. We could always be specific later if required, but I would prefer we favor the generic case first. I think the idea is we'll rip this out the moment we allow 100% of the EIPFS traffic to flow to them. |
|
@willscott do we have enough control upstream to be able to couple We could probably hack together a quick language to do this kind of thing, along with segmenting. e.g.
So the parsing rule would be something like: Tying it to |
we can pass in a query parameter and do this decision in the L1 javascript if that's preferable. this is really just for running a couple segmentation experiments over the next week, so it's going to be a bit hacky and eventually removable in either case. |
Saturn is looking to gradually increase traffic to E-IPFS providers. We currently only support excluding providers 100%. We could build temporary E-IPFS specific dials to control traffic. Providing environment variables for dialing traffic will make future updates increasing or decreasing traffic easier for the Saturn team, as opposed to hard coding values and requiring a Lassie release each time.
New Environment Variables
LASSIE_EIPFS_PROVIDERS
: A comma delimited list of known E-IPFS peer IDsLASSIE_EIPFS_TRAFFIC_PERCENTAGE
: An integer from 0-100 describing the percentage of traffic that reaches out to EIPFS providers.25
will let Lassie reach out to EIPFS providers 25 times out of every 100 occurances of an EIPFS candidate lookup.2023-04-27 EDIT: Callout that this solution is a temporary short term solution to support troubleshooting
The text was updated successfully, but these errors were encountered: