You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by aa...@apache.org on 2022/07/15 03:27:50 UTC

[rocketmq-apis] 17/38: Apply IDL update

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 e4d11acbd8cf10a1d93c018a28f172d0090d3402
Author: 凌楚 <ya...@alibaba-inc.com>
AuthorDate: Thu May 5 11:48:56 2022 +0800

    Apply IDL update
---
 src/main/java/apache/rocketmq/v2/MQService.java    | 174 +++++++--------
 .../v2/RecoverOrphanedTransactionCommand.java      | 240 ++++++++++++++++++---
 ...RecoverOrphanedTransactionCommandOrBuilder.java |  25 ++-
 .../proto/apache/rocketmq/v2/service.proto         |   5 +-
 4 files changed, 325 insertions(+), 119 deletions(-)

diff --git a/src/main/java/apache/rocketmq/v2/MQService.java b/src/main/java/apache/rocketmq/v2/MQService.java
index f20ced7..85c30af 100644
--- a/src/main/java/apache/rocketmq/v2/MQService.java
+++ b/src/main/java/apache/rocketmq/v2/MQService.java
@@ -267,92 +267,94 @@ public final class MQService {
       "\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\"\200\001\n!RecoverOrphan" +
-      "edTransactionCommand\022C\n\036orphaned_transac" +
-      "tional_message\030\001 \001(\0132\033.apache.rocketmq.v" +
-      "2.Message\022\026\n\016transaction_id\030\002 \001(\t\"r\n\nPub" +
-      "lishing\022,\n\006topics\030\001 \003(\0132\034.apache.rocketm" +
-      "q.v2.Resource\022\037\n\027compress_body_threshold" +
-      "\030\002 \001(\005\022\025\n\rmax_body_size\030\003 \001(\005\"\263\002\n\014Subscr" +
-      "iption\0220\n\005group\030\001 \001(\0132\034.apache.rocketmq." +
-      "v2.ResourceH\000\210\001\001\022<\n\rsubscriptions\030\002 \003(\0132" +
-      "%.apache.rocketmq.v2.SubscriptionEntry\022\021" +
-      "\n\004fifo\030\003 \001(\010H\001\210\001\001\022\037\n\022receive_batch_size\030" +
-      "\004 \001(\005H\002\210\001\001\022<\n\024long_polling_timeout\030\005 \001(\013" +
-      "2\031.google.protobuf.DurationH\003\210\001\001B\010\n\006_gro" +
-      "upB\007\n\005_fifoB\025\n\023_receive_batch_sizeB\027\n\025_l" +
-      "ong_polling_timeout\"\270\003\n\010Settings\0228\n\013clie" +
-      "nt_type\030\001 \001(\0162\036.apache.rocketmq.v2.Clien" +
-      "tTypeH\001\210\001\001\0228\n\014access_point\030\002 \001(\0132\035.apach" +
-      "e.rocketmq.v2.EndpointsH\002\210\001\001\022<\n\016backoff_" +
-      "policy\030\003 \001(\0132\037.apache.rocketmq.v2.RetryP" +
-      "olicyH\003\210\001\001\0227\n\017request_timeout\030\004 \001(\0132\031.go" +
-      "ogle.protobuf.DurationH\004\210\001\001\0224\n\npublishin" +
-      "g\030\005 \001(\0132\036.apache.rocketmq.v2.PublishingH" +
-      "\000\0228\n\014subscription\030\006 \001(\0132 .apache.rocketm" +
-      "q.v2.SubscriptionH\000B\t\n\007pub_subB\016\n\014_clien" +
-      "t_typeB\017\n\r_access_pointB\021\n\017_backoff_poli" +
-      "cyB\022\n\020_request_timeout\"\356\003\n\020TelemetryComm" +
-      "and\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_result\030\003 \001(\0132\'.apach" +
-      "e.rocketmq.v2.VerifyMessageResultH\000\022e\n$r" +
-      "ecover_orphaned_transaction_command\030\004 \001(" +
-      "\01325.apache.rocketmq.v2.RecoverOrphanedTr" +
-      "ansactionCommandH\000\022\\\n print_thread_stack" +
-      "_trace_command\030\005 \001(\01320.apache.rocketmq.v" +
-      "2.PrintThreadStackTraceCommandH\000\022J\n\026veri" +
-      "fy_message_command\030\006 \001(\0132(.apache.rocket" +
-      "mq.v2.VerifyMessageCommandH\000B\t\n\007command\"" +
-      "\\\n\036NotifyClientTerminationRequest\0220\n\005gro" +
-      "up\030\001 \001(\0132\034.apache.rocketmq.v2.ResourceH\000" +
-      "\210\001\001B\010\n\006_group\"M\n\037NotifyClientTermination" +
+      "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\"\335\001\n\036ChangeInvisibleDuration" +
-      "Request\022+\n\005group\030\001 \001(\0132\034.apache.rocketmq" +
-      ".v2.Resource\022+\n\005topic\030\002 \001(\0132\034.apache.roc" +
-      "ketmq.v2.Resource\022\026\n\016receipt_handle\030\003 \001(" +
-      "\t\0225\n\022invisible_duration\030\004 \001(\0132\031.google.p" +
-      "rotobuf.Duration\022\022\n\nmessage_id\030\005 \001(\t\"e\n\037" +
-      "ChangeInvisibleDurationResponse\022*\n\006statu" +
-      "s\030\001 \001(\0132\032.apache.rocketmq.v2.Status\022\026\n\016r" +
-      "eceipt_handle\030\002 \001(\t2\302\n\n\020MessagingService" +
-      "\022]\n\nQueryRoute\022%.apache.rocketmq.v2.Quer" +
-      "yRouteRequest\032&.apache.rocketmq.v2.Query" +
-      "RouteResponse\"\000\022Z\n\tHeartbeat\022$.apache.ro" +
-      "cketmq.v2.HeartbeatRequest\032%.apache.rock" +
-      "etmq.v2.HeartbeatResponse\"\000\022`\n\013SendMessa" +
-      "ge\022&.apache.rocketmq.v2.SendMessageReque" +
-      "st\032\'.apache.rocketmq.v2.SendMessageRespo" +
-      "nse\"\000\022l\n\017QueryAssignment\022*.apache.rocket" +
-      "mq.v2.QueryAssignmentRequest\032+.apache.ro" +
-      "cketmq.v2.QueryAssignmentResponse\"\000\022k\n\016R" +
-      "eceiveMessage\022).apache.rocketmq.v2.Recei" +
-      "veMessageRequest\032*.apache.rocketmq.v2.Re" +
-      "ceiveMessageResponse\"\0000\001\022]\n\nAckMessage\022%" +
-      ".apache.rocketmq.v2.AckMessageRequest\032&." +
-      "apache.rocketmq.v2.AckMessageResponse\"\000\022" +
-      "`\n\013NackMessage\022&.apache.rocketmq.v2.Nack" +
-      "MessageRequest\032\'.apache.rocketmq.v2.Nack" +
-      "MessageResponse\"\000\022\234\001\n\037ForwardMessageToDe" +
-      "adLetterQueue\022:.apache.rocketmq.v2.Forwa" +
-      "rdMessageToDeadLetterQueueRequest\032;.apac" +
-      "he.rocketmq.v2.ForwardMessageToDeadLette" +
-      "rQueueResponse\"\000\022i\n\016EndTransaction\022).apa" +
-      "che.rocketmq.v2.EndTransactionRequest\032*." +
-      "apache.rocketmq.v2.EndTransactionRespons" +
-      "e\"\000\022]\n\tTelemetry\022$.apache.rocketmq.v2.Te" +
-      "lemetryCommand\032$.apache.rocketmq.v2.Tele" +
-      "metryCommand\"\000(\0010\001\022\204\001\n\027NotifyClientTermi" +
-      "nation\0222.apache.rocketmq.v2.NotifyClient" +
-      "TerminationRequest\0323.apache.rocketmq.v2." +
-      "NotifyClientTerminationResponse\"\000\022\204\001\n\027Ch" +
-      "angeInvisibleDuration\0222.apache.rocketmq." +
-      "v2.ChangeInvisibleDurationRequest\0323.apac" +
-      "he.rocketmq.v2.ChangeInvisibleDurationRe" +
-      "sponse\"\000B<\n\022apache.rocketmq.v2B\tMQServic" +
-      "eP\001\240\001\001\330\001\001\252\002\022Apache.Rocketmq.V2b\006proto3"
+      "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" +
+      "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"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -510,7 +512,7 @@ public final class MQService {
     internal_static_apache_rocketmq_v2_RecoverOrphanedTransactionCommand_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_apache_rocketmq_v2_RecoverOrphanedTransactionCommand_descriptor,
-        new java.lang.String[] { "OrphanedTransactionalMessage", "TransactionId", });
+        new java.lang.String[] { "MessageQueue", "OrphanedTransactionalMessage", "TransactionId", });
     internal_static_apache_rocketmq_v2_Publishing_descriptor =
       getDescriptor().getMessageTypes().get(25);
     internal_static_apache_rocketmq_v2_Publishing_fieldAccessorTable = new
diff --git a/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommand.java b/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommand.java
index 80d418e..9908ed8 100644
--- a/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommand.java
+++ b/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommand.java
@@ -50,6 +50,19 @@ private static final long serialVersionUID = 0L;
             done = true;
             break;
           case 10: {
+            apache.rocketmq.v2.MessageQueue.Builder subBuilder = null;
+            if (messageQueue_ != null) {
+              subBuilder = messageQueue_.toBuilder();
+            }
+            messageQueue_ = input.readMessage(apache.rocketmq.v2.MessageQueue.parser(), extensionRegistry);
+            if (subBuilder != null) {
+              subBuilder.mergeFrom(messageQueue_);
+              messageQueue_ = subBuilder.buildPartial();
+            }
+
+            break;
+          }
+          case 18: {
             apache.rocketmq.v2.Message.Builder subBuilder = null;
             if (orphanedTransactionalMessage_ != null) {
               subBuilder = orphanedTransactionalMessage_.toBuilder();
@@ -62,7 +75,7 @@ private static final long serialVersionUID = 0L;
 
             break;
           }
-          case 18: {
+          case 26: {
             java.lang.String s = input.readStringRequireUtf8();
 
             transactionId_ = s;
@@ -100,10 +113,36 @@ private static final long serialVersionUID = 0L;
             apache.rocketmq.v2.RecoverOrphanedTransactionCommand.class, apache.rocketmq.v2.RecoverOrphanedTransactionCommand.Builder.class);
   }
 
-  public static final int ORPHANED_TRANSACTIONAL_MESSAGE_FIELD_NUMBER = 1;
+  public static final int MESSAGE_QUEUE_FIELD_NUMBER = 1;
+  private apache.rocketmq.v2.MessageQueue messageQueue_;
+  /**
+   * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+   * @return Whether the messageQueue field is set.
+   */
+  @java.lang.Override
+  public boolean hasMessageQueue() {
+    return messageQueue_ != null;
+  }
+  /**
+   * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+   * @return The messageQueue.
+   */
+  @java.lang.Override
+  public apache.rocketmq.v2.MessageQueue getMessageQueue() {
+    return messageQueue_ == null ? apache.rocketmq.v2.MessageQueue.getDefaultInstance() : messageQueue_;
+  }
+  /**
+   * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+   */
+  @java.lang.Override
+  public apache.rocketmq.v2.MessageQueueOrBuilder getMessageQueueOrBuilder() {
+    return getMessageQueue();
+  }
+
+  public static final int ORPHANED_TRANSACTIONAL_MESSAGE_FIELD_NUMBER = 2;
   private apache.rocketmq.v2.Message orphanedTransactionalMessage_;
   /**
-   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
    * @return Whether the orphanedTransactionalMessage field is set.
    */
   @java.lang.Override
@@ -111,7 +150,7 @@ private static final long serialVersionUID = 0L;
     return orphanedTransactionalMessage_ != null;
   }
   /**
-   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
    * @return The orphanedTransactionalMessage.
    */
   @java.lang.Override
