This is an automated email from the ASF dual-hosted git repository.

aaronai pushed a commit to branch java
in repository https://gitbox.apache.org/repos/asf/rocketmq-apis.git

commit f6642aa0943062cde36264978b340aa47862cc90
Author: 凌楚 <[email protected]>
AuthorDate: Thu May 5 16:07:53 2022 +0800

    Apply IDL update
---
 src/main/java/apache/rocketmq/v2/MQService.java    |  295 +++--
 .../apache/rocketmq/v2/MessagingServiceGrpc.java   |  124 +--
 .../apache/rocketmq/v2/NackMessageRequest.java     | 1135 --------------------
 .../rocketmq/v2/NackMessageRequestOrBuilder.java   |   69 --
 .../apache/rocketmq/v2/NackMessageResponse.java    |  607 -----------
 .../rocketmq/v2/NackMessageResponseOrBuilder.java  |   24 -
 .../proto/apache/rocketmq/v2/service.proto         |   22 +-
 7 files changed, 145 insertions(+), 2131 deletions(-)

diff --git a/src/main/java/apache/rocketmq/v2/MQService.java 
b/src/main/java/apache/rocketmq/v2/MQService.java
index 85c30af..80a2bfc 100644
--- a/src/main/java/apache/rocketmq/v2/MQService.java
+++ b/src/main/java/apache/rocketmq/v2/MQService.java
@@ -74,16 +74,6 @@ public final class MQService {
   static final 
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_apache_rocketmq_v2_AckMessageResponse_fieldAccessorTable;
-  static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_apache_rocketmq_v2_NackMessageRequest_descriptor;
-  static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_apache_rocketmq_v2_NackMessageRequest_fieldAccessorTable;
-  static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_apache_rocketmq_v2_NackMessageResponse_descriptor;
-  static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      
internal_static_apache_rocketmq_v2_NackMessageResponse_fieldAccessorTable;
   static final com.google.protobuf.Descriptors.Descriptor
     
internal_static_apache_rocketmq_v2_ForwardMessageToDeadLetterQueueRequest_descriptor;
   static final 
@@ -232,129 +222,120 @@ public final class MQService {
       "pache.rocketmq.v2.Status\"|\n\022AckMessageRe" +
       "sponse\022*\n\006status\030\001 \001(\0132\032.apache.rocketmq" +
       ".v2.Status\022:\n\007entries\030\002 \003(\0132).apache.roc" +
-      "ketmq.v2.AckMessageResultEntry\"\264\001\n\022NackM" +
-      "essageRequest\022+\n\005group\030\001 \001(\0132\034.apache.ro" +
-      "cketmq.v2.Resource\022+\n\005topic\030\002 \001(\0132\034.apac" +
-      "he.rocketmq.v2.Resource\022\026\n\016receipt_handl" +
-      "e\030\003 \001(\t\022\022\n\nmessage_id\030\004 
\001(\t\022\030\n\020delivery_" +
-      "attempt\030\005 \001(\005\"A\n\023NackMessageResponse\022*\n\006" +
-      "status\030\001 \001(\0132\032.apache.rocketmq.v2.Status" +
-      "\"\347\001\n&ForwardMessageToDeadLetterQueueRequ" +
-      "est\022+\n\005group\030\001 \001(\0132\034.apache.rocketmq.v2." +
-      "Resource\022+\n\005topic\030\002 \001(\0132\034.apache.rocketm" +
-      "q.v2.Resource\022\026\n\016receipt_handle\030\003 \001(\t\022\022\n" +
-      "\nmessage_id\030\004 \001(\t\022\030\n\020delivery_attempt\030\005 " +
-      "\001(\005\022\035\n\025max_delivery_attempts\030\006 
\001(\005\"U\n\'Fo" +
-      "rwardMessageToDeadLetterQueueResponse\022*\n" +
-      "\006status\030\001 \001(\0132\032.apache.rocketmq.v2.Statu" +
-      "s\"N\n\020HeartbeatRequest\0220\n\005group\030\001 \001(\0132\034.a" +
-      "pache.rocketmq.v2.ResourceH\000\210\001\001B\010\n\006_grou" +
-      "p\"?\n\021HeartbeatResponse\022*\n\006status\030\001 \001(\0132\032" +
-      ".apache.rocketmq.v2.Status\"\375\001\n\025EndTransa" +
-      "ctionRequest\022+\n\005topic\030\001 \001(\0132\034.apache.roc" +
-      "ketmq.v2.Resource\022\022\n\nmessage_id\030\002 \001(\t\022\026\n" +
-      "\016transaction_id\030\003 \001(\t\022=\n\nresolution\030\004 \001(" +
-      "\0162).apache.rocketmq.v2.TransactionResolu" +
-      "tion\0225\n\006source\030\005 \001(\0162%.apache.rocketmq.v" +
-      "2.TransactionSource\022\025\n\rtrace_context\030\006 \001" +
-      "(\t\"D\n\026EndTransactionResponse\022*\n\006status\030\001" +
-      " \001(\0132\032.apache.rocketmq.v2.Status\"-\n\034Prin" +
-      "tThreadStackTraceCommand\022\r\n\005nonce\030\001 \001(\t\"" +
-      "\205\001\n\020ThreadStackTrace\022\r\n\005nonce\030\001 
\001(\t\022*\n\006s" +
-      "tatus\030\002 \001(\0132\032.apache.rocketmq.v2.Status\022" +
-      "\037\n\022thread_stack_trace\030\003 
\001(\tH\000\210\001\001B\025\n\023_thr" +
-      "ead_stack_trace\"S\n\024VerifyMessageCommand\022" +
-      "\r\n\005nonce\030\001 \001(\t\022,\n\007message\030\002 
\001(\0132\033.apache" +
-      ".rocketmq.v2.Message\"P\n\023VerifyMessageRes" +
-      "ult\022\r\n\005nonce\030\001 \001(\t\022*\n\006status\030\002 
\001(\0132\032.apa" +
-      "che.rocketmq.v2.Status\"\271\001\n!RecoverOrphan" +
-      "edTransactionCommand\0227\n\rmessage_queue\030\001 " +
-      "\001(\0132 .apache.rocketmq.v2.MessageQueue\022C\n" +
-      "\036orphaned_transactional_message\030\002 \001(\0132\033." +
-      "apache.rocketmq.v2.Message\022\026\n\016transactio" +
-      "n_id\030\003 \001(\t\"r\n\nPublishing\022,\n\006topics\030\001 
\003(\013" +
-      "2\034.apache.rocketmq.v2.Resource\022\037\n\027compre" +
-      "ss_body_threshold\030\002 \001(\005\022\025\n\rmax_body_size" +
-      "\030\003 \001(\005\"\263\002\n\014Subscription\0220\n\005group\030\001 
\001(\0132\034" +
-      ".apache.rocketmq.v2.ResourceH\000\210\001\001\022<\n\rsub" +
-      "scriptions\030\002 \003(\0132%.apache.rocketmq.v2.Su" +
-      "bscriptionEntry\022\021\n\004fifo\030\003 
\001(\010H\001\210\001\001\022\037\n\022re" +
-      "ceive_batch_size\030\004 
\001(\005H\002\210\001\001\022<\n\024long_poll" +
-      "ing_timeout\030\005 \001(\0132\031.google.protobuf.Dura" +
-      
"tionH\003\210\001\001B\010\n\006_groupB\007\n\005_fifoB\025\n\023_receive" +
-      "_batch_sizeB\027\n\025_long_polling_timeout\"\270\003\n" +
-      "\010Settings\0228\n\013client_type\030\001 \001(\0162\036.apache." +
-      "rocketmq.v2.ClientTypeH\001\210\001\001\0228\n\014access_po" +
-      "int\030\002 \001(\0132\035.apache.rocketmq.v2.Endpoints" +
-      "H\002\210\001\001\022<\n\016backoff_policy\030\003 
\001(\0132\037.apache.r" +
-      "ocketmq.v2.RetryPolicyH\003\210\001\001\0227\n\017request_t" +
-      "imeout\030\004 \001(\0132\031.google.protobuf.DurationH" +
-      "\004\210\001\001\0224\n\npublishing\030\005 
\001(\0132\036.apache.rocket" +
-      "mq.v2.PublishingH\000\0228\n\014subscription\030\006 \001(\013" +
-      "2 .apache.rocketmq.v2.SubscriptionH\000B\t\n\007" +
-      "pub_subB\016\n\014_client_typeB\017\n\r_access_point" +
-      "B\021\n\017_backoff_policyB\022\n\020_request_timeout\"" +
-      "\356\003\n\020TelemetryCommand\0220\n\010settings\030\001 
\001(\0132\034" +
-      ".apache.rocketmq.v2.SettingsH\000\022B\n\022thread" +
-      "_stack_trace\030\002 \001(\0132$.apache.rocketmq.v2." +
-      "ThreadStackTraceH\000\022H\n\025verify_message_res" +
-      "ult\030\003 \001(\0132\'.apache.rocketmq.v2.VerifyMes" +
-      "sageResultH\000\022e\n$recover_orphaned_transac" +
-      "tion_command\030\004 \001(\01325.apache.rocketmq.v2." +
-      "RecoverOrphanedTransactionCommandH\000\022\\\n p" +
-      "rint_thread_stack_trace_command\030\005 \001(\01320." +
-      "apache.rocketmq.v2.PrintThreadStackTrace" +
-      "CommandH\000\022J\n\026verify_message_command\030\006 \001(" +
-      "\0132(.apache.rocketmq.v2.VerifyMessageComm" +
-      "andH\000B\t\n\007command\"\\\n\036NotifyClientTerminat" +
-      "ionRequest\0220\n\005group\030\001 \001(\0132\034.apache.rocke" +
-      "tmq.v2.ResourceH\000\210\001\001B\010\n\006_group\"M\n\037Notify" +
-      "ClientTerminationResponse\022*\n\006status\030\001 \001(" +
-      "\0132\032.apache.rocketmq.v2.Status\"\335\001\n\036Change" +
-      "InvisibleDurationRequest\022+\n\005group\030\001 \001(\0132" +
-      "\034.apache.rocketmq.v2.Resource\022+\n\005topic\030\002" +
-      " \001(\0132\034.apache.rocketmq.v2.Resource\022\026\n\016re" +
-      "ceipt_handle\030\003 \001(\t\0225\n\022invisible_duration" +
-      "\030\004 \001(\0132\031.google.protobuf.Duration\022\022\n\nmes" +
-      "sage_id\030\005 \001(\t\"e\n\037ChangeInvisibleDuration" +
-      "Response\022*\n\006status\030\001 \001(\0132\032.apache.rocket" +
-      "mq.v2.Status\022\026\n\016receipt_handle\030\002 \001(\t2\302\n\n" +
-      "\020MessagingService\022]\n\nQueryRoute\022%.apache" +
-      ".rocketmq.v2.QueryRouteRequest\032&.apache." +
-      "rocketmq.v2.QueryRouteResponse\"\000\022Z\n\tHear" +
-      "tbeat\022$.apache.rocketmq.v2.HeartbeatRequ" +
-      "est\032%.apache.rocketmq.v2.HeartbeatRespon" +
-      "se\"\000\022`\n\013SendMessage\022&.apache.rocketmq.v2" +
-      ".SendMessageRequest\032\'.apache.rocketmq.v2" +
-      ".SendMessageResponse\"\000\022l\n\017QueryAssignmen" +
-      "t\022*.apache.rocketmq.v2.QueryAssignmentRe" +
-      "quest\032+.apache.rocketmq.v2.QueryAssignme" +
-      "ntResponse\"\000\022k\n\016ReceiveMessage\022).apache." +
-      "rocketmq.v2.ReceiveMessageRequest\032*.apac" +
-      "he.rocketmq.v2.ReceiveMessageResponse\"\0000" +
-      "\001\022]\n\nAckMessage\022%.apache.rocketmq.v2.Ack" +
-      "MessageRequest\032&.apache.rocketmq.v2.AckM" +
-      "essageResponse\"\000\022`\n\013NackMessage\022&.apache" +
-      ".rocketmq.v2.NackMessageRequest\032\'.apache" +
-      ".rocketmq.v2.NackMessageResponse\"\000\022\234\001\n\037F" +
-      "orwardMessageToDeadLetterQueue\022:.apache." +
-      "rocketmq.v2.ForwardMessageToDeadLetterQu" +
-      "eueRequest\032;.apache.rocketmq.v2.ForwardM" +
-      "essageToDeadLetterQueueResponse\"\000\022i\n\016End" +
-      "Transaction\022).apache.rocketmq.v2.EndTran" +
-      "sactionRequest\032*.apache.rocketmq.v2.EndT" +
-      "ransactionResponse\"\000\022]\n\tTelemetry\022$.apac" +
-      "he.rocketmq.v2.TelemetryCommand\032$.apache" +
-      ".rocketmq.v2.TelemetryCommand\"\000(\0010\001\022\204\001\n\027" +
-      "NotifyClientTermination\0222.apache.rocketm" +
-      "q.v2.NotifyClientTerminationRequest\0323.ap" +
+      "ketmq.v2.AckMessageResultEntry\"\347\001\n&Forwa" +
+      "rdMessageToDeadLetterQueueRequest\022+\n\005gro" +
+      "up\030\001 \001(\0132\034.apache.rocketmq.v2.Resource\022+" +
+      "\n\005topic\030\002 \001(\0132\034.apache.rocketmq.v2.Resou" +
+      "rce\022\026\n\016receipt_handle\030\003 \001(\t\022\022\n\nmessage_i" +
+      "d\030\004 \001(\t\022\030\n\020delivery_attempt\030\005 
\001(\005\022\035\n\025max" +
+      "_delivery_attempts\030\006 \001(\005\"U\n\'ForwardMessa" +
+      "geToDeadLetterQueueResponse\022*\n\006status\030\001 " +
+      "\001(\0132\032.apache.rocketmq.v2.Status\"N\n\020Heart" +
+      "beatRequest\0220\n\005group\030\001 \001(\0132\034.apache.rock" +
+      "etmq.v2.ResourceH\000\210\001\001B\010\n\006_group\"?\n\021Heart" +
+      "beatResponse\022*\n\006status\030\001 \001(\0132\032.apache.ro" +
+      "cketmq.v2.Status\"\375\001\n\025EndTransactionReque" +
+      "st\022+\n\005topic\030\001 \001(\0132\034.apache.rocketmq.v2.R" +
+      "esource\022\022\n\nmessage_id\030\002 \001(\t\022\026\n\016transacti" +
+      "on_id\030\003 \001(\t\022=\n\nresolution\030\004 \001(\0162).apache" +
+      ".rocketmq.v2.TransactionResolution\0225\n\006so" +
+      "urce\030\005 \001(\0162%.apache.rocketmq.v2.Transact" +
+      "ionSource\022\025\n\rtrace_context\030\006 \001(\t\"D\n\026EndT" +
+      "ransactionResponse\022*\n\006status\030\001 \001(\0132\032.apa" +
+      "che.rocketmq.v2.Status\"-\n\034PrintThreadSta" +
+      "ckTraceCommand\022\r\n\005nonce\030\001 \001(\t\"\205\001\n\020Thread" +
+      "StackTrace\022\r\n\005nonce\030\001 \001(\t\022*\n\006status\030\002 
\001(" +
+      "\0132\032.apache.rocketmq.v2.Status\022\037\n\022thread_" +
+      "stack_trace\030\003 \001(\tH\000\210\001\001B\025\n\023_thread_stack_" +
+      "trace\"S\n\024VerifyMessageCommand\022\r\n\005nonce\030\001" +
+      " \001(\t\022,\n\007message\030\002 \001(\0132\033.apache.rocketmq." +
+      "v2.Message\"P\n\023VerifyMessageResult\022\r\n\005non" +
+      "ce\030\001 \001(\t\022*\n\006status\030\002 
\001(\0132\032.apache.rocket" +
+      "mq.v2.Status\"\271\001\n!RecoverOrphanedTransact" +
+      "ionCommand\0227\n\rmessage_queue\030\001 \001(\0132 .apac" +
+      "he.rocketmq.v2.MessageQueue\022C\n\036orphaned_" +
+      "transactional_message\030\002 \001(\0132\033.apache.roc" +
+      "ketmq.v2.Message\022\026\n\016transaction_id\030\003 \001(\t" +
+      "\"r\n\nPublishing\022,\n\006topics\030\001 \003(\0132\034.apache." +
+      "rocketmq.v2.Resource\022\037\n\027compress_body_th" +
+      "reshold\030\002 \001(\005\022\025\n\rmax_body_size\030\003 
\001(\005\"\263\002\n" +
+      "\014Subscription\0220\n\005group\030\001 \001(\0132\034.apache.ro" +
+      "cketmq.v2.ResourceH\000\210\001\001\022<\n\rsubscriptions" +
+      "\030\002 \003(\0132%.apache.rocketmq.v2.Subscription" +
+      "Entry\022\021\n\004fifo\030\003 
\001(\010H\001\210\001\001\022\037\n\022receive_batc" +
+      "h_size\030\004 
\001(\005H\002\210\001\001\022<\n\024long_polling_timeou" +
+      "t\030\005 \001(\0132\031.google.protobuf.DurationH\003\210\001\001B" +
+      "\010\n\006_groupB\007\n\005_fifoB\025\n\023_receive_batch_siz" +
+      "eB\027\n\025_long_polling_timeout\"\270\003\n\010Settings\022" +
+      "8\n\013client_type\030\001 \001(\0162\036.apache.rocketmq.v" +
+      "2.ClientTypeH\001\210\001\001\0228\n\014access_point\030\002 
\001(\0132" +
+      "\035.apache.rocketmq.v2.EndpointsH\002\210\001\001\022<\n\016b" +
+      "ackoff_policy\030\003 \001(\0132\037.apache.rocketmq.v2" +
+      ".RetryPolicyH\003\210\001\001\0227\n\017request_timeout\030\004 \001" +
+      "(\0132\031.google.protobuf.DurationH\004\210\001\001\0224\n\npu" +
+      "blishing\030\005 \001(\0132\036.apache.rocketmq.v2.Publ" +
+      "ishingH\000\0228\n\014subscription\030\006 \001(\0132 .apache." +
+      "rocketmq.v2.SubscriptionH\000B\t\n\007pub_subB\016\n" +
+      "\014_client_typeB\017\n\r_access_pointB\021\n\017_backo" +
+      "ff_policyB\022\n\020_request_timeout\"\356\003\n\020Teleme" +
+      "tryCommand\0220\n\010settings\030\001 \001(\0132\034.apache.ro" +
+      "cketmq.v2.SettingsH\000\022B\n\022thread_stack_tra" +
+      "ce\030\002 \001(\0132$.apache.rocketmq.v2.ThreadStac" +
+      "kTraceH\000\022H\n\025verify_message_result\030\003 \001(\0132" +
+      "\'.apache.rocketmq.v2.VerifyMessageResult" +
+      "H\000\022e\n$recover_orphaned_transaction_comma" +
+      "nd\030\004 \001(\01325.apache.rocketmq.v2.RecoverOrp" +
+      "hanedTransactionCommandH\000\022\\\n print_threa" +
+      "d_stack_trace_command\030\005 \001(\01320.apache.roc" +
+      "ketmq.v2.PrintThreadStackTraceCommandH\000\022" +
+      "J\n\026verify_message_command\030\006 \001(\0132(.apache" +
+      ".rocketmq.v2.VerifyMessageCommandH\000B\t\n\007c" +
+      "ommand\"\\\n\036NotifyClientTerminationRequest" +
+      "\0220\n\005group\030\001 \001(\0132\034.apache.rocketmq.v2.Res" +
+      "ourceH\000\210\001\001B\010\n\006_group\"M\n\037NotifyClientTerm" +
+      "inationResponse\022*\n\006status\030\001 \001(\0132\032.apache" +
+      ".rocketmq.v2.Status\"\335\001\n\036ChangeInvisibleD" +
+      "urationRequest\022+\n\005group\030\001 \001(\0132\034.apache.r" +
+      "ocketmq.v2.Resource\022+\n\005topic\030\002 \001(\0132\034.apa" +
+      "che.rocketmq.v2.Resource\022\026\n\016receipt_hand" +
+      "le\030\003 \001(\t\0225\n\022invisible_duration\030\004 
\001(\0132\031.g" +
+      "oogle.protobuf.Duration\022\022\n\nmessage_id\030\005 " +
+      "\001(\t\"e\n\037ChangeInvisibleDurationResponse\022*" +
+      "\n\006status\030\001 \001(\0132\032.apache.rocketmq.v2.Stat" +
+      "us\022\026\n\016receipt_handle\030\002 \001(\t2\340\t\n\020Messaging" +
+      "Service\022]\n\nQueryRoute\022%.apache.rocketmq." +
+      "v2.QueryRouteRequest\032&.apache.rocketmq.v" +
+      "2.QueryRouteResponse\"\000\022Z\n\tHeartbeat\022$.ap" +
+      "ache.rocketmq.v2.HeartbeatRequest\032%.apac" +
+      "he.rocketmq.v2.HeartbeatResponse\"\000\022`\n\013Se" +
+      "ndMessage\022&.apache.rocketmq.v2.SendMessa" +
+      "geRequest\032\'.apache.rocketmq.v2.SendMessa" +
+      "geResponse\"\000\022l\n\017QueryAssignment\022*.apache" +
+      ".rocketmq.v2.QueryAssignmentRequest\032+.ap" +
+      "ache.rocketmq.v2.QueryAssignmentResponse" +
+      "\"\000\022k\n\016ReceiveMessage\022).apache.rocketmq.v" +
+      "2.ReceiveMessageRequest\032*.apache.rocketm" +
+      "q.v2.ReceiveMessageResponse\"\0000\001\022]\n\nAckMe" +
+      "ssage\022%.apache.rocketmq.v2.AckMessageReq" +
+      "uest\032&.apache.rocketmq.v2.AckMessageResp" +
+      "onse\"\000\022\234\001\n\037ForwardMessageToDeadLetterQue" +
+      "ue\022:.apache.rocketmq.v2.ForwardMessageTo" +
+      "DeadLetterQueueRequest\032;.apache.rocketmq" +
+      ".v2.ForwardMessageToDeadLetterQueueRespo" +
+      "nse\"\000\022i\n\016EndTransaction\022).apache.rocketm" +
+      "q.v2.EndTransactionRequest\032*.apache.rock" +
+      "etmq.v2.EndTransactionResponse\"\000\022]\n\tTele" +
+      "metry\022$.apache.rocketmq.v2.TelemetryComm" +
+      "and\032$.apache.rocketmq.v2.TelemetryComman" +
+      "d\"\000(\0010\001\022\204\001\n\027NotifyClientTermination\0222.ap" +
       "ache.rocketmq.v2.NotifyClientTermination" +
-      "Response\"\000\022\204\001\n\027ChangeInvisibleDuration\0222" +
-      ".apache.rocketmq.v2.ChangeInvisibleDurat" +
-      "ionRequest\0323.apache.rocketmq.v2.ChangeIn" +
-      "visibleDurationResponse\"\000B<\n\022apache.rock" +
-      
"etmq.v2B\tMQServiceP\001\240\001\001\330\001\001\252\002\022Apache.Rock" +
-      "etmq.V2b\006proto3"
+      "Request\0323.apache.rocketmq.v2.NotifyClien" +
+      "tTerminationResponse\"\000\022\204\001\n\027ChangeInvisib" +
+      "leDuration\0222.apache.rocketmq.v2.ChangeIn" +
+      "visibleDurationRequest\0323.apache.rocketmq" +
+      ".v2.ChangeInvisibleDurationResponse\"\000B<\n" +
+      
"\022apache.rocketmq.v2B\tMQServiceP\001\240\001\001\330\001\001\252\002" +
+      "\022Apache.Rocketmq.V2b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -435,128 +416,116 @@ public final class MQService {
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_AckMessageResponse_descriptor,
         new java.lang.String[] { "Status", "Entries", });
-    internal_static_apache_rocketmq_v2_NackMessageRequest_descriptor =
-      getDescriptor().getMessageTypes().get(12);
-    internal_static_apache_rocketmq_v2_NackMessageRequest_fieldAccessorTable = 
new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_apache_rocketmq_v2_NackMessageRequest_descriptor,
-        new java.lang.String[] { "Group", "Topic", "ReceiptHandle", 
"MessageId", "DeliveryAttempt", });
-    internal_static_apache_rocketmq_v2_NackMessageResponse_descriptor =
-      getDescriptor().getMessageTypes().get(13);
-    internal_static_apache_rocketmq_v2_NackMessageResponse_fieldAccessorTable 
= new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_apache_rocketmq_v2_NackMessageResponse_descriptor,
-        new java.lang.String[] { "Status", });
     
internal_static_apache_rocketmq_v2_ForwardMessageToDeadLetterQueueRequest_descriptor
 =
-      getDescriptor().getMessageTypes().get(14);
+      getDescriptor().getMessageTypes().get(12);
     
internal_static_apache_rocketmq_v2_ForwardMessageToDeadLetterQueueRequest_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_ForwardMessageToDeadLetterQueueRequest_descriptor,
         new java.lang.String[] { "Group", "Topic", "ReceiptHandle", 
"MessageId", "DeliveryAttempt", "MaxDeliveryAttempts", });
     
internal_static_apache_rocketmq_v2_ForwardMessageToDeadLetterQueueResponse_descriptor
 =
-      getDescriptor().getMessageTypes().get(15);
+      getDescriptor().getMessageTypes().get(13);
     
internal_static_apache_rocketmq_v2_ForwardMessageToDeadLetterQueueResponse_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_ForwardMessageToDeadLetterQueueResponse_descriptor,
         new java.lang.String[] { "Status", });
     internal_static_apache_rocketmq_v2_HeartbeatRequest_descriptor =
-      getDescriptor().getMessageTypes().get(16);
+      getDescriptor().getMessageTypes().get(14);
     internal_static_apache_rocketmq_v2_HeartbeatRequest_fieldAccessorTable = 
new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_HeartbeatRequest_descriptor,
         new java.lang.String[] { "Group", "Group", });
     internal_static_apache_rocketmq_v2_HeartbeatResponse_descriptor =
-      getDescriptor().getMessageTypes().get(17);
+      getDescriptor().getMessageTypes().get(15);
     internal_static_apache_rocketmq_v2_HeartbeatResponse_fieldAccessorTable = 
new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_HeartbeatResponse_descriptor,
         new java.lang.String[] { "Status", });
     internal_static_apache_rocketmq_v2_EndTransactionRequest_descriptor =
-      getDescriptor().getMessageTypes().get(18);
+      getDescriptor().getMessageTypes().get(16);
     
internal_static_apache_rocketmq_v2_EndTransactionRequest_fieldAccessorTable = 
new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_EndTransactionRequest_descriptor,
         new java.lang.String[] { "Topic", "MessageId", "TransactionId", 
"Resolution", "Source", "TraceContext", });
     internal_static_apache_rocketmq_v2_EndTransactionResponse_descriptor =
-      getDescriptor().getMessageTypes().get(19);
+      getDescriptor().getMessageTypes().get(17);
     
internal_static_apache_rocketmq_v2_EndTransactionResponse_fieldAccessorTable = 
new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_EndTransactionResponse_descriptor,
         new java.lang.String[] { "Status", });
     internal_static_apache_rocketmq_v2_PrintThreadStackTraceCommand_descriptor 
=
-      getDescriptor().getMessageTypes().get(20);
+      getDescriptor().getMessageTypes().get(18);
     
internal_static_apache_rocketmq_v2_PrintThreadStackTraceCommand_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_PrintThreadStackTraceCommand_descriptor,
         new java.lang.String[] { "Nonce", });
     internal_static_apache_rocketmq_v2_ThreadStackTrace_descriptor =
-      getDescriptor().getMessageTypes().get(21);
+      getDescriptor().getMessageTypes().get(19);
     internal_static_apache_rocketmq_v2_ThreadStackTrace_fieldAccessorTable = 
new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_ThreadStackTrace_descriptor,
         new java.lang.String[] { "Nonce", "Status", "ThreadStackTrace", 
"ThreadStackTrace", });
     internal_static_apache_rocketmq_v2_VerifyMessageCommand_descriptor =
-      getDescriptor().getMessageTypes().get(22);
+      getDescriptor().getMessageTypes().get(20);
     internal_static_apache_rocketmq_v2_VerifyMessageCommand_fieldAccessorTable 
= new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_VerifyMessageCommand_descriptor,
         new java.lang.String[] { "Nonce", "Message", });
     internal_static_apache_rocketmq_v2_VerifyMessageResult_descriptor =
-      getDescriptor().getMessageTypes().get(23);
+      getDescriptor().getMessageTypes().get(21);
     internal_static_apache_rocketmq_v2_VerifyMessageResult_fieldAccessorTable 
= new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_VerifyMessageResult_descriptor,
         new java.lang.String[] { "Nonce", "Status", });
     
internal_static_apache_rocketmq_v2_RecoverOrphanedTransactionCommand_descriptor 
=
-      getDescriptor().getMessageTypes().get(24);
+      getDescriptor().getMessageTypes().get(22);
     
internal_static_apache_rocketmq_v2_RecoverOrphanedTransactionCommand_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_RecoverOrphanedTransactionCommand_descriptor,
         new java.lang.String[] { "MessageQueue", 
"OrphanedTransactionalMessage", "TransactionId", });
     internal_static_apache_rocketmq_v2_Publishing_descriptor =
-      getDescriptor().getMessageTypes().get(25);
+      getDescriptor().getMessageTypes().get(23);
     internal_static_apache_rocketmq_v2_Publishing_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_Publishing_descriptor,
         new java.lang.String[] { "Topics", "CompressBodyThreshold", 
"MaxBodySize", });
     internal_static_apache_rocketmq_v2_Subscription_descriptor =
-      getDescriptor().getMessageTypes().get(26);
+      getDescriptor().getMessageTypes().get(24);
     internal_static_apache_rocketmq_v2_Subscription_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_Subscription_descriptor,
         new java.lang.String[] { "Group", "Subscriptions", "Fifo", 
"ReceiveBatchSize", "LongPollingTimeout", "Group", "Fifo", "ReceiveBatchSize", 
"LongPollingTimeout", });
     internal_static_apache_rocketmq_v2_Settings_descriptor =
-      getDescriptor().getMessageTypes().get(27);
+      getDescriptor().getMessageTypes().get(25);
     internal_static_apache_rocketmq_v2_Settings_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_Settings_descriptor,
         new java.lang.String[] { "ClientType", "AccessPoint", "BackoffPolicy", 
"RequestTimeout", "Publishing", "Subscription", "PubSub", "ClientType", 
"AccessPoint", "BackoffPolicy", "RequestTimeout", });
     internal_static_apache_rocketmq_v2_TelemetryCommand_descriptor =
-      getDescriptor().getMessageTypes().get(28);
+      getDescriptor().getMessageTypes().get(26);
     internal_static_apache_rocketmq_v2_TelemetryCommand_fieldAccessorTable = 
new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_TelemetryCommand_descriptor,
         new java.lang.String[] { "Settings", "ThreadStackTrace", 
"VerifyMessageResult", "RecoverOrphanedTransactionCommand", 
"PrintThreadStackTraceCommand", "VerifyMessageCommand", "Command", });
     
internal_static_apache_rocketmq_v2_NotifyClientTerminationRequest_descriptor =
-      getDescriptor().getMessageTypes().get(29);
+      getDescriptor().getMessageTypes().get(27);
     
internal_static_apache_rocketmq_v2_NotifyClientTerminationRequest_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_NotifyClientTerminationRequest_descriptor,
         new java.lang.String[] { "Group", "Group", });
     
internal_static_apache_rocketmq_v2_NotifyClientTerminationResponse_descriptor =
-      getDescriptor().getMessageTypes().get(30);
+      getDescriptor().getMessageTypes().get(28);
     
internal_static_apache_rocketmq_v2_NotifyClientTerminationResponse_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_NotifyClientTerminationResponse_descriptor,
         new java.lang.String[] { "Status", });
     
internal_static_apache_rocketmq_v2_ChangeInvisibleDurationRequest_descriptor =
-      getDescriptor().getMessageTypes().get(31);
+      getDescriptor().getMessageTypes().get(29);
     
internal_static_apache_rocketmq_v2_ChangeInvisibleDurationRequest_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_ChangeInvisibleDurationRequest_descriptor,
         new java.lang.String[] { "Group", "Topic", "ReceiptHandle", 
"InvisibleDuration", "MessageId", });
     
internal_static_apache_rocketmq_v2_ChangeInvisibleDurationResponse_descriptor =
-      getDescriptor().getMessageTypes().get(32);
+      getDescriptor().getMessageTypes().get(30);
     
internal_static_apache_rocketmq_v2_ChangeInvisibleDurationResponse_fieldAccessorTable
 = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         
internal_static_apache_rocketmq_v2_ChangeInvisibleDurationResponse_descriptor,
diff --git a/src/main/java/apache/rocketmq/v2/MessagingServiceGrpc.java 
b/src/main/java/apache/rocketmq/v2/MessagingServiceGrpc.java
index 1a6048b..8a9af12 100644
--- a/src/main/java/apache/rocketmq/v2/MessagingServiceGrpc.java
+++ b/src/main/java/apache/rocketmq/v2/MessagingServiceGrpc.java
@@ -212,37 +212,6 @@ public final class MessagingServiceGrpc {
     return getAckMessageMethod;
   }
 
-  private static volatile 
io.grpc.MethodDescriptor<apache.rocketmq.v2.NackMessageRequest,
-      apache.rocketmq.v2.NackMessageResponse> getNackMessageMethod;
-
-  @io.grpc.stub.annotations.RpcMethod(
-      fullMethodName = SERVICE_NAME + '/' + "NackMessage",
-      requestType = apache.rocketmq.v2.NackMessageRequest.class,
-      responseType = apache.rocketmq.v2.NackMessageResponse.class,
-      methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
-  public static io.grpc.MethodDescriptor<apache.rocketmq.v2.NackMessageRequest,
-      apache.rocketmq.v2.NackMessageResponse> getNackMessageMethod() {
-    io.grpc.MethodDescriptor<apache.rocketmq.v2.NackMessageRequest, 
apache.rocketmq.v2.NackMessageResponse> getNackMessageMethod;
-    if ((getNackMessageMethod = MessagingServiceGrpc.getNackMessageMethod) == 
null) {
-      synchronized (MessagingServiceGrpc.class) {
-        if ((getNackMessageMethod = MessagingServiceGrpc.getNackMessageMethod) 
== null) {
-          MessagingServiceGrpc.getNackMessageMethod = getNackMessageMethod =
-              io.grpc.MethodDescriptor.<apache.rocketmq.v2.NackMessageRequest, 
apache.rocketmq.v2.NackMessageResponse>newBuilder()
-              .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
-              .setFullMethodName(generateFullMethodName(SERVICE_NAME, 
"NackMessage"))
-              .setSampledToLocalTracing(true)
-              .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
-                  apache.rocketmq.v2.NackMessageRequest.getDefaultInstance()))
-              .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
-                  apache.rocketmq.v2.NackMessageResponse.getDefaultInstance()))
-              .setSchemaDescriptor(new 
MessagingServiceMethodDescriptorSupplier("NackMessage"))
-              .build();
-        }
-      }
-    }
-    return getNackMessageMethod;
-  }
-
   private static volatile 
