From e3a7d6dfeb0892ff4f69617db11c6851b23337f5 Mon Sep 17 00:00:00 2001 From: zhiheng123 <903292776@qq.com> Date: Fri, 11 Oct 2024 20:03:22 +0800 Subject: [PATCH] fix: update retention policy use error shard duration Signed-off-by: zhiheng123 <903292776@qq.com> --- opengemini/retention_policy.go | 4 ++-- opengemini/retention_policy_test.go | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/opengemini/retention_policy.go b/opengemini/retention_policy.go index 227b5c2..155f19d 100644 --- a/opengemini/retention_policy.go +++ b/opengemini/retention_policy.go @@ -165,8 +165,8 @@ func (c *client) UpdateRetentionPolicy(database string, rpConfig RpConfig, isDef if len(rpConfig.IndexDuration) > 0 { buf.WriteString(fmt.Sprintf(" INDEX DURATION %s", rpConfig.IndexDuration)) } - if len(rpConfig.IndexDuration) > 0 { - buf.WriteString(fmt.Sprintf(" INDEX DURATION %s", rpConfig.IndexDuration)) + if len(rpConfig.ShardGroupDuration) > 0 { + buf.WriteString(fmt.Sprintf(" SHARD DURATION %s", rpConfig.ShardGroupDuration)) } if isDefault { buf.WriteString(" DEFAULT") diff --git a/opengemini/retention_policy_test.go b/opengemini/retention_policy_test.go index 19c2aa1..e7216ab 100644 --- a/opengemini/retention_policy_test.go +++ b/opengemini/retention_policy_test.go @@ -15,8 +15,9 @@ package opengemini import ( - "github.com/stretchr/testify/require" "testing" + + "github.com/stretchr/testify/require" ) func TestClientCreateRetentionPolicy(t *testing.T) { @@ -94,6 +95,7 @@ func TestClientUpdateRetentionPolicy(t *testing.T) { databaseName := randomDatabaseName() err := c.CreateDatabase(databaseName) require.Nil(t, err) + err = c.UpdateRetentionPolicy(databaseName, RpConfig{Name: "autogen", Duration: "300d"}, true) require.Nil(t, err) rpResult, err := c.ShowRetentionPolicies(databaseName) @@ -101,6 +103,17 @@ func TestClientUpdateRetentionPolicy(t *testing.T) { require.Equal(t, len(rpResult), 1) require.Equal(t, rpResult[0].Name, "autogen") require.Equal(t, rpResult[0].Duration, "7200h0m0s") + + err = c.UpdateRetentionPolicy(databaseName, RpConfig{Name: "autogen", Duration: "300d", ShardGroupDuration: "2h", IndexDuration: "4h"}, true) + require.Nil(t, err) + rpResult, err = c.ShowRetentionPolicies(databaseName) + require.Nil(t, err) + require.Equal(t, len(rpResult), 1) + require.Equal(t, rpResult[0].Name, "autogen") + require.Equal(t, rpResult[0].Duration, "7200h0m0s") + require.Equal(t, rpResult[0].IndexDuration, "4h0m0s") + require.Equal(t, rpResult[0].ShardGroupDuration, "2h0m0s") + err = c.DropDatabase(databaseName) require.Nil(t, err) }