-
Notifications
You must be signed in to change notification settings - Fork 535
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
Feature: Expose ability to set IContainerRuntimeOptions to AzureClient #12275
Comments
I thought about this a bit more last night as well. I think there's a bit of a scenario mismatch here too. A big part of the initial motivation for AzureClient/FluidContainer was to permit customers to use Fluid data without having to know about, think about, or write a container runtime. For customers of AzureClient/FluidContainer who later decided they did want to influence the container runtime, the solution would be to peel back that layer and use the underlying API surface (Loader/Container/IRuntimeFactory etc.). By default I think this request would fall under that category, though of course we can consider options here. I do think we need to think critically about the scoping here though if we do relax this initial approach - I think AzureClient/FluidContainer have a clear purpose today (to scope and simplify our API surface with the acknowledged tradeoff of advanced functionality and customization), but if they eventually just become a passthrough for everything then I think that clear purpose becomes less clear. |
Hello @ChumpChief , I understand the reasoning for having |
Another thought - If we do relax our past scoping decisions, we'd most likely want to do so by exposing the option to plug a runtime factory (i.e. a specially configured |
@ChumpChief Indeed the constructor of |
Yes, something like that - might provide it to |
FYI - This is AB#2166 in our backlog. I spoke w/Skyler abt. this yesterday and learned I dropped the ball by not looping in Pranshu. Pranshu will reach out soon. |
Ejecting to a Loader/ContainerRuntime based development model is not something we support for Azure Fluid Relay. While this may be a path we explore in the future it's not something developers can succeed in doing currently (no docs/examples/anything). AzureClient is designed to be the way developers use Azure Fluid Relay. Fluid will continue to develop new features that are internal to the inner layers (container/runtime/driver/ect.) It seems very reasonable that we will need a way to expose new functionality to Azure developers in an opt-in manor. So I would reframe the problem from saying, "we expose the ability to set |
Elevating the discussion from
The large data support roadmap fruition depends on both. |
If the feature flags are |
This PR has been automatically marked as stale because it has had no activity for 60 days. It will be closed if no further activity occurs within 8 days of this comment. Thank you for your contributions to Fluid Framework! |
We should probably keep this opened. |
This issue has been automatically marked as stale because it has had no activity for 180 days. It will be closed if no further activity occurs within 8 days of this comment. Thank you for your contributions to Fluid Framework! |
Work Item
We commonly use IContainerRuntimeOptions to stage changes or test new and experimental features. For example, we are currently using IContainerRuntimeOptions to enable/configure op compression. Because IContainerRuntimeOptions is not currently exposed by AzureClient, users using the AzureClient lack a convenient way to help co-develop or test/measure the impact of runtime changes. (Related: #11572, #12283)
Approach
A mechanism that allows users of AzureClient to provide a set of desired IContainerRuntimeOptions.
Open questions
@ChumpChief points out that the valid set of IContainerRuntimeOptions are specific to a particular container implementation. It's worth considering if there are disadvantages to publicly binding the AzureClient version to a specific container implementation and version, or if there is a way to avoid this.
We also may want to consider if we want to expose all runtime options, or if there are options we would like to hide from the AzureClient. Anecdotally, past users have discovered and enabled vestiges of old prototype chunking code.) Possibly IContainerRuntimeOptions should have "public" and "private" sections.
Acceptance criteria
The goal is to enable AzureClient users to co-develop new or experimental features or help test/measure the impact of planned runtime changes.
The text was updated successfully, but these errors were encountered: