mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
issue: #33285 - add adaptor to implement walimpls into wal interface. - implement timetick sorted and filtering scanner. - add test for wal. --------- Signed-off-by: chyezh <chyezh@outlook.com>
90 lines
3.1 KiB
Protocol Buffer
90 lines
3.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package milvus.proto.log;
|
|
|
|
option go_package = "github.com/milvus-io/milvus/internal/proto/streamingpb";
|
|
|
|
import "milvus.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
//
|
|
// Common
|
|
//
|
|
|
|
// MessageID is the unique identifier of a message.
|
|
message MessageID {
|
|
bytes id = 1;
|
|
}
|
|
|
|
// Message is the basic unit of communication between publisher and consumer.
|
|
message Message {
|
|
bytes payload = 1; // message body
|
|
map<string, string> properties = 2; // message properties
|
|
}
|
|
|
|
// PChannelInfo is the information of a pchannel info.
|
|
message PChannelInfo {
|
|
string name = 1; // channel name
|
|
int64 term = 2; // A monotonic increasing term, every time the channel is recovered or moved to another streamingnode, the term will increase by meta server.
|
|
int64 server_id = 3; // The log node id address of the channel.
|
|
}
|
|
|
|
// VChannelInfo is the information of a vchannel info.
|
|
message VChannelInfo {
|
|
string name = 1;
|
|
}
|
|
|
|
// DeliverPolicy is the policy to deliver message.
|
|
message DeliverPolicy {
|
|
oneof policy {
|
|
google.protobuf.Empty all = 1; // deliver all messages.
|
|
google.protobuf.Empty latest = 2; // deliver the latest message.
|
|
MessageID start_from = 3; // deliver message from this message id. [startFrom, ...]
|
|
MessageID start_after = 4; // deliver message after this message id. (startAfter, ...]
|
|
}
|
|
}
|
|
|
|
// DeliverFilter is the filter to deliver message.
|
|
message DeliverFilter {
|
|
oneof filter {
|
|
DeliverFilterTimeTickGT time_tick_gt = 1;
|
|
DeliverFilterTimeTickGTE time_tick_gte = 2;
|
|
DeliverFilterVChannel vchannel = 3;
|
|
}
|
|
}
|
|
|
|
// DeliverFilterTimeTickGT is the filter to deliver message with time tick greater than this value.
|
|
message DeliverFilterTimeTickGT {
|
|
uint64 time_tick = 1; // deliver message with time tick greater than this value.
|
|
}
|
|
|
|
// DeliverFilterTimeTickGTE is the filter to deliver message with time tick greater than or equal to this value.
|
|
message DeliverFilterTimeTickGTE {
|
|
uint64 time_tick = 1; // deliver message with time tick greater than or equal to this value.
|
|
}
|
|
|
|
// DeliverFilterVChannel is the filter to deliver message with vchannel name.
|
|
message DeliverFilterVChannel {
|
|
string vchannel = 1; // deliver message with vchannel name.
|
|
}
|
|
|
|
// StreamingCode is the error code for log internal component.
|
|
enum StreamingCode {
|
|
STREAMING_CODE_OK = 0;
|
|
STREAMING_CODE_CHANNEL_EXIST = 1; // channel already exist
|
|
STREAMING_CODE_CHANNEL_NOT_EXIST = 2; // channel not exist
|
|
STREAMING_CODE_CHANNEL_FENCED = 3; // channel is fenced
|
|
STREAMING_CODE_ON_SHUTDOWN = 4; // component is on shutdown
|
|
STREAMING_CODE_INVALID_REQUEST_SEQ = 5; // invalid request sequence
|
|
STREAMING_CODE_UNMATCHED_CHANNEL_TERM = 6; // unmatched channel term
|
|
STREAMING_CODE_IGNORED_OPERATION = 7; // ignored operation
|
|
STREAMING_CODE_INNER = 8; // underlying service failure.
|
|
STREAMING_CODE_EOF = 9; // end of stream, generated by grpc status.
|
|
STREAMING_CODE_UNKNOWN = 999; // unknown error
|
|
}
|
|
|
|
// StreamingError is the error type for log internal component.
|
|
message StreamingError {
|
|
StreamingCode code = 1;
|
|
string cause = 2;
|
|
} |