[MM-53195] services/telemetry: regen client config right after assigning diagnostic ID to platform (#23773)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
58a7679daa
Коммит
0904be43f8
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user