diff --git a/app/plugin_key_value_store.go b/app/plugin_key_value_store.go index 91d946d679..01e582a316 100644 --- a/app/plugin_key_value_store.go +++ b/app/plugin_key_value_store.go @@ -116,9 +116,9 @@ func (a *App) DeleteAllExpiredPluginKeys() *model.AppError { return nil } - if result := <-a.Srv.Store.Plugin().DeleteAllExpired(); result.Err != nil { - mlog.Error("Failed to delete all expired plugin key values", mlog.Err(result.Err)) - return result.Err + if err := a.Srv.Store.Plugin().DeleteAllExpired(); err != nil { + mlog.Error("Failed to delete all expired plugin key values", mlog.Err(err)) + return err } return nil diff --git a/store/sqlstore/plugin_store.go b/store/sqlstore/plugin_store.go index 1686668da8..96ff63d3ca 100644 --- a/store/sqlstore/plugin_store.go +++ b/store/sqlstore/plugin_store.go @@ -144,15 +144,12 @@ func (ps SqlPluginStore) DeleteAllForPlugin(pluginId string) store.StoreChannel }) } -func (ps SqlPluginStore) DeleteAllExpired() store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - currentTime := model.GetMillis() - if _, err := ps.GetMaster().Exec("DELETE FROM PluginKeyValueStore WHERE ExpireAt != 0 AND ExpireAt < :CurrentTime", map[string]interface{}{"CurrentTime": currentTime}); err != nil { - result.Err = model.NewAppError("SqlPluginStore.Delete", "store.sql_plugin_store.delete.app_error", nil, fmt.Sprintf("current_time=%v, err=%v", currentTime, err.Error()), http.StatusInternalServerError) - } else { - result.Data = true - } - }) +func (ps SqlPluginStore) DeleteAllExpired() *model.AppError { + currentTime := model.GetMillis() + if _, err := ps.GetMaster().Exec("DELETE FROM PluginKeyValueStore WHERE ExpireAt != 0 AND ExpireAt < :CurrentTime", map[string]interface{}{"CurrentTime": currentTime}); err != nil { + return model.NewAppError("SqlPluginStore.Delete", "store.sql_plugin_store.delete.app_error", nil, fmt.Sprintf("current_time=%v, err=%v", currentTime, err.Error()), http.StatusInternalServerError) + } + return nil } func (ps SqlPluginStore) List(pluginId string, offset int, limit int) ([]string, *model.AppError) { diff --git a/store/store.go b/store/store.go index b2eb1f63e7..c8da9fddc2 100644 --- a/store/store.go +++ b/store/store.go @@ -540,7 +540,7 @@ type PluginStore interface { Get(pluginId, key string) (*model.PluginKeyValue, *model.AppError) Delete(pluginId, key string) StoreChannel DeleteAllForPlugin(PluginId string) StoreChannel - DeleteAllExpired() StoreChannel + DeleteAllExpired() *model.AppError List(pluginId string, page, perPage int) ([]string, *model.AppError) } diff --git a/store/storetest/mocks/PluginStore.go b/store/storetest/mocks/PluginStore.go index 753df0c9f4..9919721071 100644 --- a/store/storetest/mocks/PluginStore.go +++ b/store/storetest/mocks/PluginStore.go @@ -53,15 +53,15 @@ func (_m *PluginStore) Delete(pluginId string, key string) store.StoreChannel { } // DeleteAllExpired provides a mock function with given fields: -func (_m *PluginStore) DeleteAllExpired() store.StoreChannel { +func (_m *PluginStore) DeleteAllExpired() *model.AppError { ret := _m.Called() - var r0 store.StoreChannel - if rf, ok := ret.Get(0).(func() store.StoreChannel); ok { + var r0 *model.AppError + if rf, ok := ret.Get(0).(func() *model.AppError); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(store.StoreChannel) + r0 = ret.Get(0).(*model.AppError) } } diff --git a/store/storetest/plugin_store.go b/store/storetest/plugin_store.go index 9e9464a32c..56ced4a91c 100644 --- a/store/storetest/plugin_store.go +++ b/store/storetest/plugin_store.go @@ -168,8 +168,8 @@ func testPluginDeleteExpired(t *testing.T, ss store.Store) { }) require.Nil(t, err) - if result := <-ss.Plugin().DeleteAllExpired(); result.Err != nil { - t.Fatal(result.Err) + if err := ss.Plugin().DeleteAllExpired(); err != nil { + t.Fatal(err) } if _, err := ss.Plugin().Get(pluginId, kv.Key); err == nil {