aboutsummaryrefslogtreecommitdiffstats
path: root/ydb/library/yql/dq/proto/dq_checkpoint.proto
blob: e3723a6ae9b4634be1f6a5d064dc57cb67bc9dca (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; 
}