Skip to content

Commit e66c15b

Browse files
committed
feat(logstore): add parameter "mode"
support "lite" and "standard" mode logstore
1 parent 28bb45a commit e66c15b

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

Diff for: log_store.go

+7
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ import (
1818
// this file is deprecated and no maintenance
1919
// see client_logstore.go
2020

21+
const (
22+
LogStore_Mode_Standard = "standard"
23+
LogStore_Mode_Lite = "lite"
24+
)
25+
2126
// LogStore defines LogStore struct
2227
type LogStore struct {
2328
Name string `json:"logstoreName"`
@@ -26,9 +31,11 @@ type LogStore struct {
2631
WebTracking bool `json:"enable_tracking"`
2732
AutoSplit bool `json:"autoSplit"`
2833
MaxSplitShard int `json:"maxSplitShard"`
34+
2935
AppendMeta bool `json:"appendMeta"`
3036
TelemetryType string `json:"telemetryType"`
3137
HotTTL uint32 `json:"hot_ttl,omitempty"`
38+
Mode string `json:"mode,omitempty"` // "lite" or "standard"(default), can't be modified after creation
3239

3340
CreateTime uint32 `json:"createTime,omitempty"`
3441
LastModifyTime uint32 `json:"lastModifyTime,omitempty"`

Diff for: logstore_test.go

+34
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,14 @@ func (s *LogstoreTestSuite) TestLogstore() {
305305
logstores, err := s.Project.ListLogStore()
306306
s.Nil(err)
307307
s.True(len(logstores) >= 1)
308+
309+
// test parameter "mode" of logstore, default mode is "standard"
310+
time.Sleep(1 * 1000 * time.Millisecond)
311+
logstore, err := s.Project.GetLogStore(logstoreName)
312+
s.Nil(err)
313+
s.Equal(logstore.Mode, LogStore_Mode_Standard)
314+
315+
time.Sleep(1 * 1000 * time.Millisecond)
308316
configs, configCount, err := s.Project.ListConfig(0, 100)
309317
s.Nil(err)
310318
s.True(len(configs) >= 0)
@@ -317,6 +325,32 @@ func (s *LogstoreTestSuite) TestLogstore() {
317325
s.Nil(err)
318326
}
319327

328+
func (s *LogstoreTestSuite) TestLogstoreLiteMode() {
329+
logstoreName := "github-test"
330+
_ = s.Project.DeleteLogStore(logstoreName)
331+
// create a "lite" mode logstore
332+
lite := &LogStore{
333+
Name: logstoreName,
334+
TTL: 14,
335+
ShardCount: 2,
336+
AutoSplit: true,
337+
MaxSplitShard: 16,
338+
Mode: LogStore_Mode_Lite,
339+
}
340+
err := s.Project.CreateLogStoreV2(lite)
341+
s.Nil(err)
342+
time.Sleep(10 * 1000 * time.Millisecond)
343+
344+
// check if logstore is in "lite" mode
345+
liteResp, err := s.Project.GetLogStore(logstoreName)
346+
s.Nil(err)
347+
s.Equal(liteResp.Mode, LogStore_Mode_Lite)
348+
349+
// clean
350+
err = s.Project.DeleteLogStore(logstoreName)
351+
s.Nil(err)
352+
}
353+
320354
func generateLG() *LogGroup {
321355
content := &LogContent{
322356
Key: proto.String("demo_key"),

0 commit comments

Comments
 (0)