@@ -11,6 +11,7 @@ option java_package = "ru.yandex.kikimr.proto";
11
11
extend google.protobuf.FieldOptions {
12
12
optional uint64 InsignificantChangeAmount = 70553 ;
13
13
optional uint32 InsignificantChangePercent = 70554 ;
14
+ optional bool DefaultField = 70555 ;
14
15
}
15
16
16
17
enum EFlag {
@@ -47,28 +48,29 @@ message TTabletStateInfo {
47
48
Reserved16 = 16 ;
48
49
}
49
50
50
- optional uint64 TabletId = 1 ;
51
+ optional uint64 TabletId = 1 [ (DefaultField) = true ] ;
51
52
optional uint64 CreateTime = 2 ;
52
- optional uint64 ChangeTime = 3 ;
53
- optional ETabletState State = 4 ;
53
+ optional uint64 ChangeTime = 3 [ (DefaultField) = true ] ;
54
+ optional ETabletState State = 4 [ (DefaultField) = true ] ;
54
55
optional uint32 UserState = 5 ; // implementation-dependent
55
- optional uint32 Generation = 6 ;
56
- optional NKikimrTabletBase.TTabletTypes.EType Type = 7 ;
56
+ optional uint32 Generation = 6 [ (DefaultField) = true ] ;
57
+ optional NKikimrTabletBase.TTabletTypes.EType Type = 7 [ (DefaultField) = true ] ;
57
58
optional string Host = 8 ;
58
59
repeated uint32 ChannelGroupIDs = 9 ; // BS Group per channel
59
60
repeated TCustomTabletAttribute Attributes = 10 ;
60
61
optional uint32 NodeId = 11 ; // filled during merge
61
- optional bool Leader = 12 ; // leader or follower
62
+ optional bool Leader = 12 [ (DefaultField) = true ] ; // leader or follower
62
63
optional uint32 Count = 13 ; // filled during group count
63
- optional uint32 FollowerId = 14 ;
64
+ optional uint32 FollowerId = 14 [ (DefaultField) = true ] ;
64
65
optional EFlag Overall = 15 ; // filled during merge
65
- optional NKikimrSubDomains.TDomainKey TenantId = 16 ;
66
- optional fixed64 HiveId = 17 ;
66
+ optional NKikimrSubDomains.TDomainKey TenantId = 16 [ (DefaultField) = true ] ;
67
+ optional fixed64 HiveId = 17 [ (DefaultField) = true ] ;
67
68
optional string EndOfRangeKeyPrefix = 18 ; // filled during merge
68
69
}
69
70
70
71
message TEvTabletStateRequest {
71
72
optional uint64 ChangedSince = 1 ;
73
+ repeated int32 FieldsRequired = 2 [packed = true ];
72
74
optional string Format = 5 ; // it could be "packed5"
73
75
optional string GroupBy = 20 ; // it's either empty or "Type,State" for now
74
76
repeated fixed64 FilterTabletId = 22 ;
@@ -99,6 +101,7 @@ message TNodeStateInfo {
99
101
100
102
message TEvNodeStateRequest {
101
103
optional uint64 ChangedSince = 1 ;
104
+ repeated int32 FieldsRequired = 2 [packed = true ];
102
105
}
103
106
104
107
message TEvNodeStateResponse {
@@ -108,34 +111,35 @@ message TEvNodeStateResponse {
108
111
}
109
112
110
113
message TPDiskStateInfo {
111
- optional uint32 PDiskId = 1 ;
114
+ optional uint32 PDiskId = 1 [ (DefaultField) = true ] ;
112
115
optional uint64 CreateTime = 2 ;
113
- optional uint64 ChangeTime = 3 ;
114
- optional string Path = 4 ;
115
- optional uint64 Guid = 5 ;
116
- optional uint64 Category = 6 ;
117
- optional uint64 AvailableSize = 7 [(InsignificantChangeAmount) = 104857600 ]; // 100Mb
118
- optional uint64 TotalSize = 8 ;
119
- optional NKikimrBlobStorage.TPDiskState.E State = 9 ;
116
+ optional uint64 ChangeTime = 3 [ (DefaultField) = true ] ;
117
+ optional string Path = 4 [ (DefaultField) = true ] ;
118
+ optional uint64 Guid = 5 [ (DefaultField) = true ] ;
119
+ optional uint64 Category = 6 [ (DefaultField) = true ] ;
120
+ optional uint64 AvailableSize = 7 [(DefaultField) = true , ( InsignificantChangeAmount) = 104857600 ]; // 100Mb
121
+ optional uint64 TotalSize = 8 [ (DefaultField) = true ] ;
122
+ optional NKikimrBlobStorage.TPDiskState.E State = 9 [ (DefaultField) = true ] ;
120
123
optional uint32 NodeId = 10 ; // filled during merge
121
124
optional uint32 Count = 13 ; // filled during group count
122
- optional EFlag Device = 14 ;
123
- optional EFlag Realtime = 15 ;
125
+ optional EFlag Device = 14 [ (DefaultField) = true ] ;
126
+ optional EFlag Realtime = 15 [ (DefaultField) = true ] ;
124
127
// State as flag - to be filled
125
128
optional EFlag StateFlag = 16 ;
126
129
// overall state - to be filled
127
130
optional EFlag Overall = 17 ;
128
- optional string SerialNumber = 18 ;
129
- optional uint64 SystemSize = 19 ;
130
- optional uint64 LogUsedSize = 20 ;
131
- optional uint64 LogTotalSize = 21 ;
132
- optional uint32 ExpectedSlotCount = 22 ;
133
- optional uint64 EnforcedDynamicSlotSize = 23 ;
134
- optional uint32 NumActiveSlots = 24 ;
131
+ optional string SerialNumber = 18 [ (DefaultField) = true ] ;
132
+ optional uint64 SystemSize = 19 [ (DefaultField) = true ] ;
133
+ optional uint64 LogUsedSize = 20 [ (DefaultField) = true ] ;
134
+ optional uint64 LogTotalSize = 21 [ (DefaultField) = true ] ;
135
+ optional uint32 ExpectedSlotCount = 22 [ (DefaultField) = true ] ;
136
+ optional uint64 EnforcedDynamicSlotSize = 23 [ (DefaultField) = true ] ;
137
+ optional uint32 NumActiveSlots = 24 [ (DefaultField) = true ] ;
135
138
}
136
139
137
140
message TEvPDiskStateRequest {
138
141
optional uint64 ChangedSince = 1 ;
142
+ repeated int32 FieldsRequired = 2 [packed = true ];
139
143
}
140
144
141
145
message TEvPDiskStateResponse {
@@ -172,62 +176,63 @@ message TVDiskSatisfactionRank {
172
176
}
173
177
174
178
message TVDiskStateInfo {
175
- optional NKikimrBlobStorage.TVDiskID VDiskId = 1 ;
179
+ optional NKikimrBlobStorage.TVDiskID VDiskId = 1 [ (DefaultField) = true ] ;
176
180
optional uint64 CreateTime = 2 ;
177
- optional uint64 ChangeTime = 3 ;
178
- optional uint32 PDiskId = 4 ;
179
- optional uint32 VDiskSlotId = 5 ;
180
- optional uint64 Guid = 6 ;
181
- optional uint64 Kind = 7 ;
181
+ optional uint64 ChangeTime = 3 [ (DefaultField) = true ] ;
182
+ optional uint32 PDiskId = 4 [ (DefaultField) = true ] ;
183
+ optional uint32 VDiskSlotId = 5 [ (DefaultField) = true ] ;
184
+ optional uint64 Guid = 6 [ (DefaultField) = true ] ;
185
+ optional uint64 Kind = 7 [ (DefaultField) = true ] ;
182
186
optional uint32 NodeId = 9 ; // filled during merge
183
187
optional uint32 Count = 17 ; // filled during group count
184
188
185
189
// overall state - to be filled
186
190
optional EFlag Overall = 10 ;
187
191
188
192
// Current state of VDisk
189
- optional EVDiskState VDiskState = 11 ;
193
+ optional EVDiskState VDiskState = 11 [ (DefaultField) = true ] ;
190
194
// Disk space flags
191
- optional EFlag DiskSpace = 12 ;
195
+ optional EFlag DiskSpace = 12 [ (DefaultField) = true ] ;
192
196
// Compaction satisfaction rank
193
- optional TVDiskSatisfactionRank SatisfactionRank = 13 ;
197
+ optional TVDiskSatisfactionRank SatisfactionRank = 13 [ (DefaultField) = true ] ;
194
198
// Is VDisk replicated? (i.e. contains all blobs it must have)
195
- optional bool Replicated = 14 ;
199
+ optional bool Replicated = 14 [ (DefaultField) = true ] ;
196
200
// Does this VDisk has any yet unreplicated phantom-like blobs?
197
- optional bool UnreplicatedPhantoms = 20 [default = false ];
201
+ optional bool UnreplicatedPhantoms = 20 [default = false , (DefaultField) = true ];
198
202
// The same for the non-phantom-like blobs.
199
- optional bool UnreplicatedNonPhantoms = 21 [default = false ];
203
+ optional bool UnreplicatedNonPhantoms = 21 [default = false , (DefaultField) = true ];
200
204
// Replication progress (0 to 1). Only for replication, not blob scrubbing.
201
- optional float ReplicationProgress = 30 ;
205
+ optional float ReplicationProgress = 30 [ (DefaultField) = true ] ;
202
206
// Replication ETA.
203
- optional uint32 ReplicationSecondsRemaining = 31 ;
207
+ optional uint32 ReplicationSecondsRemaining = 31 [ (DefaultField) = true ] ;
204
208
// How many unsynced VDisks from current BlobStorage group we see
205
- optional uint64 UnsyncedVDisks = 15 [default = 0 ];
209
+ optional uint64 UnsyncedVDisks = 15 [default = 0 , (DefaultField) = true ];
206
210
// How much this VDisk have allocated on corresponding PDisk
207
- optional uint64 AllocatedSize = 16 [(InsignificantChangeAmount) = 536870912 ]; // 512MiB
211
+ optional uint64 AllocatedSize = 16 [(InsignificantChangeAmount) = 536870912 , (DefaultField) = true ]; // 512MiB
208
212
// How much space is available for VDisk corresponding to PDisk's hard space limits
209
- optional uint64 AvailableSize = 28 [(InsignificantChangeAmount) = 536870912 ]; // 512MiB
213
+ optional uint64 AvailableSize = 28 [(InsignificantChangeAmount) = 536870912 , (DefaultField) = true ]; // 512MiB
210
214
// Does this disk has some unreadable but not yet restored blobs?
211
- optional bool HasUnreadableBlobs = 24 ;
212
- optional fixed64 IncarnationGuid = 25 ;
213
- optional bool DonorMode = 26 ;
214
- optional fixed64 InstanceGuid = 27 ; // VDisk actor instance guid
215
- repeated NKikimrBlobStorage.TVSlotId Donors = 29 ;
215
+ optional bool HasUnreadableBlobs = 24 [ (DefaultField) = true ] ;
216
+ optional fixed64 IncarnationGuid = 25 [ (DefaultField) = true ] ;
217
+ optional bool DonorMode = 26 [ (DefaultField) = true ] ;
218
+ optional fixed64 InstanceGuid = 27 [ (DefaultField) = true ] ; // VDisk actor instance guid
219
+ repeated NKikimrBlobStorage.TVSlotId Donors = 29 [ (DefaultField) = true ] ;
216
220
217
221
// VDisk (Skeleton) Front Queue Status
218
- optional EFlag FrontQueues = 18 ;
222
+ optional EFlag FrontQueues = 18 [ (DefaultField) = true ] ;
219
223
220
224
// VDisk storage pool label
221
- optional string StoragePoolName = 19 ;
225
+ optional string StoragePoolName = 19 [ (DefaultField) = true ] ;
222
226
223
227
// Read bytes per second from PDisk for TEvVGet blobs only
224
- optional uint64 ReadThroughput = 22 ;
228
+ optional uint64 ReadThroughput = 22 [ (DefaultField) = true ] ;
225
229
// Write bytes per second to PDisk for TEvVPut blobs and replication bytes only
226
- optional uint64 WriteThroughput = 23 ;
230
+ optional uint64 WriteThroughput = 23 [ (DefaultField) = true ] ;
227
231
}
228
232
229
233
message TEvVDiskStateRequest {
230
234
optional uint64 ChangedSince = 1 ;
235
+ repeated int32 FieldsRequired = 2 [packed = true ];
231
236
}
232
237
233
238
message TEvVDiskStateResponse {
@@ -237,29 +242,30 @@ message TEvVDiskStateResponse {
237
242
}
238
243
239
244
message TBSGroupStateInfo {
240
- optional uint32 GroupID = 1 ;
241
- optional string ErasureSpecies = 2 ;
242
- repeated NKikimrBlobStorage.TVDiskID VDiskIds = 3 ;
245
+ optional uint32 GroupID = 1 [ (DefaultField) = true ] ;
246
+ optional string ErasureSpecies = 2 [ (DefaultField) = true ] ;
247
+ repeated NKikimrBlobStorage.TVDiskID VDiskIds = 3 [ (DefaultField) = true ] ;
243
248
optional uint64 ChangeTime = 4 ;
244
249
optional uint32 NodeId = 5 ; // filled during merge
245
- optional uint32 GroupGeneration = 6 ;
250
+ optional uint32 GroupGeneration = 6 [ (DefaultField) = true ] ;
246
251
optional EFlag Overall = 7 ;
247
- optional EFlag Latency = 8 ;
252
+ optional EFlag Latency = 8 [ (DefaultField) = true ] ;
248
253
optional uint32 Count = 13 ; // filled during group count
249
- optional string StoragePoolName = 14 ; // from BS_CONTROLLER
250
- optional uint64 AllocatedSize = 15 [(InsignificantChangeAmount) = 100000000 ];
251
- optional uint64 AvailableSize = 16 [(InsignificantChangeAmount) = 100000000 ];
252
- optional uint64 ReadThroughput = 17 ;
253
- optional uint64 WriteThroughput = 18 ;
254
- optional bool Encryption = 19 ;
255
- repeated uint32 VDiskNodeIds = 20 ;
256
- optional uint64 BlobDepotId = 21 ; // if set, then this is virtual group
257
- optional bool NoVDisksInGroup = 22 ;
258
- optional uint64 BlobDepotOnlineTime = 23 ;
254
+ optional string StoragePoolName = 14 [ (DefaultField) = true ] ; // from BS_CONTROLLER
255
+ optional uint64 AllocatedSize = 15 [(InsignificantChangeAmount) = 100000000 , (DefaultField) = true ];
256
+ optional uint64 AvailableSize = 16 [(InsignificantChangeAmount) = 100000000 , (DefaultField) = true ];
257
+ optional uint64 ReadThroughput = 17 [ (DefaultField) = true ] ;
258
+ optional uint64 WriteThroughput = 18 [ (DefaultField) = true ] ;
259
+ optional bool Encryption = 19 [ (DefaultField) = true ] ;
260
+ repeated uint32 VDiskNodeIds = 20 [ (DefaultField) = true ] ;
261
+ optional uint64 BlobDepotId = 21 [ (DefaultField) = true ] ; // if set, then this is virtual group
262
+ optional bool NoVDisksInGroup = 22 [ (DefaultField) = true ] ;
263
+ optional uint64 BlobDepotOnlineTime = 23 [ (DefaultField) = true ] ;
259
264
}
260
265
261
266
message TEvBSGroupStateRequest {
262
267
optional uint64 ChangedSince = 1 ;
268
+ repeated int32 FieldsRequired = 2 [packed = true ];
263
269
}
264
270
265
271
message TEvBSGroupStateResponse {
@@ -299,12 +305,12 @@ message TSystemStateInfo {
299
305
optional uint64 LimitBytes = 2 ;
300
306
}
301
307
302
- optional uint64 StartTime = 1 ;
303
- optional uint64 ChangeTime = 2 ;
308
+ optional uint64 StartTime = 1 [ (DefaultField) = true ] ;
309
+ optional uint64 ChangeTime = 2 [ (DefaultField) = true ] ;
304
310
optional TLegacyNodeLocation SystemLocation = 3 ;
305
- repeated double LoadAverage = 4 ;
306
- optional uint32 NumberOfCpus = 5 ;
307
- optional EFlag SystemState = 6 ;
311
+ repeated double LoadAverage = 4 [ (DefaultField) = true ] ;
312
+ optional uint32 NumberOfCpus = 5 [ (DefaultField) = true ] ;
313
+ optional EFlag SystemState = 6 [ (DefaultField) = true ] ;
308
314
optional EFlag MessageBusState = 7 ;
309
315
optional EFlag GRpcState = 8 ;
310
316
optional uint32 NodeId = 9 ; // filled during merge
@@ -315,28 +321,29 @@ message TSystemStateInfo {
315
321
optional uint32 RackId = 17 ;
316
322
optional string Rack = 18 ;
317
323
optional string Host = 19 ;
318
- optional string Version = 20 ;
319
- repeated TPoolStats PoolStats = 21 ;
320
- repeated TEndpoint Endpoints = 22 ;
321
- repeated string Roles = 23 ;
322
- repeated string Tenants = 24 ;
323
- optional string ClusterName = 25 ;
324
- optional uint64 MemoryUsed = 26 ;
325
- optional uint64 MemoryLimit = 27 ;
324
+ optional string Version = 20 [ (DefaultField) = true ] ;
325
+ repeated TPoolStats PoolStats = 21 [ (DefaultField) = true ] ;
326
+ repeated TEndpoint Endpoints = 22 [ (DefaultField) = true ] ;
327
+ repeated string Roles = 23 [ (DefaultField) = true ] ;
328
+ repeated string Tenants = 24 [ (DefaultField) = true ] ;
329
+ optional string ClusterName = 25 [ (DefaultField) = true ] ;
330
+ optional uint64 MemoryUsed = 26 [ (DefaultField) = true ] ;
331
+ optional uint64 MemoryLimit = 27 [ (DefaultField) = true ] ;
326
332
optional EConfigState ConfigState = 28 [default = Consistent ];
327
333
optional uint64 MemoryUsedInAlloc = 29 ;
328
- optional double MaxDiskUsage = 30 ;
329
- optional NActorsInterconnect.TNodeLocation Location = 31 ;
334
+ optional double MaxDiskUsage = 30 [ (DefaultField) = true ] ;
335
+ optional NActorsInterconnect.TNodeLocation Location = 31 [ (DefaultField) = true ] ;
330
336
optional int64 MaxClockSkewWithPeerUs = 32 ; // a positive value means the peer is ahead in time; a negative value means it's behind
331
337
optional uint32 MaxClockSkewPeerId = 33 ;
332
338
optional uint64 DisconnectTime = 34 ;
333
339
optional TNodeSharedCache SharedCacheStats = 35 ; // TODO: use memory stats
334
- optional uint32 TotalSessions = 36 ;
335
- optional string NodeName = 37 ;
340
+ optional uint32 TotalSessions = 36 [ (DefaultField) = true ] ;
341
+ optional string NodeName = 37 [ (DefaultField) = true ] ;
336
342
}
337
343
338
344
message TEvSystemStateRequest {
339
345
optional uint64 ChangedSince = 1 ;
346
+ repeated int32 FieldsRequired = 2 [packed = true ];
340
347
}
341
348
342
349
message TEvSystemStateResponse {
0 commit comments