Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Extract the storage operation to an interface from scheduler config #8514

Closed
okJiang opened this issue Aug 12, 2024 · 0 comments · Fixed by #8515
Closed

Extract the storage operation to an interface from scheduler config #8514

okJiang opened this issue Aug 12, 2024 · 0 comments · Fixed by #8515
Labels
type/enhancement The issue or PR belongs to an enhancement.

Comments

@okJiang
Copy link
Member

okJiang commented Aug 12, 2024

Enhancement Task

Each scheduler config exist the totally same storage operation like

func (conf *balanceLeaderSchedulerConfig) persistLocked() error {
	data, err := EncodeConfig(conf)
	if err != nil {
		return err
	}
	return conf.storage.SaveSchedulerConfig(BalanceLeaderName, data)
}

and

	cfgData, err := l.conf.storage.LoadSchedulerConfig(l.GetName())
	if err != nil {
		return err
	}
	if len(cfgData) == 0 {
		return nil
	}
	newCfg := &balanceLeaderSchedulerConfig{}
	if err = DecodeConfig([]byte(cfgData), newCfg); err != nil {
		return err
	}

It is better to unify them to reduce redundant code

@okJiang okJiang added the type/enhancement The issue or PR belongs to an enhancement. label Aug 12, 2024
@okJiang okJiang changed the title Extract the storage operator to an interface from scheduler config Extract the storage operation to an interface from scheduler config Aug 12, 2024
ti-chi-bot bot pushed a commit that referenced this issue Aug 14, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
type/enhancement The issue or PR belongs to an enhancement.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant