cluster_metadata_store.go ×9

Frontier kind: Code frontier

unlabeled · c_725ed865469b

19 tests · 3854 LOC · 173 files · introduces 0 tests · 114 LOC · 5 files

Introduces — evidence that enters the hierarchy at this concept

Code
28 ranges114 lines · 5 files
Tests
0 tests

Contains — complete concept membership

All code (extent)
689 ranges3854 lines · 173 files · Browse complete extent
All tests (intent)
19 testsBrowse complete intent

Neighbourhood graph

The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.

Introduced files, introduced tests, and structurally relevant concept specialization

In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.

Graph controls are ready.

Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.

Native relationship evidence

Every exact file and test below is linked only from the concept that introduces it.

Introduced tests

Every collected test enters the hierarchy at exactly one concept.

No tests are introduced at this concept. Its intent tests are introduced by other concepts.

Introduced code

Every collected source range enters the hierarchy at exactly one concept.

5 files ranked by introduced lines: 114 introduced LOC across 28 ranges. Expand a file to inspect source; the > gutter marks introduced lines.

go.temporal.io/server/common/persistence/cluster_metadata_store.go 35 introduced LOC · 9 ranges

Open complete file

94 ctx context.Context,
95 request *ListClusterMetadataRequest,
96 > ) (*ListClusterMetadataResponse, error) { cluster_metadata_store.go
97 > resp, err := m.persistence.ListClusterMetadata(ctx, &InternalListClusterMetadataRequest{
98 > PageSize: request.PageSize,
99 > NextPageToken: request.NextPageToken,
100 > })
101 > if err != nil {
102 return nil, err
103 }
104
105 > clusterMetadata := make([]*GetClusterMetadataResponse, 0, len(resp.ClusterMetadata)) cluster_metadata_store.go
106 > for _, cm := range resp.ClusterMetadata {
107 > res, err := m.convertInternalGetClusterMetadataResponse(cm)
108 > if err != nil {
109 return nil, err
110 }
111 > clusterMetadata = append(clusterMetadata, res) cluster_metadata_store.go
112 }
113 > return &ListClusterMetadataResponse{ClusterMetadata: clusterMetadata, NextPageToken: resp.NextPageToken}, nil cluster_metadata_store.go
114 }
115
132 ctx context.Context,
133 request *GetClusterMetadataRequest,
134 > ) (*GetClusterMetadataResponse, error) { cluster_metadata_store.go
135 > resp, err := m.persistence.GetClusterMetadata(ctx, &InternalGetClusterMetadataRequest{ClusterName: request.ClusterName})
136 > if err != nil {
137 > return nil, err
138 > }
139
140 mcm, err := m.serializer.DeserializeClusterMetadata(resp.ClusterMetadata)
148 ctx context.Context,
149 request *SaveClusterMetadataRequest,
150 > ) (bool, error) { cluster_metadata_store.go
151 > mcm, err := m.serializer.SerializeClusterMetadata(request.ClusterMetadata)
152 > if err != nil {
153 return false, err
154 }
155
156 > oldClusterMetadata, err := m.GetClusterMetadata(ctx, &GetClusterMetadataRequest{ClusterName: request.GetClusterName()}) cluster_metadata_store.go
157 > if _, isNotFound := err.(*serviceerror.NotFound); isNotFound {
158 > return m.persistence.SaveClusterMetadata(ctx, &InternalSaveClusterMetadataRequest{
159 > ClusterName: request.ClusterName,
160 > ClusterMetadata: mcm,
161 > Version: request.Version,
162 > })
163 > }
164 if err != nil {
165 return false, err
189 func (m *clusterMetadataManagerImpl) convertInternalGetClusterMetadataResponse(
190 resp *InternalGetClusterMetadataResponse,
191 > ) (*GetClusterMetadataResponse, error) { cluster_metadata_store.go
192 > mcm, err := m.serializer.DeserializeClusterMetadata(resp.ClusterMetadata)
193 > if err != nil {
194 return nil, err
195 }
196
197 > return &GetClusterMetadataResponse{ cluster_metadata_store.go
198 > ClusterMetadata: mcm,
199 > Version: resp.Version,
200 > }, nil
201 }
202
go.temporal.io/server/common/persistence/persistence_metric_clients.go 27 introduced LOC · 3 ranges

Open complete file

1227 ctx context.Context,
1228 request *ListClusterMetadataRequest,
1229 > ) (_ *ListClusterMetadataResponse, retErr error) { persistence_metric_clients.go
1230 > caller := headers.GetCallerInfo(ctx).CallerName
1231 > startTime := time.Now().UTC()
1232 > defer func() {
1233 > p.healthSignals.Record(CallerSegmentMissing, time.Since(startTime), retErr)
1234 > p.recordRequestMetrics(metrics.PersistenceListClusterMetadataScope, caller, time.Since(startTime), retErr)
1235 > p.recordDataLossMetrics(metrics.PersistenceListClusterMetadataScope, caller, retErr, "", "")
1236 > }()
1237 > return p.persistence.ListClusterMetadata(ctx, request)
1238 }
1239
1254 ctx context.Context,
1255 request *GetClusterMetadataRequest,
1256 > ) (_ *GetClusterMetadataResponse, retErr error) { persistence_metric_clients.go
1257 > caller := headers.GetCallerInfo(ctx).CallerName
1258 > startTime := time.Now().UTC()
1259 > defer func() {
1260 > p.healthSignals.Record(CallerSegmentMissing, time.Since(startTime), retErr)
1261 > p.recordRequestMetrics(metrics.PersistenceGetClusterMetadataScope, caller, time.Since(startTime), retErr)
1262 > p.recordDataLossMetrics(metrics.PersistenceGetClusterMetadataScope, caller, retErr, "", "")
1263 > }()
1264 > return p.persistence.GetClusterMetadata(ctx, request)
1265 }
1266
1268 ctx context.Context,
1269 request *SaveClusterMetadataRequest,
1270 > ) (_ bool, retErr error) { persistence_metric_clients.go
1271 > caller := headers.GetCallerInfo(ctx).CallerName
1272 > startTime := time.Now().UTC()
1273 > defer func() {
1274 > p.healthSignals.Record(CallerSegmentMissing, time.Since(startTime), retErr)
1275 > p.recordRequestMetrics(metrics.PersistenceSaveClusterMetadataScope, caller, time.Since(startTime), retErr)
1276 > p.recordDataLossMetrics(metrics.PersistenceSaveClusterMetadataScope, caller, retErr, "", "")
1277 > }()
1278 > return p.persistence.SaveClusterMetadata(ctx, request)
1279 }
1280
go.temporal.io/server/common/persistence/persistence_retryable_clients.go 27 introduced LOC · 6 ranges

