blob: 5f32c92c5c046df0795bff4469c1f5cc0d995a48 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
syntax = "proto3";
option cc_enable_arenas = true;
package NYql.NDqProto;
message TStateData {
oneof State {
TExtStateId StateId = 1; // Unique (for TComputeActorCheckpoint) state id for big blobs. // TODO: implement
TData StateData = 2; // In-place blob data for small blobs
}
message TExtStateId {
uint32 StateId = 1;
}
message TData {
bytes Blob = 1;
uint64 Version = 2;
// TODO: codec
// TODO: structured data (map, array)
// TODO: minikql node explicit id (HOP)
}
}
message TSourceState {
// State data for source.
// Typically there is only one element with state that
// source saved. But when we are migrating states
// between tasks there can be state
// from several different tasks sources.
repeated TStateData Data = 1;
uint64 InputIndex = 2;
}
message TSinkState {
TStateData Data = 1;
uint64 OutputIndex = 2;
}
message TMiniKqlProgramState {
TStateData Data = 1;
uint64 RuntimeVersion = 2;
}
// Checkpoint for single compute actor.
message TComputeActorState {
TMiniKqlProgramState MiniKqlProgram = 1;
repeated TSourceState Sources = 2;
repeated TSinkState Sinks = 3;
}
|