From d3f7d01a6996e1e9752dd58c5857094814d909eb Mon Sep 17 00:00:00 2001 From: wang yan Date: Mon, 2 Sep 2019 18:43:21 +0800 Subject: [PATCH] fix int out of range when to set usage in GC job Signed-off-by: wang yan --- src/common/quota/manager.go | 2 +- src/common/quota/manager_test.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/common/quota/manager.go b/src/common/quota/manager.go index 558334e6d..308b21479 100644 --- a/src/common/quota/manager.go +++ b/src/common/quota/manager.go @@ -198,7 +198,7 @@ func (m *Manager) UpdateQuota(hardLimits types.ResourceList) error { func (m *Manager) SetResourceUsage(resource types.ResourceName, value int64) error { o := dao.GetOrmer() - sql := fmt.Sprintf("UPDATE quota_usage SET used = jsonb_set(used, '{%s}', to_jsonb(%d::int), true) WHERE reference = ? AND reference_id = ?", resource, value) + sql := fmt.Sprintf("UPDATE quota_usage SET used = jsonb_set(used, '{%s}', to_jsonb(%d::bigint), true) WHERE reference = ? AND reference_id = ?", resource, value) _, err := o.Raw(sql, m.reference, m.referenceID).Exec() return err diff --git a/src/common/quota/manager_test.go b/src/common/quota/manager_test.go index 6ce705575..d9f82b403 100644 --- a/src/common/quota/manager_test.go +++ b/src/common/quota/manager_test.go @@ -136,17 +136,17 @@ func (suite *ManagerSuite) TestSetResourceUsage() { mgr := suite.quotaManager() id, _ := mgr.NewQuota(hardLimits) - if err := mgr.SetResourceUsage(types.ResourceCount, 123); suite.Nil(err) { + if err := mgr.SetResourceUsage(types.ResourceCount, 999999999999999999); suite.Nil(err) { quota, _ := dao.GetQuota(id) suite.Equal(hardLimits, mustResourceList(quota.Hard)) usage, _ := dao.GetQuotaUsage(id) - suite.Equal(types.ResourceList{types.ResourceCount: 123, types.ResourceStorage: 0}, mustResourceList(usage.Used)) + suite.Equal(types.ResourceList{types.ResourceCount: 999999999999999999, types.ResourceStorage: 0}, mustResourceList(usage.Used)) } if err := mgr.SetResourceUsage(types.ResourceStorage, 234); suite.Nil(err) { usage, _ := dao.GetQuotaUsage(id) - suite.Equal(types.ResourceList{types.ResourceCount: 123, types.ResourceStorage: 234}, mustResourceList(usage.Used)) + suite.Equal(types.ResourceList{types.ResourceCount: 999999999999999999, types.ResourceStorage: 234}, mustResourceList(usage.Used)) } }