Open complete file

972 ctx context.Context,
973 request *ListClusterMetadataRequest,
974 > ) (*ListClusterMetadataResponse, error) { persistence_retryable_clients.go
975 > var response *ListClusterMetadataResponse
976 > op := func(ctx context.Context) error {
977 > var err error
978 > response, err = p.persistence.ListClusterMetadata(ctx, request)
979 > return err
980 > }
981
982 > err := backoff.ThrottleRetryContext(ctx, op, p.policy, p.isRetryable) persistence_retryable_clients.go
983 > return response, err
984 }
985
1001 ctx context.Context,
1002 request *GetClusterMetadataRequest,
1003 > ) (*GetClusterMetadataResponse, error) { persistence_retryable_clients.go
1004 > var response *GetClusterMetadataResponse
1005 > op := func(ctx context.Context) error {
1006 > var err error
1007 > response, err = p.persistence.GetClusterMetadata(ctx, request)
1008 > return err
1009 > }
1010
1011 > err := backoff.ThrottleRetryContext(ctx, op, p.policy, p.isRetryable) persistence_retryable_clients.go
1012 > return response, err
1013 }
1014
1016 ctx context.Context,
1017 request *SaveClusterMetadataRequest,
1018 > ) (bool, error) { persistence_retryable_clients.go
1019 > var response bool
1020 > op := func(ctx context.Context) error {
1021 > var err error
1022 > response, err = p.persistence.SaveClusterMetadata(ctx, request)
1023 > return err
1024 > }
1025
1026 > err := backoff.ThrottleRetryContext(ctx, op, p.policy, p.isRetryable) persistence_retryable_clients.go
1027 > return response, err
1028 }
1029
go.temporal.io/server/api/persistence/v1/cluster_metadata.pb.go 15 introduced LOC · 4 ranges

Open complete file

47 }
48
49 > func (x *ClusterMetadata) Reset() { cluster_metadata.pb.go
50 > *x = ClusterMetadata{}
51 > mi := &file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes[0]
52 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
53 > ms.StoreMessageInfo(mi)
54 > }
55
56 func (x *ClusterMetadata) String() string {
63 mi := &file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes[0]
64 if x != nil {
65 > ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) cluster_metadata.pb.go
66 > if ms.LoadMessageInfo() == nil {
67 > ms.StoreMessageInfo(mi)
68 > }
69 > return ms
70 }
71 return mi.MessageOf(x)
195 func (*IndexSearchAttributes) ProtoMessage() {}
196
197 > func (x *IndexSearchAttributes) ProtoReflect() protoreflect.Message { cluster_metadata.pb.go
198 > mi := &file_temporal_server_api_persistence_v1_cluster_metadata_proto_msgTypes[1]
199 > if x != nil {
200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
201 if ms.LoadMessageInfo() == nil {
go.temporal.io/server/common/persistence/serialization/serializer.go 10 introduced LOC · 6 ranges

Open complete file

265 }
266
267 > func (t *serializerImpl) SerializeClusterMetadata(cm *persistencespb.ClusterMetadata) (*commonpb.DataBlob, error) { serializer.go
268 > if cm == nil {
269 cm = &persistencespb.ClusterMetadata{}
270 }
271 > return t.serialize(cm) serializer.go
272 }
273
274 > func (t *serializerImpl) DeserializeClusterMetadata(data *commonpb.DataBlob) (*persistencespb.ClusterMetadata, error) { serializer.go
275 > if data == nil {
276 return nil, nil
277 }
278 > if len(data.Data) == 0 { serializer.go
279 return nil, nil
280 }
281
282 > cm := &persistencespb.ClusterMetadata{} serializer.go
283 > err := Decode(data, cm)
284 > if err != nil {
285 return nil, err
286 }
287 > return cm, nil serializer.go
288 }
289