Skip to content

Commit b4165ef

Browse files
committed
[topic] improve DescribeTopicResult
1. Fixed golangci-lint run for e2e test 2. Supported more fields from DescribeTopicResult
1 parent c67dd0c commit b4165ef

File tree

6 files changed

+75
-12
lines changed

6 files changed

+75
-12
lines changed

CHANGELOG.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
## v3.34.3
2-
* Added missing options from topicservice
3-
41
## v3.34.2
52
* Added some description to error message from table pool get
63
* Moved implementation `sugar.GenerateDeclareSection` to `internal/table`

internal/grpcwrapper/rawtopic/describe_topic.go

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ package rawtopic
22

33
import (
44
"fmt"
5+
"time"
56

67
"github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic"
78
"google.golang.org/protobuf/proto"
89

910
"github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawscheme"
11+
"github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawtopic/rawtopiccommon"
1012
"github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawydb"
1113
"github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors"
1214
)
@@ -26,9 +28,14 @@ func (req *DescribeTopicRequest) ToProto() *Ydb_Topic.DescribeTopicRequest {
2628
type DescribeTopicResult struct {
2729
Operation rawydb.Operation
2830

29-
Self rawscheme.Entry
30-
PartitioningSettings PartitioningSettings
31-
Consumers []Consumer
31+
Self rawscheme.Entry
32+
PartitioningSettings PartitioningSettings
33+
Consumers []Consumer
34+
SupportedCodecs rawtopiccommon.SupportedCodecs
35+
RetentionPeriod time.Duration
36+
PartitionWriteBurstBytes int64
37+
PartitionWriteSpeedBytesPerSecond int64
38+
Attributes map[string]string
3239
}
3340

3441
func (res *DescribeTopicResult) FromProto(protoResponse *Ydb_Topic.DescribeTopicResponse) error {
@@ -49,6 +56,23 @@ func (res *DescribeTopicResult) FromProto(protoResponse *Ydb_Topic.DescribeTopic
4956
return err
5057
}
5158

59+
res.PartitionWriteBurstBytes = protoResult.PartitionWriteBurstBytes
60+
res.PartitionWriteSpeedBytesPerSecond = protoResult.PartitionWriteSpeedBytesPerSecond
61+
62+
if protoResult.RetentionPeriod != nil {
63+
res.RetentionPeriod = protoResult.RetentionPeriod.AsDuration()
64+
}
65+
66+
if protoResult.SupportedCodecs != nil {
67+
for _, v := range protoResult.SupportedCodecs.Codecs {
68+
res.SupportedCodecs = append(res.SupportedCodecs, rawtopiccommon.Codec(v))
69+
}
70+
}
71+
72+
for k, v := range protoResult.Attributes {
73+
res.Attributes[k] = v
74+
}
75+
5276
res.Consumers = make([]Consumer, len(protoResult.Consumers))
5377
for i := range res.Consumers {
5478
res.Consumers[i].MustFromProto(protoResult.Consumers[i])

topic/client_e2e_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
"github.com/stretchr/testify/require"
1313

14-
"github.com/ydb-platform/ydb-go-sdk/v3"
14+
ydb "github.com/ydb-platform/ydb-go-sdk/v3"
1515
"github.com/ydb-platform/ydb-go-sdk/v3/topic/topicoptions"
1616
"github.com/ydb-platform/ydb-go-sdk/v3/topic/topictypes"
1717
)

topic/example_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"fmt"
66
"io/ioutil"
77

8-
"github.com/ydb-platform/ydb-go-sdk/v3"
8+
ydb "github.com/ydb-platform/ydb-go-sdk/v3"
99
"github.com/ydb-platform/ydb-go-sdk/v3/topic/topicoptions"
1010
)
1111

topic/reader_e2e_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414

1515
"github.com/stretchr/testify/require"
1616

17-
"github.com/ydb-platform/ydb-go-sdk/v3"
17+
ydb "github.com/ydb-platform/ydb-go-sdk/v3"
1818
"github.com/ydb-platform/ydb-go-sdk/v3/internal/empty"
1919
"github.com/ydb-platform/ydb-go-sdk/v3/internal/xcontext"
2020
"github.com/ydb-platform/ydb-go-sdk/v3/internal/xtest"

topic/topictypes/topictypes.go

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,14 @@ func (s *PartitionSettings) FromRaw(raw *rawtopic.PartitioningSettings) {
115115
//
116116
// Notice: This API is EXPERIMENTAL and may be changed or removed in a later release.
117117
type TopicDescription struct {
118-
Path string
119-
PartitionSettings PartitionSettings
120-
Consumers []Consumer
118+
Path string
119+
PartitionSettings PartitionSettings
120+
Consumers []Consumer
121+
SupportedCodecs []Codec
122+
RetentionPeriod time.Duration
123+
PartitionWriteBurstBytes int64
124+
PartitionWriteSpeedBytesPerSecond int64
125+
Attributes map[string]string
121126
}
122127

123128
// FromRaw
@@ -133,4 +138,41 @@ func (d *TopicDescription) FromRaw(raw *rawtopic.DescribeTopicResult) {
133138
for i := 0; i < len(raw.Consumers); i++ {
134139
d.Consumers[i].FromRaw(&raw.Consumers[i])
135140
}
141+
142+
d.SupportedCodecs = make([]Codec, len(raw.SupportedCodecs))
143+
for i := 0; i < len(raw.SupportedCodecs); i++ {
144+
d.SupportedCodecs[i] = Codec(raw.SupportedCodecs[i])
145+
}
146+
147+
d.PartitionWriteSpeedBytesPerSecond = raw.PartitionWriteSpeedBytesPerSecond
148+
d.PartitionWriteBurstBytes = raw.PartitionWriteBurstBytes
149+
for k, v := range raw.Attributes {
150+
d.Attributes[k] = v
151+
}
152+
}
153+
154+
// ToRaw
155+
//
156+
// # Experimental
157+
//
158+
// Notice: This API is EXPERIMENTAL and may be changed or removed in a later release.
159+
func (d *TopicDescription) ToRaw(raw *rawtopic.DescribeTopicResult) {
160+
raw.Self.Name = d.Path
161+
d.PartitionSettings.ToRaw(&raw.PartitioningSettings)
162+
163+
raw.Consumers = make([]rawtopic.Consumer, len(d.Consumers))
164+
for i := 0; i < len(d.Consumers); i++ {
165+
d.Consumers[i].ToRaw(&raw.Consumers[i])
166+
}
167+
168+
raw.SupportedCodecs = make([]rawtopiccommon.Codec, len(d.SupportedCodecs))
169+
for i := 0; i < len(d.SupportedCodecs); i++ {
170+
raw.SupportedCodecs[i] = rawtopiccommon.Codec(d.SupportedCodecs[i])
171+
}
172+
173+
raw.PartitionWriteBurstBytes = d.PartitionWriteBurstBytes
174+
raw.PartitionWriteSpeedBytesPerSecond = d.PartitionWriteSpeedBytesPerSecond
175+
for k, v := range d.Attributes {
176+
raw.Attributes[k] = v
177+
}
136178
}

0 commit comments

Comments
 (0)