[MM-53195] services/telemetry: regen client config right after assigning diagnostic ID to platform (#23773)

Этот коммит содержится в:
Ibrahim Serdar Acikgoz
2023-06-19 18:48:29 +03:00
коммит произвёл GitHub
родитель 58a7679daa
Коммит 0904be43f8
3 изменённых файлов: 25 добавлений и 1 удалений

Просмотреть файл

@@ -381,6 +381,13 @@ func (ps *PlatformService) ShutdownConfig() error {
func (ps *PlatformService) SetTelemetryId(id string) {
ps.telemetryId = id
ps.PostTelemetryIdHook()
}
// PostTelemetryIdHook triggers necessary events to propagate telemtery ID
func (ps *PlatformService) PostTelemetryIdHook() {
ps.regenerateClientConfig()
}
func (ps *PlatformService) SetLogger(logger *mlog.Logger) {

Просмотреть файл

@@ -168,3 +168,19 @@ func TestShutdown(t *testing.T) {
require.Zero(t, atomic.LoadInt32(&th.Service.goroutineCount))
})
}
func TestSetTelemetryId(t *testing.T) {
t.Run("ensure client config is regenerated after setting the telemetry id", func(t *testing.T) {
th := Setup(t)
defer th.TearDown()
clientConfig := th.Service.LimitedClientConfig()
require.Empty(t, clientConfig["DiagnosticId"])
id := model.NewId()
th.Service.SetTelemetryId(id)
clientConfig = th.Service.LimitedClientConfig()
require.Equal(t, clientConfig["DiagnosticId"], id)
})
}

Просмотреть файл

@@ -146,7 +146,7 @@ func (ts *TelemetryService) ensureTelemetryID() error {
var err error
for i := 0; i < DBAccessAttempts; i++ {
ts.log.Info("Ensuring the telemetry ID", mlog.String("id", id))
ts.log.Info("Ensuring the telemetry ID..")
systemID := &model.System{Name: model.SystemTelemetryId, Value: id}
systemID, err = ts.dbStore.System().InsertIfExists(systemID)
if err != nil {
@@ -156,6 +156,7 @@ func (ts *TelemetryService) ensureTelemetryID() error {
}
ts.TelemetryID = systemID.Value
ts.log.Info("telemetry ID is set", mlog.String("id", ts.TelemetryID))
return nil
}