@@ -119,17 +158,17 @@ private static final long serialVersionUID = 0L;
     return orphanedTransactionalMessage_ == null ? apache.rocketmq.v2.Message.getDefaultInstance() : orphanedTransactionalMessage_;
   }
   /**
-   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
    */
   @java.lang.Override
   public apache.rocketmq.v2.MessageOrBuilder getOrphanedTransactionalMessageOrBuilder() {
     return getOrphanedTransactionalMessage();
   }
 
-  public static final int TRANSACTION_ID_FIELD_NUMBER = 2;
+  public static final int TRANSACTION_ID_FIELD_NUMBER = 3;
   private volatile java.lang.Object transactionId_;
   /**
-   * <code>string transaction_id = 2;</code>
+   * <code>string transaction_id = 3;</code>
    * @return The transactionId.
    */
   @java.lang.Override
@@ -146,7 +185,7 @@ private static final long serialVersionUID = 0L;
     }
   }
   /**
-   * <code>string transaction_id = 2;</code>
+   * <code>string transaction_id = 3;</code>
    * @return The bytes for transactionId.
    */
   @java.lang.Override
@@ -178,11 +217,14 @@ private static final long serialVersionUID = 0L;
   @java.lang.Override
   public void writeTo(com.google.protobuf.CodedOutputStream output)
                       throws java.io.IOException {
+    if (messageQueue_ != null) {
+      output.writeMessage(1, getMessageQueue());
+    }
     if (orphanedTransactionalMessage_ != null) {
-      output.writeMessage(1, getOrphanedTransactionalMessage());
+      output.writeMessage(2, getOrphanedTransactionalMessage());
     }
     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(transactionId_)) {
-      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, transactionId_);
+      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, transactionId_);
     }
     unknownFields.writeTo(output);
   }
