lizhanhui commented on a change in pull request #1:
URL: https://github.com/apache/rocketmq-apis/pull/1#discussion_r720611926



##########
File path: apache/rocketmq/v1/service.proto
##########
@@ -0,0 +1,382 @@
+syntax = "proto3";
+
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/error_details.proto";
+import "google/rpc/status.proto";
+
+import "apache/rocketmq/v1/definition.proto";
+
+package apache.rocketmq.v1;
+
+option java_multiple_files = true;
+option java_package = "apache.rocketmq.v1";
+option java_generate_equals_and_hash = true;
+option java_string_check_utf8 = true;
+option java_outer_classname = "MQService";
+
+message ResponseCommon {
+  google.rpc.Status status = 1;
+  google.rpc.RequestInfo request_info = 2;
+  google.rpc.Help help = 3;
+  google.rpc.RetryInfo retry_info = 4;
+  google.rpc.DebugInfo debug_info = 5;
+  google.rpc.ErrorInfo error_info = 6;
+
+  reserved 7 to 64;
+}
+
+message QueryRouteRequest {
+  Resource topic = 1;
+
+  // Service access point
+  Endpoints endpoints = 2;
+
+  reserved 3 to 64;
+}
+
+message QueryRouteResponse {
+  ResponseCommon common = 1;
+  repeated Partition partitions = 2;
+
+  reserved 3 to 64;
+}
+
+message SendMessageRequest {
+  Message message = 1;
+  Partition partition = 2;
+
+  reserved 3 to 64;
+}
+
+message SendMessageResponse {
+  ResponseCommon common = 1;
+  string message_id = 2;
+  string transaction_id = 3;
+
+  reserved 4 to 64;
+}
+
+message QueryAssignmentRequest {
+  Resource topic = 1;
+  Resource group = 2;
+  string client_id = 3;
+
+  // Service access point
+  Endpoints endpoints = 4;
+
+  reserved 5 to 64;
+}
+
+message QueryAssignmentResponse {
+  ResponseCommon common = 1;
+  repeated Assignment assignments = 2;
+
+  reserved 3 to 64;
+}
+
+message ReceiveMessageRequest {
+  Resource group = 1;
+  string client_id = 2;
+  Partition partition = 3;
+  FilterExpression filter_expression = 4;
+  ConsumePolicy consume_policy = 5;
+  google.protobuf.Timestamp initialization_timestamp = 6;
+  int32 batch_size = 7;
+  google.protobuf.Duration invisible_duration = 8;
+  google.protobuf.Duration await_time = 9;
+  bool fifo_flag = 10;
+
+  reserved 11 to 64;
+}
+
+message ReceiveMessageResponse {
+  ResponseCommon common = 1;
+  repeated Message messages = 2;
+  google.protobuf.Timestamp delivery_timestamp = 3;
+  google.protobuf.Duration invisible_duration = 4;
+
+  reserved 5 to 64;
+}
+
+message AckMessageRequest {
+  Resource group = 1;
+  Resource topic = 2;
+  string client_id = 3;
+  oneof handle {
+    string receipt_handle = 4;
+    int64 offset = 5;
+  }
+  string message_id = 6;
+
+  reserved 7 to 64;
+}
+
+message AckMessageResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message NackMessageRequest {
+  Resource group = 1;
+  Resource topic = 2;
+  string client_id = 3;
+  string receipt_handle = 4;
+  string message_id = 5;
+  int32 delivery_attempt = 6;
+  int32 max_delivery_attempts = 7;
+
+  reserved 8 to 64;
+}
+
+message NackMessageResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message ForwardMessageToDeadLetterQueueRequest {
+  Resource group = 1;
+  Resource topic = 2;
+  string client_id = 3;
+  string receipt_handle = 4;
+  string message_id = 5;
+  int32 delivery_attempt = 6;
+  int32 max_delivery_attempts = 7;
+
+  reserved 8 to 64;
+}
+
+message ForwardMessageToDeadLetterQueueResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message HeartbeatRequest {
+  string client_id = 1;
+  oneof client_data {
+    ProducerData producer_data = 2;
+    ConsumerData consumer_data = 3;
+  }
+  bool fifo_flag = 4;
+
+  reserved 5 to 64;
+}
+
+message HeartbeatResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message HealthCheckRequest {
+  Resource group = 1;
+  string client_host = 2;
+
+  reserved 3 to 64;
+}
+
+message HealthCheckResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message EndTransactionRequest {
+  Resource group = 1;
+  string message_id = 2;
+  string transaction_id = 3;
+  enum TransactionResolution {
+    COMMIT = 0;
+    ROLLBACK = 1;
+  }
+  TransactionResolution resolution = 4;
+  enum Source {
+    CLIENT = 0;
+    SERVER_CHECK = 1;
+  }
+  Source source = 5;
+  string trace_context = 6;
+
+  reserved 7 to 64;
+}
+
+message EndTransactionResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message QueryOffsetRequest {
+  Partition partition = 1;
+  QueryOffsetPolicy policy = 2;
+  google.protobuf.Timestamp time_point = 3;
+
+  reserved 4 to 64;
+}
+
+message QueryOffsetResponse {
+  ResponseCommon common = 1;
+  int64 offset = 2;
+
+  reserved 3 to 64;
+}
+
+message PullMessageRequest {
+  Resource group = 1;
+  Partition partition = 2;
+  int64 offset = 3;
+  int32 batch_size = 4;
+  google.protobuf.Duration await_time = 5;
+  FilterExpression filter_expression = 6;
+  string client_id = 7;
+
+  reserved 8 to 64;
+}
+
+message PullMessageResponse {
+  ResponseCommon common = 1;
+  int64 min_offset = 2;
+  int64 next_offset = 3;
+  int64 max_offset = 4;
+  repeated Message messages = 5;
+
+  reserved 6 to 64;
+}
+
+message UpdateOffsetRequest {
+  Resource group = 1;
+  Partition partition = 2;
+  int64 partition_offset = 3;
+
+  reserved 4 to 64;
+}
+
+message UpdateOffsetResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message GenericPollingRequest {
+  string client_id = 1;
+  repeated Resource topics = 2;
+  oneof group {
+    Resource producer_group = 3;
+    Resource consumer_group = 4;
+  }
+
+  reserved 5 to 64;
+}
+
+message GenericPollingResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+message PrintThreadStackRequest {
+  string mid = 1;
+
+  reserved 2 to 64;
+}
+
+message PrintThreadStackResponse {
+  ResponseCommon common = 1;
+  string mid = 2;
+  string stack_trace = 3;
+
+  reserved 4 to 64;
+}
+
+message VerifyMessageConsumptionRequest {
+  string mid = 1;
+  Message message = 2;
+
+  reserved 3 to 64;
+}
+
+message VerifyMessageConsumptionResponse {
+  string mid = 1;
+  ResponseCommon common = 2;
+
+  reserved 3 to 64;
+}
+
+message RecoverOrphanedTransactionRequest {
+  Message orphaned_transactional_message = 1;
+  string transaction_id = 2;
+
+  reserved 3 to 64;
+}
+
+message MultiplexingRequest {
+  oneof type {
+    GenericPollingRequest polling_request = 1;
+    PrintThreadStackResponse print_thread_stack_response = 2;
+    VerifyMessageConsumptionResponse verify_message_consumption_response = 3;
+  }
+
+  reserved 4 to 64;
+}
+
+message MultiplexingResponse {
+  oneof type {
+    GenericPollingResponse polling_response = 1;
+    PrintThreadStackRequest print_thread_stack_request = 2;
+    VerifyMessageConsumptionRequest verify_message_consumption_request = 3;
+    RecoverOrphanedTransactionRequest recover_orphaned_transaction_request = 4;
+  }
+
+  reserved 5 to 64;
+}
+
+message NotifyClientTerminationRequest {
+  Resource group = 1;
+  string client_id = 2;
+
+  reserved 3 to 64;
+}
+
+message NotifyClientTerminationResponse {
+  ResponseCommon common = 1;
+
+  reserved 2 to 64;
+}
+
+service MessagingService {
+  rpc QueryRoute(QueryRouteRequest) returns (QueryRouteResponse) {}

Review comment:
       Service items should be properly documented, describing their usage, 
context, and more importantly, error handling.
   
   A typical example for reference: 
https://github.com/envoyproxy/data-plane-api/blob/main/envoy/api/v2/discovery.proto




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to