UniStore: Add config to enable periodic DualWriter DataSyncer (#93555)

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
This commit is contained in:
maicon
2024-09-24 16:03:15 -03:00
committed by GitHub
parent 59af06e36a
commit 377079d8b3
7 changed files with 23 additions and 12 deletions

View File

@@ -531,7 +531,8 @@ type Cfg struct {
}
type UnifiedStorageConfig struct {
DualWriterMode rest.DualWriterMode
DualWriterMode rest.DualWriterMode
DualWriterPeriodicDataSyncJobEnabled bool
}
type InstallPlugin struct {

View File

@@ -25,7 +25,14 @@ func (cfg *Cfg) setUnifiedStorageConfig() {
// parse dualWriter modes from the section
dualWriterMode := section.Key("dualWriterMode").MustInt(0)
storageConfig[resourceName] = UnifiedStorageConfig{DualWriterMode: rest.DualWriterMode(dualWriterMode)}
// parse dualWriter periodic data syncer config
dualWriterPeriodicDataSyncJobEnabled := section.Key("dualWriterPeriodicDataSyncJobEnabled").MustBool(false)
storageConfig[resourceName] = UnifiedStorageConfig{
DualWriterMode: rest.DualWriterMode(dualWriterMode),
DualWriterPeriodicDataSyncJobEnabled: dualWriterPeriodicDataSyncJobEnabled,
}
}
cfg.UnifiedStorage = storageConfig
}

View File

@@ -18,11 +18,17 @@ func TestCfg_setUnifiedStorageConfig(t *testing.T) {
_, err = s.NewKey("dualWriterMode", "2")
assert.NoError(t, err)
_, err = s.NewKey("dualWriterPeriodicDataSyncJobEnabled", "true")
assert.NoError(t, err)
cfg.setUnifiedStorageConfig()
value, exists := cfg.UnifiedStorage["playlists.playlist.grafana.app"]
assert.Equal(t, exists, true)
assert.Equal(t, value, UnifiedStorageConfig{DualWriterMode: 2})
assert.Equal(t, value, UnifiedStorageConfig{
DualWriterMode: 2,
DualWriterPeriodicDataSyncJobEnabled: true,
})
})
}