@@ -193,12 +235,16 @@ private static final long serialVersionUID = 0L;
     if (size != -1) return size;
 
     size = 0;
+    if (messageQueue_ != null) {
+      size += com.google.protobuf.CodedOutputStream
+        .computeMessageSize(1, getMessageQueue());
+    }
     if (orphanedTransactionalMessage_ != null) {
       size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(1, getOrphanedTransactionalMessage());
+        .computeMessageSize(2, getOrphanedTransactionalMessage());
     }
     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(transactionId_)) {
-      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, transactionId_);
+      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, transactionId_);
     }
     size += unknownFields.getSerializedSize();
     memoizedSize = size;
@@ -215,6 +261,11 @@ private static final long serialVersionUID = 0L;
     }
     apache.rocketmq.v2.RecoverOrphanedTransactionCommand other = (apache.rocketmq.v2.RecoverOrphanedTransactionCommand) obj;
 
+    if (hasMessageQueue() != other.hasMessageQueue()) return false;
+    if (hasMessageQueue()) {
+      if (!getMessageQueue()
+          .equals(other.getMessageQueue())) return false;
+    }
     if (hasOrphanedTransactionalMessage() != other.hasOrphanedTransactionalMessage()) return false;
     if (hasOrphanedTransactionalMessage()) {
       if (!getOrphanedTransactionalMessage()
@@ -233,6 +284,10 @@ private static final long serialVersionUID = 0L;
     }
     int hash = 41;
     hash = (19 * hash) + getDescriptor().hashCode();
+    if (hasMessageQueue()) {
+      hash = (37 * hash) + MESSAGE_QUEUE_FIELD_NUMBER;
+      hash = (53 * hash) + getMessageQueue().hashCode();
+    }
     if (hasOrphanedTransactionalMessage()) {
       hash = (37 * hash) + ORPHANED_TRANSACTIONAL_MESSAGE_FIELD_NUMBER;
       hash = (53 * hash) + getOrphanedTransactionalMessage().hashCode();
@@ -372,6 +427,12 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public Builder clear() {
       super.clear();
+      if (messageQueueBuilder_ == null) {
+        messageQueue_ = null;
+      } else {
+        messageQueue_ = null;
+        messageQueueBuilder_ = null;
+      }
       if (orphanedTransactionalMessageBuilder_ == null) {
         orphanedTransactionalMessage_ = null;
       } else {
@@ -406,6 +467,11 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public apache.rocketmq.v2.RecoverOrphanedTransactionCommand buildPartial() {
       apache.rocketmq.v2.RecoverOrphanedTransactionCommand result = new apache.rocketmq.v2.RecoverOrphanedTransactionCommand(this);
+      if (messageQueueBuilder_ == null) {
+        result.messageQueue_ = messageQueue_;
+      } else {
+        result.messageQueue_ = messageQueueBuilder_.build();
+      }
       if (orphanedTransactionalMessageBuilder_ == null) {
         result.orphanedTransactionalMessage_ = orphanedTransactionalMessage_;
       } else {
@@ -460,6 +526,9 @@ private static final long serialVersionUID = 0L;
 
     public Builder mergeFrom(apache.rocketmq.v2.RecoverOrphanedTransactionCommand other) {
       if (other == apache.rocketmq.v2.RecoverOrphanedTransactionCommand.getDefaultInstance()) return this;
+      if (other.hasMessageQueue()) {
+        mergeMessageQueue(other.getMessageQueue());
+      }
       if (other.hasOrphanedTransactionalMessage()) {
         mergeOrphanedTransactionalMessage(other.getOrphanedTransactionalMessage());
       }
@@ -496,18 +565,137 @@ private static final long serialVersionUID = 0L;
       return this;
     }
 
+    private apache.rocketmq.v2.MessageQueue messageQueue_;
+    private com.google.protobuf.SingleFieldBuilderV3<
+        apache.rocketmq.v2.MessageQueue, apache.rocketmq.v2.MessageQueue.Builder, apache.rocketmq.v2.MessageQueueOrBuilder> messageQueueBuilder_;
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     * @return Whether the messageQueue field is set.
+     */
+    public boolean hasMessageQueue() {
+      return messageQueueBuilder_ != null || messageQueue_ != null;
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     * @return The messageQueue.
+     */
+    public apache.rocketmq.v2.MessageQueue getMessageQueue() {
+      if (messageQueueBuilder_ == null) {
+        return messageQueue_ == null ? apache.rocketmq.v2.MessageQueue.getDefaultInstance() : messageQueue_;
+      } else {
+        return messageQueueBuilder_.getMessage();
+      }
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     */
+    public Builder setMessageQueue(apache.rocketmq.v2.MessageQueue value) {
+      if (messageQueueBuilder_ == null) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
+        messageQueue_ = value;
+        onChanged();
+      } else {
+        messageQueueBuilder_.setMessage(value);
+      }
+
+      return this;
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     */
+    public Builder setMessageQueue(
+        apache.rocketmq.v2.MessageQueue.Builder builderForValue) {
+      if (messageQueueBuilder_ == null) {
+        messageQueue_ = builderForValue.build();
+        onChanged();
+      } else {
+        messageQueueBuilder_.setMessage(builderForValue.build());
+      }
+
+      return this;
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     */
+    public Builder mergeMessageQueue(apache.rocketmq.v2.MessageQueue value) {
+      if (messageQueueBuilder_ == null) {
+        if (messageQueue_ != null) {
+          messageQueue_ =
+            apache.rocketmq.v2.MessageQueue.newBuilder(messageQueue_).mergeFrom(value).buildPartial();
+        } else {
+          messageQueue_ = value;
+        }
+        onChanged();
+      } else {
+        messageQueueBuilder_.mergeFrom(value);
+      }
+
+      return this;
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     */
+    public Builder clearMessageQueue() {
+      if (messageQueueBuilder_ == null) {
+        messageQueue_ = null;
+        onChanged();
+      } else {
+        messageQueue_ = null;
+        messageQueueBuilder_ = null;
+      }
+
+      return this;
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     */
+    public apache.rocketmq.v2.MessageQueue.Builder getMessageQueueBuilder() {
+      
+      onChanged();
+      return getMessageQueueFieldBuilder().getBuilder();
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     */
+    public apache.rocketmq.v2.MessageQueueOrBuilder getMessageQueueOrBuilder() {
+      if (messageQueueBuilder_ != null) {
+        return messageQueueBuilder_.getMessageOrBuilder();
+      } else {
+        return messageQueue_ == null ?
+            apache.rocketmq.v2.MessageQueue.getDefaultInstance() : messageQueue_;
+      }
+    }
+    /**
+     * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+     */
+    private com.google.protobuf.SingleFieldBuilderV3<
+        apache.rocketmq.v2.MessageQueue, apache.rocketmq.v2.MessageQueue.Builder, apache.rocketmq.v2.MessageQueueOrBuilder> 
+        getMessageQueueFieldBuilder() {
+      if (messageQueueBuilder_ == null) {
+        messageQueueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+            apache.rocketmq.v2.MessageQueue, apache.rocketmq.v2.MessageQueue.Builder, apache.rocketmq.v2.MessageQueueOrBuilder>(
+                getMessageQueue(),
+                getParentForChildren(),
+                isClean());
+        messageQueue_ = null;
+      }
+      return messageQueueBuilder_;
+    }
+
     private apache.rocketmq.v2.Message orphanedTransactionalMessage_;
     private com.google.protobuf.SingleFieldBuilderV3<
         apache.rocketmq.v2.Message, apache.rocketmq.v2.Message.Builder, apache.rocketmq.v2.MessageOrBuilder> orphanedTransactionalMessageBuilder_;
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      * @return Whether the orphanedTransactionalMessage field is set.
      */
     public boolean hasOrphanedTransactionalMessage() {
       return orphanedTransactionalMessageBuilder_ != null || orphanedTransactionalMessage_ != null;
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      * @return The orphanedTransactionalMessage.
      */
     public apache.rocketmq.v2.Message getOrphanedTransactionalMessage() {
@@ -518,7 +706,7 @@ private static final long serialVersionUID = 0L;
       }
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      */
     public Builder setOrphanedTransactionalMessage(apache.rocketmq.v2.Message value) {
       if (orphanedTransactionalMessageBuilder_ == null) {
@@ -534,7 +722,7 @@ private static final long serialVersionUID = 0L;
       return this;
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      */
     public Builder setOrphanedTransactionalMessage(
         apache.rocketmq.v2.Message.Builder builderForValue) {
@@ -548,7 +736,7 @@ private static final long serialVersionUID = 0L;
       return this;
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      */
     public Builder mergeOrphanedTransactionalMessage(apache.rocketmq.v2.Message value) {
       if (orphanedTransactionalMessageBuilder_ == null) {
@@ -566,7 +754,7 @@ private static final long serialVersionUID = 0L;
       return this;
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      */
     public Builder clearOrphanedTransactionalMessage() {
       if (orphanedTransactionalMessageBuilder_ == null) {
@@ -580,7 +768,7 @@ private static final long serialVersionUID = 0L;
       return this;
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      */
     public apache.rocketmq.v2.Message.Builder getOrphanedTransactionalMessageBuilder() {
       
@@ -588,7 +776,7 @@ private static final long serialVersionUID = 0L;
       return getOrphanedTransactionalMessageFieldBuilder().getBuilder();
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      */
     public apache.rocketmq.v2.MessageOrBuilder getOrphanedTransactionalMessageOrBuilder() {
       if (orphanedTransactionalMessageBuilder_ != null) {
@@ -599,7 +787,7 @@ private static final long serialVersionUID = 0L;
       }
     }
     /**
-     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+     * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
      */
     private com.google.protobuf.SingleFieldBuilderV3<
         apache.rocketmq.v2.Message, apache.rocketmq.v2.Message.Builder, apache.rocketmq.v2.MessageOrBuilder> 
@@ -617,7 +805,7 @@ private static final long serialVersionUID = 0L;
 
     private java.lang.Object transactionId_ = "";
     /**
-     * <code>string transaction_id = 2;</code>
+     * <code>string transaction_id = 3;</code>
      * @return The transactionId.
      */
     public java.lang.String getTransactionId() {
@@ -633,7 +821,7 @@ private static final long serialVersionUID = 0L;
       }
     }
     /**
-     * <code>string transaction_id = 2;</code>
+     * <code>string transaction_id = 3;</code>
      * @return The bytes for transactionId.
      */
     public com.google.protobuf.ByteString
@@ -650,7 +838,7 @@ private static final long serialVersionUID = 0L;
       }
     }
     /**
-     * <code>string transaction_id = 2;</code>
+     * <code>string transaction_id = 3;</code>
      * @param value The transactionId to set.
      * @return This builder for chaining.
      */
@@ -665,7 +853,7 @@ private static final long serialVersionUID = 0L;
       return this;
     }
     /**
-     * <code>string transaction_id = 2;</code>
+     * <code>string transaction_id = 3;</code>
      * @return This builder for chaining.
      */
     public Builder clearTransactionId() {
@@ -675,7 +863,7 @@ private static final long serialVersionUID = 0L;
       return this;
     }
     /**
-     * <code>string transaction_id = 2;</code>
+     * <code>string transaction_id = 3;</code>
      * @param value The bytes for transactionId to set.
      * @return This builder for chaining.
      */
diff --git a/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommandOrBuilder.java b/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommandOrBuilder.java
index e64dae8..8af7ed1 100644
--- a/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommandOrBuilder.java
+++ b/src/main/java/apache/rocketmq/v2/RecoverOrphanedTransactionCommandOrBuilder.java
@@ -8,27 +8,42 @@ public interface RecoverOrphanedTransactionCommandOrBuilder extends
     com.google.protobuf.MessageOrBuilder {
 
   /**
-   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+   * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+   * @return Whether the messageQueue field is set.
+   */
+  boolean hasMessageQueue();
+  /**
+   * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+   * @return The messageQueue.
+   */
+  apache.rocketmq.v2.MessageQueue getMessageQueue();
+  /**
+   * <code>.apache.rocketmq.v2.MessageQueue message_queue = 1;</code>
+   */
+  apache.rocketmq.v2.MessageQueueOrBuilder getMessageQueueOrBuilder();
+
+  /**
+   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
    * @return Whether the orphanedTransactionalMessage field is set.
    */
   boolean hasOrphanedTransactionalMessage();
   /**
-   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
    * @return The orphanedTransactionalMessage.
    */
   apache.rocketmq.v2.Message getOrphanedTransactionalMessage();
   /**
-   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 1;</code>
+   * <code>.apache.rocketmq.v2.Message orphaned_transactional_message = 2;</code>
    */
   apache.rocketmq.v2.MessageOrBuilder getOrphanedTransactionalMessageOrBuilder();
 
   /**
-   * <code>string transaction_id = 2;</code>
+   * <code>string transaction_id = 3;</code>
    * @return The transactionId.
    */
   java.lang.String getTransactionId();
   /**
-   * <code>string transaction_id = 2;</code>
+   * <code>string transaction_id = 3;</code>
    * @return The bytes for transactionId.
    */
   com.google.protobuf.ByteString
diff --git a/src/main/resources/proto/apache/rocketmq/v2/service.proto b/src/main/resources/proto/apache/rocketmq/v2/service.proto
index e9fb514..c6717ec 100644
--- a/src/main/resources/proto/apache/rocketmq/v2/service.proto
+++ b/src/main/resources/proto/apache/rocketmq/v2/service.proto
@@ -180,8 +180,9 @@ message VerifyMessageResult {
 }
 
 message RecoverOrphanedTransactionCommand {
-  Message orphaned_transactional_message = 1;
-  string transaction_id = 2;
+  MessageQueue message_queue = 1;
+  Message orphaned_transactional_message = 2;
+  string transaction_id = 3;
 }
 
 message Publishing {