[CELEBORN-1550] Add support of providing custom dynamic store backend implementation#2670
[CELEBORN-1550] Add support of providing custom dynamic store backend implementation#2670s0nskar wants to merge 7 commits intoapache:mainfrom
Conversation
|
@s0nskar, why is the implementation not based on SPI? |
|
@SteNicholas We have an internal implementation of config management service which enforce authn/authz and constraints on specific configs. It also helps us manage the rollout better between different regions. |
|
Should also update doc here https://celeborn.apache.org/docs/latest/developers/configuration/#dynamic-configuration |
|
@AngersZhuuuu Updated the doc. |
|
@s0nskar, |
|
@SteNicholas Added. Q: do you want me to make use of it in this PR? |
|
@s0nskar, the implementation of |
| } | ||
| String configStoreBackendName = celebornConf.dynamicConfigStoreBackend().get(); | ||
| String configStoreBackendClass = | ||
| dynamicConfigStoreBackendShortNames.getOrDefault( |
There was a problem hiding this comment.
User could not add short name of the custom ConfigService implementation in dynamicConfigStoreBackendShortNames.
There was a problem hiding this comment.
i was sort of following what spark does for shuffle manager. It allows short names for sort and tungesten-sort but if user is passing custom shuffle manager then they have to pass fully qualified name.
@SteNicholas Trying to understand this comment better – I think for this will have to make getName() static method but abstract static does not work. The factory approach will also need a lot of abstraction IMO it is not necessary for this as we will only have couple of predefined names. Let me know if you think otherwise then i will try to make it work. |
|
Merging to main(v0.6.0)/branch-0.5(v0.5.2) |
… implementation Adding support of providing custom dynamic store backend implementation, users can now pass there own implementation for dynamic config store backend. This change also keep the backwards compatibility of supporting short names for backend like "FS" and "DB" Currently celeborn only supports File and DB based backend while there can be other ways of managing these configs. NO, user facing behaviour will be same. Existing UTs verifies that this change is working for "FS" and "DB" implementation. Closes #2670 from s0nskar/dynamic_config. Authored-by: Sanskar Modi <sanskarmodi97@gmail.com> Signed-off-by: zky.zhoukeyong <zky.zhoukeyong@alibaba-inc.com> (cherry picked from commit a0b04d0) Signed-off-by: zky.zhoukeyong <zky.zhoukeyong@alibaba-inc.com>
… implementation ### What changes were proposed in this pull request? Adding support of providing custom dynamic store backend implementation, users can now pass there own implementation for dynamic config store backend. This change also keep the backwards compatibility of supporting short names for backend like "FS" and "DB" ### Why are the changes needed? Currently celeborn only supports File and DB based backend while there can be other ways of managing these configs. ### Does this PR introduce _any_ user-facing change? NO, user facing behaviour will be same. ### How was this patch tested? Existing UTs verifies that this change is working for "FS" and "DB" implementation. Closes apache#2670 from s0nskar/dynamic_config. Authored-by: Sanskar Modi <sanskarmodi97@gmail.com> Signed-off-by: zky.zhoukeyong <zky.zhoukeyong@alibaba-inc.com>
What changes were proposed in this pull request?
Adding support of providing custom dynamic store backend implementation, users can now pass there own implementation for dynamic config store backend.
This change also keep the backwards compatibility of supporting short names for backend like "FS" and "DB"
Why are the changes needed?
Currently celeborn only supports File and DB based backend while there can be other ways of managing these configs.
Does this PR introduce any user-facing change?
NO, user facing behaviour will be same.
How was this patch tested?
Existing UTs verifies that this change is working for "FS" and "DB" implementation.