io.grpc.MethodDescriptor<apache.rocketmq.v2.ForwardMessageToDeadLetterQueueRequest,
       apache.rocketmq.v2.ForwardMessageToDeadLetterQueueResponse> 
getForwardMessageToDeadLetterQueueMethod;
 
@@ -523,8 +492,8 @@ public final class MessagingServiceGrpc {
     /**
      * <pre>
      * Receives messages from the server in batch manner, returns a set of
-     * messages if success. The received messages should be acked or nacked 
after
-     * processed.
+     * messages if success. The received messages should be acked or 
redelivered
+     * after processed.
      * If the pending concurrent receive requests exceed the quota of the given
      * consumer group, returns `UNAVAILABLE`. If the upstream store server 
hangs,
      * return `DEADLINE_EXCEEDED` in a timely manner. If the corresponding 
topic
@@ -556,20 +525,6 @@ public final class MessagingServiceGrpc {
       
io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getAckMessageMethod(), 
responseObserver);
     }
 
-    /**
-     * <pre>
-     * Signals that the message has not been successfully processed. The 
message
-     * server should resend the message follow the retry policy defined at
-     * server-side.
-     * If the corresponding topic or consumer group doesn't exist, returns
-     * `NOT_FOUND`.
-     * </pre>
-     */
-    public void nackMessage(apache.rocketmq.v2.NackMessageRequest request,
-        io.grpc.stub.StreamObserver<apache.rocketmq.v2.NackMessageResponse> 
responseObserver) {
-      
io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getNackMessageMethod(), 
responseObserver);
-    }
-
     /**
      * <pre>
      * Forwards one message to dead letter queue if the max delivery attempts 
is
@@ -674,13 +629,6 @@ public final class MessagingServiceGrpc {
                 apache.rocketmq.v2.AckMessageRequest,
                 apache.rocketmq.v2.AckMessageResponse>(
                   this, METHODID_ACK_MESSAGE)))
-          .addMethod(
-            getNackMessageMethod(),
-            io.grpc.stub.ServerCalls.asyncUnaryCall(
-              new MethodHandlers<
-                apache.rocketmq.v2.NackMessageRequest,
-                apache.rocketmq.v2.NackMessageResponse>(
-                  this, METHODID_NACK_MESSAGE)))
           .addMethod(
             getForwardMessageToDeadLetterQueueMethod(),
             io.grpc.stub.ServerCalls.asyncUnaryCall(
@@ -815,8 +763,8 @@ public final class MessagingServiceGrpc {
     /**
      * <pre>
      * Receives messages from the server in batch manner, returns a set of
-     * messages if success. The received messages should be acked or nacked 
after
-     * processed.
+     * messages if success. The received messages should be acked or 
redelivered
+     * after processed.
      * If the pending concurrent receive requests exceed the quota of the given
      * consumer group, returns `UNAVAILABLE`. If the upstream store server 
hangs,
      * return `DEADLINE_EXCEEDED` in a timely manner. If the corresponding 
topic
@@ -850,21 +798,6 @@ public final class MessagingServiceGrpc {
           getChannel().newCall(getAckMessageMethod(), getCallOptions()), 
request, responseObserver);
     }
 
-    /**
-     * <pre>
-     * Signals that the message has not been successfully processed. The 
message
-     * server should resend the message follow the retry policy defined at
-     * server-side.
-     * If the corresponding topic or consumer group doesn't exist, returns
-     * `NOT_FOUND`.
-     * </pre>
-     */
-    public void nackMessage(apache.rocketmq.v2.NackMessageRequest request,
-        io.grpc.stub.StreamObserver<apache.rocketmq.v2.NackMessageResponse> 
responseObserver) {
-      io.grpc.stub.ClientCalls.asyncUnaryCall(
-          getChannel().newCall(getNackMessageMethod(), getCallOptions()), 
request, responseObserver);
-    }
-
     /**
      * <pre>
      * Forwards one message to dead letter queue if the max delivery attempts 
is
@@ -1022,8 +955,8 @@ public final class MessagingServiceGrpc {
     /**
      * <pre>
      * Receives messages from the server in batch manner, returns a set of
-     * messages if success. The received messages should be acked or nacked 
after
-     * processed.
+     * messages if success. The received messages should be acked or 
redelivered
+     * after processed.
      * If the pending concurrent receive requests exceed the quota of the given
      * consumer group, returns `UNAVAILABLE`. If the upstream store server 
hangs,
      * return `DEADLINE_EXCEEDED` in a timely manner. If the corresponding 
topic
@@ -1056,20 +989,6 @@ public final class MessagingServiceGrpc {
           getChannel(), getAckMessageMethod(), getCallOptions(), request);
     }
 
-    /**
-     * <pre>
-     * Signals that the message has not been successfully processed. The 
message
-     * server should resend the message follow the retry policy defined at
-     * server-side.
-     * If the corresponding topic or consumer group doesn't exist, returns
-     * `NOT_FOUND`.
-     * </pre>
-     */
-    public apache.rocketmq.v2.NackMessageResponse 
nackMessage(apache.rocketmq.v2.NackMessageRequest request) {
-      return io.grpc.stub.ClientCalls.blockingUnaryCall(
-          getChannel(), getNackMessageMethod(), getCallOptions(), request);
-    }
-
     /**
      * <pre>
      * Forwards one message to dead letter queue if the max delivery attempts 
is
@@ -1225,21 +1144,6 @@ public final class MessagingServiceGrpc {
           getChannel().newCall(getAckMessageMethod(), getCallOptions()), 
request);
     }
 
-    /**
-     * <pre>
-     * Signals that the message has not been successfully processed. The 
message
-     * server should resend the message follow the retry policy defined at
-     * server-side.
-     * If the corresponding topic or consumer group doesn't exist, returns
-     * `NOT_FOUND`.
-     * </pre>
-     */
-    public 
com.google.common.util.concurrent.ListenableFuture<apache.rocketmq.v2.NackMessageResponse>
 nackMessage(
-        apache.rocketmq.v2.NackMessageRequest request) {
-      return io.grpc.stub.ClientCalls.futureUnaryCall(
-          getChannel().newCall(getNackMessageMethod(), getCallOptions()), 
request);
-    }
-
     /**
      * <pre>
      * Forwards one message to dead letter queue if the max delivery attempts 
is
@@ -1297,12 +1201,11 @@ public final class MessagingServiceGrpc {
   private static final int METHODID_QUERY_ASSIGNMENT = 3;
   private static final int METHODID_RECEIVE_MESSAGE = 4;
   private static final int METHODID_ACK_MESSAGE = 5;
-  private static final int METHODID_NACK_MESSAGE = 6;
-  private static final int METHODID_FORWARD_MESSAGE_TO_DEAD_LETTER_QUEUE = 7;
-  private static final int METHODID_END_TRANSACTION = 8;
-  private static final int METHODID_NOTIFY_CLIENT_TERMINATION = 9;
-  private static final int METHODID_CHANGE_INVISIBLE_DURATION = 10;
-  private static final int METHODID_TELEMETRY = 11;
+  private static final int METHODID_FORWARD_MESSAGE_TO_DEAD_LETTER_QUEUE = 6;
+  private static final int METHODID_END_TRANSACTION = 7;
+  private static final int METHODID_NOTIFY_CLIENT_TERMINATION = 8;
+  private static final int METHODID_CHANGE_INVISIBLE_DURATION = 9;
+  private static final int METHODID_TELEMETRY = 10;
 
   private static final class MethodHandlers<Req, Resp> implements
       io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
@@ -1345,10 +1248,6 @@ public final class MessagingServiceGrpc {
           serviceImpl.ackMessage((apache.rocketmq.v2.AckMessageRequest) 
request,
               
(io.grpc.stub.StreamObserver<apache.rocketmq.v2.AckMessageResponse>) 
responseObserver);
           break;
-        case METHODID_NACK_MESSAGE:
-          serviceImpl.nackMessage((apache.rocketmq.v2.NackMessageRequest) 
request,
-              
(io.grpc.stub.StreamObserver<apache.rocketmq.v2.NackMessageResponse>) 
responseObserver);
-          break;
         case METHODID_FORWARD_MESSAGE_TO_DEAD_LETTER_QUEUE:
           
serviceImpl.forwardMessageToDeadLetterQueue((apache.rocketmq.v2.ForwardMessageToDeadLetterQueueRequest)
 request,
               
(io.grpc.stub.StreamObserver<apache.rocketmq.v2.ForwardMessageToDeadLetterQueueResponse>)
 responseObserver);
@@ -1435,7 +1334,6 @@ public final class MessagingServiceGrpc {
               .addMethod(getQueryAssignmentMethod())
               .addMethod(getReceiveMessageMethod())
               .addMethod(getAckMessageMethod())
-              .addMethod(getNackMessageMethod())
               .addMethod(getForwardMessageToDeadLetterQueueMethod())
               .addMethod(getEndTransactionMethod())
               .addMethod(getTelemetryMethod())
diff --git a/src/main/java/apache/rocketmq/v2/NackMessageRequest.java 
b/src/main/java/apache/rocketmq/v2/NackMessageRequest.java
deleted file mode 100644
index c66d1ba..0000000
--- a/src/main/java/apache/rocketmq/v2/NackMessageRequest.java
+++ /dev/null
@@ -1,1135 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: apache/rocketmq/v2/service.proto
-
-package apache.rocketmq.v2;
-
-/**
- * Protobuf type {@code apache.rocketmq.v2.NackMessageRequest}
- */
-public final class NackMessageRequest extends
-    com.google.protobuf.GeneratedMessageV3 implements
-    // 
@@protoc_insertion_point(message_implements:apache.rocketmq.v2.NackMessageRequest)
-    NackMessageRequestOrBuilder {
-private static final long serialVersionUID = 0L;
-  // Use NackMessageRequest.newBuilder() to construct.
-  private NackMessageRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> 
builder) {
-    super(builder);
-  }
-  private NackMessageRequest() {
-    receiptHandle_ = "";
-    messageId_ = "";
-  }
-
-  @java.lang.Override
-  @SuppressWarnings({"unused"})
-  protected java.lang.Object newInstance(
-      UnusedPrivateParameter unused) {
-    return new NackMessageRequest();
-  }
-
-  @java.lang.Override
-  public final com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return this.unknownFields;
-  }
-  private NackMessageRequest(
-      com.google.protobuf.CodedInputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    this();
-    if (extensionRegistry == null) {
-      throw new java.lang.NullPointerException();
-    }
-    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-        com.google.protobuf.UnknownFieldSet.newBuilder();
-    try {
-      boolean done = false;
-      while (!done) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            done = true;
-            break;
-          case 10: {
-            apache.rocketmq.v2.Resource.Builder subBuilder = null;
-            if (group_ != null) {
-              subBuilder = group_.toBuilder();
-            }
-            group_ = input.readMessage(apache.rocketmq.v2.Resource.parser(), 
extensionRegistry);
-            if (subBuilder != null) {
-              subBuilder.mergeFrom(group_);
-              group_ = subBuilder.buildPartial();
-            }
-
-            break;
-          }
-          case 18: {
-            apache.rocketmq.v2.Resource.Builder subBuilder = null;
-            if (topic_ != null) {
-              subBuilder = topic_.toBuilder();
-            }
-            topic_ = input.readMessage(apache.rocketmq.v2.Resource.parser(), 
extensionRegistry);
-            if (subBuilder != null) {
-              subBuilder.mergeFrom(topic_);
-              topic_ = subBuilder.buildPartial();
-            }
-
-            break;
-          }
-          case 26: {
-            java.lang.String s = input.readStringRequireUtf8();
-
-            receiptHandle_ = s;
-            break;
-          }
-          case 34: {
-            java.lang.String s = input.readStringRequireUtf8();
-
-            messageId_ = s;
-            break;
-          }
-          case 40: {
-
-            deliveryAttempt_ = input.readInt32();
-            break;
-          }
-          default: {
-            if (!parseUnknownField(
-                input, unknownFields, extensionRegistry, tag)) {
-              done = true;
-            }
-            break;
-          }
-        }
-      }
-    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.setUnfinishedMessage(this);
-    } catch (java.io.IOException e) {
-      throw new com.google.protobuf.InvalidProtocolBufferException(
-          e).setUnfinishedMessage(this);
-    } finally {
-      this.unknownFields = unknownFields.build();
-      makeExtensionsImmutable();
-    }
-  }
-  public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
-    return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageRequest_descriptor;
-  }
-
-  @java.lang.Override
-  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageRequest_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            apache.rocketmq.v2.NackMessageRequest.class, 
apache.rocketmq.v2.NackMessageRequest.Builder.class);
-  }
-
-  public static final int GROUP_FIELD_NUMBER = 1;
-  private apache.rocketmq.v2.Resource group_;
-  /**
-   * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-   * @return Whether the group field is set.
-   */
-  @java.lang.Override
-  public boolean hasGroup() {
-    return group_ != null;
-  }
-  /**
-   * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-   * @return The group.
-   */
-  @java.lang.Override
-  public apache.rocketmq.v2.Resource getGroup() {
-    return group_ == null ? apache.rocketmq.v2.Resource.getDefaultInstance() : 
group_;
-  }
-  /**
-   * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-   */
-  @java.lang.Override
-  public apache.rocketmq.v2.ResourceOrBuilder getGroupOrBuilder() {
-    return getGroup();
-  }
-
-  public static final int TOPIC_FIELD_NUMBER = 2;
-  private apache.rocketmq.v2.Resource topic_;
-  /**
-   * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-   * @return Whether the topic field is set.
-   */
-  @java.lang.Override
-  public boolean hasTopic() {
-    return topic_ != null;
-  }
-  /**
-   * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-   * @return The topic.
-   */
-  @java.lang.Override
-  public apache.rocketmq.v2.Resource getTopic() {
-    return topic_ == null ? apache.rocketmq.v2.Resource.getDefaultInstance() : 
topic_;
-  }
-  /**
-   * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-   */
-  @java.lang.Override
-  public apache.rocketmq.v2.ResourceOrBuilder getTopicOrBuilder() {
-    return getTopic();
-  }
-
-  public static final int RECEIPT_HANDLE_FIELD_NUMBER = 3;
-  private volatile java.lang.Object receiptHandle_;
-  /**
-   * <code>string receipt_handle = 3;</code>
-   * @return The receiptHandle.
-   */
-  @java.lang.Override
-  public java.lang.String getReceiptHandle() {
-    java.lang.Object ref = receiptHandle_;
-    if (ref instanceof java.lang.String) {
-      return (java.lang.String) ref;
-    } else {
-      com.google.protobuf.ByteString bs = 
-          (com.google.protobuf.ByteString) ref;
-      java.lang.String s = bs.toStringUtf8();
-      receiptHandle_ = s;
-      return s;
-    }
-  }
-  /**
-   * <code>string receipt_handle = 3;</code>
-   * @return The bytes for receiptHandle.
-   */
-  @java.lang.Override
-  public com.google.protobuf.ByteString
-      getReceiptHandleBytes() {
-    java.lang.Object ref = receiptHandle_;
-    if (ref instanceof java.lang.String) {
-      com.google.protobuf.ByteString b = 
-          com.google.protobuf.ByteString.copyFromUtf8(
-              (java.lang.String) ref);
-      receiptHandle_ = b;
-      return b;
-    } else {
-      return (com.google.protobuf.ByteString) ref;
-    }
-  }
-
-  public static final int MESSAGE_ID_FIELD_NUMBER = 4;
-  private volatile java.lang.Object messageId_;
-  /**
-   * <code>string message_id = 4;</code>
-   * @return The messageId.
-   */
-  @java.lang.Override
-  public java.lang.String getMessageId() {
-    java.lang.Object ref = messageId_;
-    if (ref instanceof java.lang.String) {
-      return (java.lang.String) ref;
-    } else {
-      com.google.protobuf.ByteString bs = 
-          (com.google.protobuf.ByteString) ref;
-      java.lang.String s = bs.toStringUtf8();
-      messageId_ = s;
-      return s;
-    }
-  }
-  /**
-   * <code>string message_id = 4;</code>
-   * @return The bytes for messageId.
-   */
-  @java.lang.Override
-  public com.google.protobuf.ByteString
-      getMessageIdBytes() {
-    java.lang.Object ref = messageId_;
-    if (ref instanceof java.lang.String) {
-      com.google.protobuf.ByteString b = 
-          com.google.protobuf.ByteString.copyFromUtf8(
-              (java.lang.String) ref);
-      messageId_ = b;
-      return b;
-    } else {
-      return (com.google.protobuf.ByteString) ref;
-    }
-  }
-
-  public static final int DELIVERY_ATTEMPT_FIELD_NUMBER = 5;
-  private int deliveryAttempt_;
-  /**
-   * <code>int32 delivery_attempt = 5;</code>
-   * @return The deliveryAttempt.
-   */
-  @java.lang.Override
-  public int getDeliveryAttempt() {
-    return deliveryAttempt_;
-  }
-
-  private byte memoizedIsInitialized = -1;
-  @java.lang.Override
-  public final boolean isInitialized() {
-    byte isInitialized = memoizedIsInitialized;
-    if (isInitialized == 1) return true;
-    if (isInitialized == 0) return false;
-
-    memoizedIsInitialized = 1;
-    return true;
-  }
-
-  @java.lang.Override
-  public void writeTo(com.google.protobuf.CodedOutputStream output)
-                      throws java.io.IOException {
-    if (group_ != null) {
-      output.writeMessage(1, getGroup());
-    }
-    if (topic_ != null) {
-      output.writeMessage(2, getTopic());
-    }
-    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(receiptHandle_)) 
{
-      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, 
receiptHandle_);
-    }
-    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(messageId_)) {
-      com.google.protobuf.GeneratedMessageV3.writeString(output, 4, 
messageId_);
-    }
-    if (deliveryAttempt_ != 0) {
-      output.writeInt32(5, deliveryAttempt_);
-    }
-    unknownFields.writeTo(output);
-  }
-
-  @java.lang.Override
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    if (group_ != null) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(1, getGroup());
-    }
-    if (topic_ != null) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(2, getTopic());
-    }
-    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(receiptHandle_)) 
{
-      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, 
receiptHandle_);
-    }
-    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(messageId_)) {
-      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, 
messageId_);
-    }
-    if (deliveryAttempt_ != 0) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt32Size(5, deliveryAttempt_);
-    }
-    size += unknownFields.getSerializedSize();
-    memoizedSize = size;
-    return size;
-  }
-
-  @java.lang.Override
-  public boolean equals(final java.lang.Object obj) {
-    if (obj == this) {
-     return true;
-    }
-    if (!(obj instanceof apache.rocketmq.v2.NackMessageRequest)) {
-      return super.equals(obj);
-    }
-    apache.rocketmq.v2.NackMessageRequest other = 
(apache.rocketmq.v2.NackMessageRequest) obj;
-
-    if (hasGroup() != other.hasGroup()) return false;
-    if (hasGroup()) {
-      if (!getGroup()
-          .equals(other.getGroup())) return false;
-    }
-    if (hasTopic() != other.hasTopic()) return false;
-    if (hasTopic()) {
-      if (!getTopic()
-          .equals(other.getTopic())) return false;
-    }
-    if (!getReceiptHandle()
-        .equals(other.getReceiptHandle())) return false;
-    if (!getMessageId()
-        .equals(other.getMessageId())) return false;
-    if (getDeliveryAttempt()
-        != other.getDeliveryAttempt()) return false;
-    if (!unknownFields.equals(other.unknownFields)) return false;
-    return true;
-  }
-
-  @java.lang.Override
-  public int hashCode() {
-    if (memoizedHashCode != 0) {
-      return memoizedHashCode;
-    }
-    int hash = 41;
-    hash = (19 * hash) + getDescriptor().hashCode();
-    if (hasGroup()) {
-      hash = (37 * hash) + GROUP_FIELD_NUMBER;
-      hash = (53 * hash) + getGroup().hashCode();
-    }
-    if (hasTopic()) {
-      hash = (37 * hash) + TOPIC_FIELD_NUMBER;
-      hash = (53 * hash) + getTopic().hashCode();
-    }
-    hash = (37 * hash) + RECEIPT_HANDLE_FIELD_NUMBER;
-    hash = (53 * hash) + getReceiptHandle().hashCode();
-    hash = (37 * hash) + MESSAGE_ID_FIELD_NUMBER;
-    hash = (53 * hash) + getMessageId().hashCode();
-    hash = (37 * hash) + DELIVERY_ATTEMPT_FIELD_NUMBER;
-    hash = (53 * hash) + getDeliveryAttempt();
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      java.nio.ByteBuffer data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      java.nio.ByteBuffer data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      com.google.protobuf.ByteString data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      com.google.protobuf.ByteString data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(byte[] data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      byte[] data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest 
parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      java.io.InputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest 
parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseDelimitedFrom(
-      java.io.InputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static apache.rocketmq.v2.NackMessageRequest parseFrom(
-      com.google.protobuf.CodedInputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input, extensionRegistry);
-  }
-
-  @java.lang.Override
-  public Builder newBuilderForType() { return newBuilder(); }
-  public static Builder newBuilder() {
-    return DEFAULT_INSTANCE.toBuilder();
-  }
-  public static Builder newBuilder(apache.rocketmq.v2.NackMessageRequest 
prototype) {
-    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
-  }
-  @java.lang.Override
-  public Builder toBuilder() {
-    return this == DEFAULT_INSTANCE
-        ? new Builder() : new Builder().mergeFrom(this);
-  }
-
-  @java.lang.Override
-  protected Builder newBuilderForType(
-      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-    Builder builder = new Builder(parent);
-    return builder;
-  }
-  /**
-   * Protobuf type {@code apache.rocketmq.v2.NackMessageRequest}
-   */
-  public static final class Builder extends
-      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // 
@@protoc_insertion_point(builder_implements:apache.rocketmq.v2.NackMessageRequest)
-      apache.rocketmq.v2.NackMessageRequestOrBuilder {
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageRequest_descriptor;
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageRequest_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              apache.rocketmq.v2.NackMessageRequest.class, 
apache.rocketmq.v2.NackMessageRequest.Builder.class);
-    }
-
-    // Construct using apache.rocketmq.v2.NackMessageRequest.newBuilder()
-    private Builder() {
-      maybeForceBuilderInitialization();
-    }
-
-    private Builder(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-      super(parent);
-      maybeForceBuilderInitialization();
-    }
-    private void maybeForceBuilderInitialization() {
-      if (com.google.protobuf.GeneratedMessageV3
-              .alwaysUseFieldBuilders) {
-      }
-    }
-    @java.lang.Override
-    public Builder clear() {
-      super.clear();
-      if (groupBuilder_ == null) {
-        group_ = null;
-      } else {
-        group_ = null;
-        groupBuilder_ = null;
-      }
-      if (topicBuilder_ == null) {
-        topic_ = null;
-      } else {
-        topic_ = null;
-        topicBuilder_ = null;
-      }
-      receiptHandle_ = "";
-
-      messageId_ = "";
-
-      deliveryAttempt_ = 0;
-
-      return this;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageRequest_descriptor;
-    }
-
-    @java.lang.Override
-    public apache.rocketmq.v2.NackMessageRequest getDefaultInstanceForType() {
-      return apache.rocketmq.v2.NackMessageRequest.getDefaultInstance();
-    }
-
-    @java.lang.Override
-    public apache.rocketmq.v2.NackMessageRequest build() {
-      apache.rocketmq.v2.NackMessageRequest result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    @java.lang.Override
-    public apache.rocketmq.v2.NackMessageRequest buildPartial() {
-      apache.rocketmq.v2.NackMessageRequest result = new 
apache.rocketmq.v2.NackMessageRequest(this);
-      if (groupBuilder_ == null) {
-        result.group_ = group_;
-      } else {
-        result.group_ = groupBuilder_.build();
-      }
-      if (topicBuilder_ == null) {
-        result.topic_ = topic_;
-      } else {
-        result.topic_ = topicBuilder_.build();
-      }
-      result.receiptHandle_ = receiptHandle_;
-      result.messageId_ = messageId_;
-      result.deliveryAttempt_ = deliveryAttempt_;
-      onBuilt();
-      return result;
-    }
-
-    @java.lang.Override
-    public Builder clone() {
-      return super.clone();
-    }
-    @java.lang.Override
-    public Builder setField(
-        com.google.protobuf.Descriptors.FieldDescriptor field,
-        java.lang.Object value) {
-      return super.setField(field, value);
-    }
-    @java.lang.Override
-    public Builder clearField(
-        com.google.protobuf.Descriptors.FieldDescriptor field) {
-      return super.clearField(field);
-    }
-    @java.lang.Override
-    public Builder clearOneof(
-        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-      return super.clearOneof(oneof);
-    }
-    @java.lang.Override
-    public Builder setRepeatedField(
-        com.google.protobuf.Descriptors.FieldDescriptor field,
-        int index, java.lang.Object value) {
-      return super.setRepeatedField(field, index, value);
-    }
-    @java.lang.Override
-    public Builder addRepeatedField(
-        com.google.protobuf.Descriptors.FieldDescriptor field,
-        java.lang.Object value) {
-      return super.addRepeatedField(field, value);
-    }
-    @java.lang.Override
-    public Builder mergeFrom(com.google.protobuf.Message other) {
-      if (other instanceof apache.rocketmq.v2.NackMessageRequest) {
-        return mergeFrom((apache.rocketmq.v2.NackMessageRequest)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(apache.rocketmq.v2.NackMessageRequest other) {
-      if (other == apache.rocketmq.v2.NackMessageRequest.getDefaultInstance()) 
return this;
-      if (other.hasGroup()) {
-        mergeGroup(other.getGroup());
-      }
-      if (other.hasTopic()) {
-        mergeTopic(other.getTopic());
-      }
-      if (!other.getReceiptHandle().isEmpty()) {
-        receiptHandle_ = other.receiptHandle_;
-        onChanged();
-      }
-      if (!other.getMessageId().isEmpty()) {
-        messageId_ = other.messageId_;
-        onChanged();
-      }
-      if (other.getDeliveryAttempt() != 0) {
-        setDeliveryAttempt(other.getDeliveryAttempt());
-      }
-      this.mergeUnknownFields(other.unknownFields);
-      onChanged();
-      return this;
-    }
-
-    @java.lang.Override
-    public final boolean isInitialized() {
-      return true;
-    }
-
-    @java.lang.Override
-    public Builder mergeFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      apache.rocketmq.v2.NackMessageRequest parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (apache.rocketmq.v2.NackMessageRequest) 
e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-
-    private apache.rocketmq.v2.Resource group_;
-    private com.google.protobuf.SingleFieldBuilderV3<
-        apache.rocketmq.v2.Resource, apache.rocketmq.v2.Resource.Builder, 
apache.rocketmq.v2.ResourceOrBuilder> groupBuilder_;
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     * @return Whether the group field is set.
-     */
-    public boolean hasGroup() {
-      return groupBuilder_ != null || group_ != null;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     * @return The group.
-     */
-    public apache.rocketmq.v2.Resource getGroup() {
-      if (groupBuilder_ == null) {
-        return group_ == null ? 
apache.rocketmq.v2.Resource.getDefaultInstance() : group_;
-      } else {
-        return groupBuilder_.getMessage();
-      }
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     */
-    public Builder setGroup(apache.rocketmq.v2.Resource value) {
-      if (groupBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        group_ = value;
-        onChanged();
-      } else {
-        groupBuilder_.setMessage(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     */
-    public Builder setGroup(
-        apache.rocketmq.v2.Resource.Builder builderForValue) {
-      if (groupBuilder_ == null) {
-        group_ = builderForValue.build();
-        onChanged();
-      } else {
-        groupBuilder_.setMessage(builderForValue.build());
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     */
-    public Builder mergeGroup(apache.rocketmq.v2.Resource value) {
-      if (groupBuilder_ == null) {
-        if (group_ != null) {
-          group_ =
-            
apache.rocketmq.v2.Resource.newBuilder(group_).mergeFrom(value).buildPartial();
-        } else {
-          group_ = value;
-        }
-        onChanged();
-      } else {
-        groupBuilder_.mergeFrom(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     */
-    public Builder clearGroup() {
-      if (groupBuilder_ == null) {
-        group_ = null;
-        onChanged();
-      } else {
-        group_ = null;
-        groupBuilder_ = null;
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     */
-    public apache.rocketmq.v2.Resource.Builder getGroupBuilder() {
-      
-      onChanged();
-      return getGroupFieldBuilder().getBuilder();
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     */
-    public apache.rocketmq.v2.ResourceOrBuilder getGroupOrBuilder() {
-      if (groupBuilder_ != null) {
-        return groupBuilder_.getMessageOrBuilder();
-      } else {
-        return group_ == null ?
-            apache.rocketmq.v2.Resource.getDefaultInstance() : group_;
-      }
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-     */
-    private com.google.protobuf.SingleFieldBuilderV3<
-        apache.rocketmq.v2.Resource, apache.rocketmq.v2.Resource.Builder, 
apache.rocketmq.v2.ResourceOrBuilder> 
-        getGroupFieldBuilder() {
-      if (groupBuilder_ == null) {
-        groupBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-            apache.rocketmq.v2.Resource, apache.rocketmq.v2.Resource.Builder, 
apache.rocketmq.v2.ResourceOrBuilder>(
-                getGroup(),
-                getParentForChildren(),
-                isClean());
-        group_ = null;
-      }
-      return groupBuilder_;
-    }
-
-    private apache.rocketmq.v2.Resource topic_;
-    private com.google.protobuf.SingleFieldBuilderV3<
-        apache.rocketmq.v2.Resource, apache.rocketmq.v2.Resource.Builder, 
apache.rocketmq.v2.ResourceOrBuilder> topicBuilder_;
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     * @return Whether the topic field is set.
-     */
-    public boolean hasTopic() {
-      return topicBuilder_ != null || topic_ != null;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     * @return The topic.
-     */
-    public apache.rocketmq.v2.Resource getTopic() {
-      if (topicBuilder_ == null) {
-        return topic_ == null ? 
apache.rocketmq.v2.Resource.getDefaultInstance() : topic_;
-      } else {
-        return topicBuilder_.getMessage();
-      }
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     */
-    public Builder setTopic(apache.rocketmq.v2.Resource value) {
-      if (topicBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        topic_ = value;
-        onChanged();
-      } else {
-        topicBuilder_.setMessage(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     */
-    public Builder setTopic(
-        apache.rocketmq.v2.Resource.Builder builderForValue) {
-      if (topicBuilder_ == null) {
-        topic_ = builderForValue.build();
-        onChanged();
-      } else {
-        topicBuilder_.setMessage(builderForValue.build());
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     */
-    public Builder mergeTopic(apache.rocketmq.v2.Resource value) {
-      if (topicBuilder_ == null) {
-        if (topic_ != null) {
-          topic_ =
-            
apache.rocketmq.v2.Resource.newBuilder(topic_).mergeFrom(value).buildPartial();
-        } else {
-          topic_ = value;
-        }
-        onChanged();
-      } else {
-        topicBuilder_.mergeFrom(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     */
-    public Builder clearTopic() {
-      if (topicBuilder_ == null) {
-        topic_ = null;
-        onChanged();
-      } else {
-        topic_ = null;
-        topicBuilder_ = null;
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     */
-    public apache.rocketmq.v2.Resource.Builder getTopicBuilder() {
-      
-      onChanged();
-      return getTopicFieldBuilder().getBuilder();
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     */
-    public apache.rocketmq.v2.ResourceOrBuilder getTopicOrBuilder() {
-      if (topicBuilder_ != null) {
-        return topicBuilder_.getMessageOrBuilder();
-      } else {
-        return topic_ == null ?
-            apache.rocketmq.v2.Resource.getDefaultInstance() : topic_;
-      }
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-     */
-    private com.google.protobuf.SingleFieldBuilderV3<
-        apache.rocketmq.v2.Resource, apache.rocketmq.v2.Resource.Builder, 
apache.rocketmq.v2.ResourceOrBuilder> 
-        getTopicFieldBuilder() {
-      if (topicBuilder_ == null) {
-        topicBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-            apache.rocketmq.v2.Resource, apache.rocketmq.v2.Resource.Builder, 
apache.rocketmq.v2.ResourceOrBuilder>(
-                getTopic(),
-                getParentForChildren(),
-                isClean());
-        topic_ = null;
-      }
-      return topicBuilder_;
-    }
-
-    private java.lang.Object receiptHandle_ = "";
-    /**
-     * <code>string receipt_handle = 3;</code>
-     * @return The receiptHandle.
-     */
-    public java.lang.String getReceiptHandle() {
-      java.lang.Object ref = receiptHandle_;
-      if (!(ref instanceof java.lang.String)) {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        receiptHandle_ = s;
-        return s;
-      } else {
-        return (java.lang.String) ref;
-      }
-    }
-    /**
-     * <code>string receipt_handle = 3;</code>
-     * @return The bytes for receiptHandle.
-     */
-    public com.google.protobuf.ByteString
-        getReceiptHandleBytes() {
-      java.lang.Object ref = receiptHandle_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        receiptHandle_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    /**
-     * <code>string receipt_handle = 3;</code>
-     * @param value The receiptHandle to set.
-     * @return This builder for chaining.
-     */
-    public Builder setReceiptHandle(
-        java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  
-      receiptHandle_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string receipt_handle = 3;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearReceiptHandle() {
-      
-      receiptHandle_ = getDefaultInstance().getReceiptHandle();
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string receipt_handle = 3;</code>
-     * @param value The bytes for receiptHandle to set.
-     * @return This builder for chaining.
-     */
-    public Builder setReceiptHandleBytes(
-        com.google.protobuf.ByteString value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-      
-      receiptHandle_ = value;
-      onChanged();
-      return this;
-    }
-
-    private java.lang.Object messageId_ = "";
-    /**
-     * <code>string message_id = 4;</code>
-     * @return The messageId.
-     */
-    public java.lang.String getMessageId() {
-      java.lang.Object ref = messageId_;
-      if (!(ref instanceof java.lang.String)) {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        messageId_ = s;
-        return s;
-      } else {
-        return (java.lang.String) ref;
-      }
-    }
-    /**
-     * <code>string message_id = 4;</code>
-     * @return The bytes for messageId.
-     */
-    public com.google.protobuf.ByteString
-        getMessageIdBytes() {
-      java.lang.Object ref = messageId_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        messageId_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    /**
-     * <code>string message_id = 4;</code>
-     * @param value The messageId to set.
-     * @return This builder for chaining.
-     */
-    public Builder setMessageId(
-        java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  
-      messageId_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string message_id = 4;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearMessageId() {
-      
-      messageId_ = getDefaultInstance().getMessageId();
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string message_id = 4;</code>
-     * @param value The bytes for messageId to set.
-     * @return This builder for chaining.
-     */
-    public Builder setMessageIdBytes(
-        com.google.protobuf.ByteString value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-      
-      messageId_ = value;
-      onChanged();
-      return this;
-    }
-
-    private int deliveryAttempt_ ;
-    /**
-     * <code>int32 delivery_attempt = 5;</code>
-     * @return The deliveryAttempt.
-     */
-    @java.lang.Override
-    public int getDeliveryAttempt() {
-      return deliveryAttempt_;
-    }
-    /**
-     * <code>int32 delivery_attempt = 5;</code>
-     * @param value The deliveryAttempt to set.
-     * @return This builder for chaining.
-     */
-    public Builder setDeliveryAttempt(int value) {
-      
-      deliveryAttempt_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int32 delivery_attempt = 5;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearDeliveryAttempt() {
-      
-      deliveryAttempt_ = 0;
-      onChanged();
-      return this;
-    }
-    @java.lang.Override
-    public final Builder setUnknownFields(
-        final com.google.protobuf.UnknownFieldSet unknownFields) {
-      return super.setUnknownFields(unknownFields);
-    }
-
-    @java.lang.Override
-    public final Builder mergeUnknownFields(
-        final com.google.protobuf.UnknownFieldSet unknownFields) {
-      return super.mergeUnknownFields(unknownFields);
-    }
-
-
-    // 
@@protoc_insertion_point(builder_scope:apache.rocketmq.v2.NackMessageRequest)
-  }
-
-  // 
@@protoc_insertion_point(class_scope:apache.rocketmq.v2.NackMessageRequest)
-  private static final apache.rocketmq.v2.NackMessageRequest DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new apache.rocketmq.v2.NackMessageRequest();
-  }
-
-  public static apache.rocketmq.v2.NackMessageRequest getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final com.google.protobuf.Parser<NackMessageRequest>
-      PARSER = new com.google.protobuf.AbstractParser<NackMessageRequest>() {
-    @java.lang.Override
-    public NackMessageRequest parsePartialFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return new NackMessageRequest(input, extensionRegistry);
-    }
-  };
-
-  public static com.google.protobuf.Parser<NackMessageRequest> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.google.protobuf.Parser<NackMessageRequest> getParserForType() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public apache.rocketmq.v2.NackMessageRequest getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-
diff --git a/src/main/java/apache/rocketmq/v2/NackMessageRequestOrBuilder.java 
b/src/main/java/apache/rocketmq/v2/NackMessageRequestOrBuilder.java
deleted file mode 100644
index 7d9c491..0000000
--- a/src/main/java/apache/rocketmq/v2/NackMessageRequestOrBuilder.java
+++ /dev/null
@@ -1,69 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: apache/rocketmq/v2/service.proto
-
-package apache.rocketmq.v2;
-
-public interface NackMessageRequestOrBuilder extends
-    // 
@@protoc_insertion_point(interface_extends:apache.rocketmq.v2.NackMessageRequest)
-    com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-   * @return Whether the group field is set.
-   */
-  boolean hasGroup();
-  /**
-   * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-   * @return The group.
-   */
-  apache.rocketmq.v2.Resource getGroup();
-  /**
-   * <code>.apache.rocketmq.v2.Resource group = 1;</code>
-   */
-  apache.rocketmq.v2.ResourceOrBuilder getGroupOrBuilder();
-
-  /**
-   * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-   * @return Whether the topic field is set.
-   */
-  boolean hasTopic();
-  /**
-   * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-   * @return The topic.
-   */
-  apache.rocketmq.v2.Resource getTopic();
-  /**
-   * <code>.apache.rocketmq.v2.Resource topic = 2;</code>
-   */
-  apache.rocketmq.v2.ResourceOrBuilder getTopicOrBuilder();
-
-  /**
-   * <code>string receipt_handle = 3;</code>
-   * @return The receiptHandle.
-   */
-  java.lang.String getReceiptHandle();
-  /**
-   * <code>string receipt_handle = 3;</code>
-   * @return The bytes for receiptHandle.
-   */
-  com.google.protobuf.ByteString
-      getReceiptHandleBytes();
-
-  /**
-   * <code>string message_id = 4;</code>
-   * @return The messageId.
-   */
-  java.lang.String getMessageId();
-  /**
-   * <code>string message_id = 4;</code>
-   * @return The bytes for messageId.
-   */
-  com.google.protobuf.ByteString
-      getMessageIdBytes();
-
-  /**
-   * <code>int32 delivery_attempt = 5;</code>
-   * @return The deliveryAttempt.
-   */
-  int getDeliveryAttempt();
-}
diff --git a/src/main/java/apache/rocketmq/v2/NackMessageResponse.java 
b/src/main/java/apache/rocketmq/v2/NackMessageResponse.java
deleted file mode 100644
index e5f179a..0000000
--- a/src/main/java/apache/rocketmq/v2/NackMessageResponse.java
+++ /dev/null
@@ -1,607 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: apache/rocketmq/v2/service.proto
-
-package apache.rocketmq.v2;
-
-/**
- * Protobuf type {@code apache.rocketmq.v2.NackMessageResponse}
- */
-public final class NackMessageResponse extends
-    com.google.protobuf.GeneratedMessageV3 implements
-    // 
@@protoc_insertion_point(message_implements:apache.rocketmq.v2.NackMessageResponse)
-    NackMessageResponseOrBuilder {
-private static final long serialVersionUID = 0L;
-  // Use NackMessageResponse.newBuilder() to construct.
-  private 
NackMessageResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-    super(builder);
-  }
-  private NackMessageResponse() {
-  }
-
-  @java.lang.Override
-  @SuppressWarnings({"unused"})
-  protected java.lang.Object newInstance(
-      UnusedPrivateParameter unused) {
-    return new NackMessageResponse();
-  }
-
-  @java.lang.Override
-  public final com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return this.unknownFields;
-  }
-  private NackMessageResponse(
-      com.google.protobuf.CodedInputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    this();
-    if (extensionRegistry == null) {
-      throw new java.lang.NullPointerException();
-    }
-    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-        com.google.protobuf.UnknownFieldSet.newBuilder();
-    try {
-      boolean done = false;
-      while (!done) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            done = true;
-            break;
-          case 10: {
-            apache.rocketmq.v2.Status.Builder subBuilder = null;
-            if (status_ != null) {
-              subBuilder = status_.toBuilder();
-            }
-            status_ = input.readMessage(apache.rocketmq.v2.Status.parser(), 
extensionRegistry);
-            if (subBuilder != null) {
-              subBuilder.mergeFrom(status_);
-              status_ = subBuilder.buildPartial();
-            }
-
-            break;
-          }
-          default: {
-            if (!parseUnknownField(
-                input, unknownFields, extensionRegistry, tag)) {
-              done = true;
-            }
-            break;
-          }
-        }
-      }
-    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.setUnfinishedMessage(this);
-    } catch (java.io.IOException e) {
-      throw new com.google.protobuf.InvalidProtocolBufferException(
-          e).setUnfinishedMessage(this);
-    } finally {
-      this.unknownFields = unknownFields.build();
-      makeExtensionsImmutable();
-    }
-  }
-  public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
-    return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageResponse_descriptor;
-  }
-
-  @java.lang.Override
-  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageResponse_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            apache.rocketmq.v2.NackMessageResponse.class, 
apache.rocketmq.v2.NackMessageResponse.Builder.class);
-  }
-
-  public static final int STATUS_FIELD_NUMBER = 1;
-  private apache.rocketmq.v2.Status status_;
-  /**
-   * <code>.apache.rocketmq.v2.Status status = 1;</code>
-   * @return Whether the status field is set.
-   */
-  @java.lang.Override
-  public boolean hasStatus() {
-    return status_ != null;
-  }
-  /**
-   * <code>.apache.rocketmq.v2.Status status = 1;</code>
-   * @return The status.
-   */
-  @java.lang.Override
-  public apache.rocketmq.v2.Status getStatus() {
-    return status_ == null ? apache.rocketmq.v2.Status.getDefaultInstance() : 
status_;
-  }
-  /**
-   * <code>.apache.rocketmq.v2.Status status = 1;</code>
-   */
-  @java.lang.Override
-  public apache.rocketmq.v2.StatusOrBuilder getStatusOrBuilder() {
-    return getStatus();
-  }
-
-  private byte memoizedIsInitialized = -1;
-  @java.lang.Override
-  public final boolean isInitialized() {
-    byte isInitialized = memoizedIsInitialized;
-    if (isInitialized == 1) return true;
-    if (isInitialized == 0) return false;
-
-    memoizedIsInitialized = 1;
-    return true;
-  }
-
-  @java.lang.Override
-  public void writeTo(com.google.protobuf.CodedOutputStream output)
-                      throws java.io.IOException {
-    if (status_ != null) {
-      output.writeMessage(1, getStatus());
-    }
-    unknownFields.writeTo(output);
-  }
-
-  @java.lang.Override
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    if (status_ != null) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(1, getStatus());
-    }
-    size += unknownFields.getSerializedSize();
-    memoizedSize = size;
-    return size;
-  }
-
-  @java.lang.Override
-  public boolean equals(final java.lang.Object obj) {
-    if (obj == this) {
-     return true;
-    }
-    if (!(obj instanceof apache.rocketmq.v2.NackMessageResponse)) {
-      return super.equals(obj);
-    }
-    apache.rocketmq.v2.NackMessageResponse other = 
(apache.rocketmq.v2.NackMessageResponse) obj;
-
-    if (hasStatus() != other.hasStatus()) return false;
-    if (hasStatus()) {
-      if (!getStatus()
-          .equals(other.getStatus())) return false;
-    }
-    if (!unknownFields.equals(other.unknownFields)) return false;
-    return true;
-  }
-
-  @java.lang.Override
-  public int hashCode() {
-    if (memoizedHashCode != 0) {
-      return memoizedHashCode;
-    }
-    int hash = 41;
-    hash = (19 * hash) + getDescriptor().hashCode();
-    if (hasStatus()) {
-      hash = (37 * hash) + STATUS_FIELD_NUMBER;
-      hash = (53 * hash) + getStatus().hashCode();
-    }
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      java.nio.ByteBuffer data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      java.nio.ByteBuffer data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      com.google.protobuf.ByteString data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      com.google.protobuf.ByteString data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(byte[] data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      byte[] data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse 
parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      java.io.InputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse 
parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseDelimitedFrom(
-      java.io.InputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static apache.rocketmq.v2.NackMessageResponse parseFrom(
-      com.google.protobuf.CodedInputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input, extensionRegistry);
-  }
-
-  @java.lang.Override
-  public Builder newBuilderForType() { return newBuilder(); }
-  public static Builder newBuilder() {
-    return DEFAULT_INSTANCE.toBuilder();
-  }
-  public static Builder newBuilder(apache.rocketmq.v2.NackMessageResponse 
prototype) {
-    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
-  }
-  @java.lang.Override
-  public Builder toBuilder() {
-    return this == DEFAULT_INSTANCE
-        ? new Builder() : new Builder().mergeFrom(this);
-  }
-
-  @java.lang.Override
-  protected Builder newBuilderForType(
-      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-    Builder builder = new Builder(parent);
-    return builder;
-  }
-  /**
-   * Protobuf type {@code apache.rocketmq.v2.NackMessageResponse}
-   */
-  public static final class Builder extends
-      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // 
@@protoc_insertion_point(builder_implements:apache.rocketmq.v2.NackMessageResponse)
-      apache.rocketmq.v2.NackMessageResponseOrBuilder {
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageResponse_descriptor;
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageResponse_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              apache.rocketmq.v2.NackMessageResponse.class, 
apache.rocketmq.v2.NackMessageResponse.Builder.class);
-    }
-
-    // Construct using apache.rocketmq.v2.NackMessageResponse.newBuilder()
-    private Builder() {
-      maybeForceBuilderInitialization();
-    }
-
-    private Builder(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-      super(parent);
-      maybeForceBuilderInitialization();
-    }
-    private void maybeForceBuilderInitialization() {
-      if (com.google.protobuf.GeneratedMessageV3
-              .alwaysUseFieldBuilders) {
-      }
-    }
-    @java.lang.Override
-    public Builder clear() {
-      super.clear();
-      if (statusBuilder_ == null) {
-        status_ = null;
-      } else {
-        status_ = null;
-        statusBuilder_ = null;
-      }
-      return this;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return 
apache.rocketmq.v2.MQService.internal_static_apache_rocketmq_v2_NackMessageResponse_descriptor;
-    }
-
-    @java.lang.Override
-    public apache.rocketmq.v2.NackMessageResponse getDefaultInstanceForType() {
-      return apache.rocketmq.v2.NackMessageResponse.getDefaultInstance();
-    }
-
-    @java.lang.Override
-    public apache.rocketmq.v2.NackMessageResponse build() {
-      apache.rocketmq.v2.NackMessageResponse result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    @java.lang.Override
-    public apache.rocketmq.v2.NackMessageResponse buildPartial() {
-      apache.rocketmq.v2.NackMessageResponse result = new 
apache.rocketmq.v2.NackMessageResponse(this);
-      if (statusBuilder_ == null) {
-        result.status_ = status_;
-      } else {
-        result.status_ = statusBuilder_.build();
-      }
-      onBuilt();
-      return result;
-    }
-
-    @java.lang.Override
-    public Builder clone() {
-      return super.clone();
-    }
-    @java.lang.Override
-    public Builder setField(
-        com.google.protobuf.Descriptors.FieldDescriptor field,
-        java.lang.Object value) {
-      return super.setField(field, value);
-    }
-    @java.lang.Override
-    public Builder clearField(
-        com.google.protobuf.Descriptors.FieldDescriptor field) {
-      return super.clearField(field);
-    }
-    @java.lang.Override
-    public Builder clearOneof(
-        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-      return super.clearOneof(oneof);
-    }
-    @java.lang.Override
-    public Builder setRepeatedField(
-        com.google.protobuf.Descriptors.FieldDescriptor field,
-        int index, java.lang.Object value) {
-      return super.setRepeatedField(field, index, value);
-    }
-    @java.lang.Override
-    public Builder addRepeatedField(
-        com.google.protobuf.Descriptors.FieldDescriptor field,
-        java.lang.Object value) {
-      return super.addRepeatedField(field, value);
-    }
-    @java.lang.Override
-    public Builder mergeFrom(com.google.protobuf.Message other) {
-      if (other instanceof apache.rocketmq.v2.NackMessageResponse) {
-        return mergeFrom((apache.rocketmq.v2.NackMessageResponse)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(apache.rocketmq.v2.NackMessageResponse other) {
-      if (other == 
apache.rocketmq.v2.NackMessageResponse.getDefaultInstance()) return this;
-      if (other.hasStatus()) {
-        mergeStatus(other.getStatus());
-      }
-      this.mergeUnknownFields(other.unknownFields);
-      onChanged();
-      return this;
-    }
-
-    @java.lang.Override
-    public final boolean isInitialized() {
-      return true;
-    }
-
-    @java.lang.Override
-    public Builder mergeFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      apache.rocketmq.v2.NackMessageResponse parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (apache.rocketmq.v2.NackMessageResponse) 
e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-
-    private apache.rocketmq.v2.Status status_;
-    private com.google.protobuf.SingleFieldBuilderV3<
-        apache.rocketmq.v2.Status, apache.rocketmq.v2.Status.Builder, 
apache.rocketmq.v2.StatusOrBuilder> statusBuilder_;
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     * @return Whether the status field is set.
-     */
-    public boolean hasStatus() {
-      return statusBuilder_ != null || status_ != null;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     * @return The status.
-     */
-    public apache.rocketmq.v2.Status getStatus() {
-      if (statusBuilder_ == null) {
-        return status_ == null ? 
apache.rocketmq.v2.Status.getDefaultInstance() : status_;
-      } else {
-        return statusBuilder_.getMessage();
-      }
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     */
-    public Builder setStatus(apache.rocketmq.v2.Status value) {
-      if (statusBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        status_ = value;
-        onChanged();
-      } else {
-        statusBuilder_.setMessage(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     */
-    public Builder setStatus(
-        apache.rocketmq.v2.Status.Builder builderForValue) {
-      if (statusBuilder_ == null) {
-        status_ = builderForValue.build();
-        onChanged();
-      } else {
-        statusBuilder_.setMessage(builderForValue.build());
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     */
-    public Builder mergeStatus(apache.rocketmq.v2.Status value) {
-      if (statusBuilder_ == null) {
-        if (status_ != null) {
-          status_ =
-            
apache.rocketmq.v2.Status.newBuilder(status_).mergeFrom(value).buildPartial();
-        } else {
-          status_ = value;
-        }
-        onChanged();
-      } else {
-        statusBuilder_.mergeFrom(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     */
-    public Builder clearStatus() {
-      if (statusBuilder_ == null) {
-        status_ = null;
-        onChanged();
-      } else {
-        status_ = null;
-        statusBuilder_ = null;
-      }
-
-      return this;
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     */
-    public apache.rocketmq.v2.Status.Builder getStatusBuilder() {
-      
-      onChanged();
-      return getStatusFieldBuilder().getBuilder();
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     */
-    public apache.rocketmq.v2.StatusOrBuilder getStatusOrBuilder() {
-      if (statusBuilder_ != null) {
-        return statusBuilder_.getMessageOrBuilder();
-      } else {
-        return status_ == null ?
-            apache.rocketmq.v2.Status.getDefaultInstance() : status_;
-      }
-    }
-    /**
-     * <code>.apache.rocketmq.v2.Status status = 1;</code>
-     */
-    private com.google.protobuf.SingleFieldBuilderV3<
-        apache.rocketmq.v2.Status, apache.rocketmq.v2.Status.Builder, 
apache.rocketmq.v2.StatusOrBuilder> 
-        getStatusFieldBuilder() {
-      if (statusBuilder_ == null) {
-        statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-            apache.rocketmq.v2.Status, apache.rocketmq.v2.Status.Builder, 
apache.rocketmq.v2.StatusOrBuilder>(
-                getStatus(),
-                getParentForChildren(),
-                isClean());
-        status_ = null;
-      }
-      return statusBuilder_;
-    }
-    @java.lang.Override
-    public final Builder setUnknownFields(
-        final com.google.protobuf.UnknownFieldSet unknownFields) {
-      return super.setUnknownFields(unknownFields);
-    }
-
-    @java.lang.Override
-    public final Builder mergeUnknownFields(
-        final com.google.protobuf.UnknownFieldSet unknownFields) {
-      return super.mergeUnknownFields(unknownFields);
-    }
-
-
-    // 
@@protoc_insertion_point(builder_scope:apache.rocketmq.v2.NackMessageResponse)
-  }
-
-  // 
@@protoc_insertion_point(class_scope:apache.rocketmq.v2.NackMessageResponse)
-  private static final apache.rocketmq.v2.NackMessageResponse DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new apache.rocketmq.v2.NackMessageResponse();
-  }
-
-  public static apache.rocketmq.v2.NackMessageResponse getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final com.google.protobuf.Parser<NackMessageResponse>
-      PARSER = new com.google.protobuf.AbstractParser<NackMessageResponse>() {
-    @java.lang.Override
-    public NackMessageResponse parsePartialFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return new NackMessageResponse(input, extensionRegistry);
-    }
-  };
-
-  public static com.google.protobuf.Parser<NackMessageResponse> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.google.protobuf.Parser<NackMessageResponse> getParserForType() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public apache.rocketmq.v2.NackMessageResponse getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-
diff --git a/src/main/java/apache/rocketmq/v2/NackMessageResponseOrBuilder.java 
b/src/main/java/apache/rocketmq/v2/NackMessageResponseOrBuilder.java
deleted file mode 100644
index 93f1956..0000000
--- a/src/main/java/apache/rocketmq/v2/NackMessageResponseOrBuilder.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: apache/rocketmq/v2/service.proto
-
-package apache.rocketmq.v2;
-
-public interface NackMessageResponseOrBuilder extends
-    // 
@@protoc_insertion_point(interface_extends:apache.rocketmq.v2.NackMessageResponse)
-    com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <code>.apache.rocketmq.v2.Status status = 1;</code>
-   * @return Whether the status field is set.
-   */
-  boolean hasStatus();
-  /**
-   * <code>.apache.rocketmq.v2.Status status = 1;</code>
-   * @return The status.
-   */
-  apache.rocketmq.v2.Status getStatus();
-  /**
-   * <code>.apache.rocketmq.v2.Status status = 1;</code>
-   */
-  apache.rocketmq.v2.StatusOrBuilder getStatusOrBuilder();
-}
diff --git a/src/main/resources/proto/apache/rocketmq/v2/service.proto 
b/src/main/resources/proto/apache/rocketmq/v2/service.proto
index c6717ec..86c9f69 100644
--- a/src/main/resources/proto/apache/rocketmq/v2/service.proto
+++ b/src/main/resources/proto/apache/rocketmq/v2/service.proto
@@ -125,16 +125,6 @@ message AckMessageResponse {
   repeated AckMessageResultEntry entries = 2;
 }
 
-message NackMessageRequest {
-  Resource group = 1;
-  Resource topic = 2;
-  string receipt_handle = 3;
-  string message_id = 4;
-  int32 delivery_attempt = 5;
-}
-
-message NackMessageResponse { Status status = 1; }
-
 message ForwardMessageToDeadLetterQueueRequest {
   Resource group = 1;
   Resource topic = 2;
@@ -364,8 +354,8 @@ service MessagingService {
   }
 
   // Receives messages from the server in batch manner, returns a set of
-  // messages if success. The received messages should be acked or nacked after
-  // processed.
+  // messages if success. The received messages should be acked or redelivered
+  // after processed.
   //
   // If the pending concurrent receive requests exceed the quota of the given
   // consumer group, returns `UNAVAILABLE`. If the upstream store server hangs,
@@ -389,14 +379,6 @@ service MessagingService {
   // `INVALID_ARGUMENT`.
   rpc AckMessage(AckMessageRequest) returns (AckMessageResponse) {}
 
-  // Signals that the message has not been successfully processed. The message
-  // server should resend the message follow the retry policy defined at
-  // server-side.
-  //
-  // If the corresponding topic or consumer group doesn't exist, returns
-  // `NOT_FOUND`.
-  rpc NackMessage(NackMessageRequest) returns (NackMessageResponse) {}
-
   // Forwards one message to dead letter queue if the max delivery attempts is
   // exceeded by this message at client-side, return `OK` if success.
   rpc ForwardMessageToDeadLetterQueue(ForwardMessageToDeadLetterQueueRequest)

Reply via email to