Rui Fan created FLINK-34065:
-------------------------------
Summary: Design AbstractAutoscalerStateStore to support serialize
State to String
Key: FLINK-34065
URL: https://issues.apache.org/jira/browse/FLINK-34065
Project: Flink
Issue Type: Sub-task
Components: Autoscaler
Reporter: Rui Fan
Assignee: Rui Fan
Some logic of {{KubernetesAutoScalerStateStore}} and
{{JDBCAutoScalerStateStore}} are similar, we can share some common code.
* {{ConfigMapStore}} and {{JDBCStore}} can be abstracted to
{{StringStateStore}} interface
** They support {{{}put{}}}, {{get}} and {{remove}}
** The parameters of {{ConfigMapStore}} are the (JobContext, String key,
String value).
** The parameters of {{JDBCStore}} are the (String jobKey, StateType
stateType, String value).
** We can define a interface {{{}StringStateStore{}}}, and the parameters are
{{{}(JobContext, StateType stateType, String value){}}}.
* {{KubernetesAutoScalerStateStore}} and {{JDBCAutoScalerStateStore}} can be
abstracted to {{AbstractAutoscalerStateStore}}
** They support serialize and compress {{Original State}} to String.
** {{AbstractAutoscalerStateStore}} can reuse the serialize and compress logic
** {{KubernetesAutoScalerStateStore}} support the limitation of stateValue
** We can define a parameter for {{{}AbstractAutoscalerStateStore{}}}, the
limitation is disabled by default, and {{KubernetesAutoScalerStateStore}} can
enable it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)