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 7f4687964c5749f988ddb78c96d88fcbc50fd764
Author: 凌楚 <[email protected]>
AuthorDate: Wed Jun 15 11:50:25 2022 +0800

    Apply IDL update
---
 src/main/java/apache/rocketmq/v2/Code.java         |  34 ++++
 src/main/java/apache/rocketmq/v2/MQDomain.java     |  17 +-
 src/main/java/apache/rocketmq/v2/MQService.java    | 173 +++++++++++----------
 src/main/java/apache/rocketmq/v2/Publishing.java   |  85 ++++++++++
 .../apache/rocketmq/v2/PublishingOrBuilder.java    |  11 ++
 .../proto/apache/rocketmq/v2/definition.proto      |   6 +
 .../proto/apache/rocketmq/v2/service.proto         |   4 +
 7 files changed, 236 insertions(+), 94 deletions(-)

diff --git a/src/main/java/apache/rocketmq/v2/Code.java 
b/src/main/java/apache/rocketmq/v2/Code.java
index 51e00cd..b72db85 100644
--- a/src/main/java/apache/rocketmq/v2/Code.java
+++ b/src/main/java/apache/rocketmq/v2/Code.java
@@ -288,6 +288,22 @@ public enum Code
    * <code>MULTIPLE_RESULTS = 33;</code>
    */
   MULTIPLE_RESULTS(33),
+  /**
+   * <pre>
+   * Generic code for bad request, indicating that required fields or headers 
are missing.
+   * </pre>
+   *
+   * <code>BAD_REQUEST = 400;</code>
+   */
+  BAD_REQUEST(400),
+  /**
+   * <pre>
+   * Request is rejected due to missing of x-mq-client-id header.
+   * </pre>
+   *
+   * <code>BAD_REQUEST_CLIENT_ID = 400001;</code>
+   */
+  BAD_REQUEST_CLIENT_ID(400001),
   /**
    * <pre>
    * Code indicates that the server encountered an unexpected condition
@@ -606,6 +622,22 @@ public enum Code
    * <code>MULTIPLE_RESULTS = 33;</code>
    */
   public static final int MULTIPLE_RESULTS_VALUE = 33;
+  /**
+   * <pre>
+   * Generic code for bad request, indicating that required fields or headers 
are missing.
+   * </pre>
+   *
+   * <code>BAD_REQUEST = 400;</code>
+   */
+  public static final int BAD_REQUEST_VALUE = 400;
+  /**
+   * <pre>
+   * Request is rejected due to missing of x-mq-client-id header.
+   * </pre>
+   *
+   * <code>BAD_REQUEST_CLIENT_ID = 400001;</code>
+   */
+  public static final int BAD_REQUEST_CLIENT_ID_VALUE = 400001;
   /**
    * <pre>
    * Code indicates that the server encountered an unexpected condition
@@ -701,6 +733,8 @@ public enum Code
       case 31: return ILLEGAL_MESSAGE;
       case 32: return UNRECOGNIZED_CLIENT_TYPE;
       case 33: return MULTIPLE_RESULTS;
+      case 400: return BAD_REQUEST;
+      case 400001: return BAD_REQUEST_CLIENT_ID;
       case 500: return INTERNAL_SERVER_ERROR;
       case 501: return NOT_IMPLEMENTED;
       case 504: return GATEWAY_TIMEOUT;
diff --git a/src/main/java/apache/rocketmq/v2/MQDomain.java 
b/src/main/java/apache/rocketmq/v2/MQDomain.java
index dee123f..7752414 100644
--- a/src/main/java/apache/rocketmq/v2/MQDomain.java
+++ b/src/main/java/apache/rocketmq/v2/MQDomain.java
@@ -195,7 +195,7 @@ public final class MQDomain {
       "entType\022\033\n\027CLIENT_TYPE_UNSPECIFIED\020\000\022\014\n\010" +
       "PRODUCER\020\001\022\021\n\rPUSH_CONSUMER\020\002\022\023\n\017SIMPLE_" 
+
       "CONSUMER\020\003*<\n\010Encoding\022\030\n\024ENCODING_UNSPE" +
-      
"CIFIED\020\000\022\014\n\010IDENTITY\020\001\022\010\n\004GZIP\020\002*\320\007\n\004Cod"
 +
+      
"CIFIED\020\000\022\014\n\010IDENTITY\020\001\022\010\n\004GZIP\020\002*\377\007\n\004Cod"
 +
       
"e\022\006\n\002OK\020\000\022\030\n\024ILLEGAL_ACCESS_POINT\020\001\022\021\n\rI"
 +
       "LLEGAL_TOPIC\020\002\022\032\n\026ILLEGAL_CONSUMER_GROUP" +
       
"\020\003\022\027\n\023ILLEGAL_MESSAGE_TAG\020\004\022\027\n\023ILLEGAL_M" +
@@ -218,13 +218,14 @@ public final class MQDomain {
       "N_UNSUPPORTED\020\034\022\025\n\021MESSAGE_NOT_FOUND\020\035\022\032" +
       "\n\026ILLEGAL_MESSAGE_OFFSET\020\036\022\023\n\017ILLEGAL_ME" +
       "SSAGE\020\037\022\034\n\030UNRECOGNIZED_CLIENT_TYPE\020 \022\024\n" +
-      "\020MULTIPLE_RESULTS\020!\022\032\n\025INTERNAL_SERVER_E" +
-      
"RROR\020\364\003\022\024\n\017NOT_IMPLEMENTED\020\365\003\022\024\n\017GATEWAY"
 +
-      "_TIMEOUT\020\370\003*Z\n\010Language\022\030\n\024LANGUAGE_UNSP" +
-      
"ECIFIED\020\000\022\010\n\004JAVA\020\001\022\007\n\003CPP\020\002\022\013\n\007DOT_NET\020"
 +
-      
"\003\022\n\n\006GOLANG\020\004\022\010\n\004RUST\020\005B;\n\022apache.rocket" 
+
-      
"mq.v2B\010MQDomainP\001\240\001\001\330\001\001\252\002\022Apache.Rocketm" +
-      "q.V2b\006proto3"
+      
"\020MULTIPLE_RESULTS\020!\022\020\n\013BAD_REQUEST\020\220\003\022\033\n" +
+      "\025BAD_REQUEST_CLIENT_ID\020\201\265\030\022\032\n\025INTERNAL_S" +
+      
"ERVER_ERROR\020\364\003\022\024\n\017NOT_IMPLEMENTED\020\365\003\022\024\n\017"
 +
+      "GATEWAY_TIMEOUT\020\370\003*Z\n\010Language\022\030\n\024LANGUA" +
+      
"GE_UNSPECIFIED\020\000\022\010\n\004JAVA\020\001\022\007\n\003CPP\020\002\022\013\n\007D"
 +
+      
"OT_NET\020\003\022\n\n\006GOLANG\020\004\022\010\n\004RUST\020\005B;\n\022apache"
 +
+      
".rocketmq.v2B\010MQDomainP\001\240\001\001\330\001\001\252\002\022Apache." +
+      "Rocketmq.V2b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
diff --git a/src/main/java/apache/rocketmq/v2/MQService.java 
b/src/main/java/apache/rocketmq/v2/MQService.java
index e10eedc..abf5f08 100644
--- a/src/main/java/apache/rocketmq/v2/MQService.java
+++ b/src/main/java/apache/rocketmq/v2/MQService.java
@@ -271,92 +271,93 @@ public final class MQService {
       "2 .apache.rocketmq.v2.MessageQueue\022C\n\036or" +
       "phaned_transactional_message\030\002 \001(\0132\033.apa" +
       "che.rocketmq.v2.Message\022\026\n\016transaction_i" +
-      "d\030\003 \001(\t\"r\n\nPublishing\022,\n\006topics\030\001 
\003(\0132\034." +
-      "apache.rocketmq.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\014Subscription\0220\n\005group\030\001 
\001(\0132\034.ap" +
-      "ache.rocketmq.v2.ResourceH\000\210\001\001\022<\n\rsubscr" +
-      "iptions\030\002 \003(\0132%.apache.rocketmq.v2.Subsc" +
-      "riptionEntry\022\021\n\004fifo\030\003 
\001(\010H\001\210\001\001\022\037\n\022recei" +
-      "ve_batch_size\030\004 
\001(\005H\002\210\001\001\022<\n\024long_polling" +
-      "_timeout\030\005 \001(\0132\031.google.protobuf.Duratio" +
-      
"nH\003\210\001\001B\010\n\006_groupB\007\n\005_fifoB\025\n\023_receive_ba" +
-      "tch_sizeB\027\n\025_long_polling_timeout\"Y\n\006Met" +
-      "ric\022\n\n\002on\030\001 \001(\010\0225\n\tendpoints\030\002 
\001(\0132\035.apa" +
-      "che.rocketmq.v2.EndpointsH\000\210\001\001B\014\n\n_endpo" +
-      "ints\"\220\004\n\010Settings\0228\n\013client_type\030\001 
\001(\0162\036" +
-      ".apache.rocketmq.v2.ClientTypeH\001\210\001\001\0228\n\014a" +
-      "ccess_point\030\002 \001(\0132\035.apache.rocketmq.v2.E" +
-      "ndpointsH\002\210\001\001\022<\n\016backoff_policy\030\003 
\001(\0132\037." +
-      "apache.rocketmq.v2.RetryPolicyH\003\210\001\001\0227\n\017r" +
-      "equest_timeout\030\004 \001(\0132\031.google.protobuf.D" +
-      "urationH\004\210\001\001\0224\n\npublishing\030\005 
\001(\0132\036.apach" +
-      "e.rocketmq.v2.PublishingH\000\0228\n\014subscripti" +
-      "on\030\006 \001(\0132 .apache.rocketmq.v2.Subscripti" +
-      "onH\000\022*\n\nuser_agent\030\007 \001(\0132\026.apache.rocket" +
-      "mq.v2.UA\022*\n\006metric\030\010 \001(\0132\032.apache.rocket" +
-      "mq.v2.MetricB\t\n\007pub_subB\016\n\014_client_typeB" +
-      "\017\n\r_access_pointB\021\n\017_backoff_policyB\022\n\020_" +
-      "request_timeout\"\252\004\n\020TelemetryCommand\022/\n\006" +
+      "d\030\003 \001(\t\"\221\001\n\nPublishing\022,\n\006topics\030\001 
\003(\0132\034" +
+      ".apache.rocketmq.v2.Resource\022\037\n\027compress" +
+      "_body_threshold\030\002 \001(\005\022\025\n\rmax_body_size\030\003" +
+      " \001(\005\022\035\n\025validate_message_type\030\004 
\001(\010\"\263\002\n\014" +
+      "Subscription\0220\n\005group\030\001 \001(\0132\034.apache.roc" +
+      "ketmq.v2.ResourceH\000\210\001\001\022<\n\rsubscriptions\030" +
+      "\002 \003(\0132%.apache.rocketmq.v2.SubscriptionE" +
+      "ntry\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(\0132\031.google.protobuf.DurationH\003\210\001\001B\010" 
+
+      "\n\006_groupB\007\n\005_fifoB\025\n\023_receive_batch_size" +
+      "B\027\n\025_long_polling_timeout\"Y\n\006Metric\022\n\n\002o" +
+      "n\030\001 \001(\010\0225\n\tendpoints\030\002 
\001(\0132\035.apache.rock" +
+      "etmq.v2.EndpointsH\000\210\001\001B\014\n\n_endpoints\"\220\004\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\000\022*\n\n" +
+      "user_agent\030\007 \001(\0132\026.apache.rocketmq.v2.UA" +
+      "\022*\n\006metric\030\010 \001(\0132\032.apache.rocketmq.v2.Me" +
+      "tricB\t\n\007pub_subB\016\n\014_client_typeB\017\n\r_acce" +
+      "ss_pointB\021\n\017_backoff_policyB\022\n\020_request_" +
+      "timeout\"\252\004\n\020TelemetryCommand\022/\n\006status\030\001" +
+      " \001(\0132\032.apache.rocketmq.v2.StatusH\001\210\001\001\0220\n" +
+      "\010settings\030\002 \001(\0132\034.apache.rocketmq.v2.Set" +
+      "tingsH\000\022B\n\022thread_stack_trace\030\003 \001(\0132$.ap" +
+      "ache.rocketmq.v2.ThreadStackTraceH\000\022H\n\025v" +
+      "erify_message_result\030\004 \001(\0132\'.apache.rock" +
+      "etmq.v2.VerifyMessageResultH\000\022e\n$recover" +
+      "_orphaned_transaction_command\030\005 \001(\01325.ap" +
+      "ache.rocketmq.v2.RecoverOrphanedTransact" +
+      "ionCommandH\000\022\\\n print_thread_stack_trace" +
+      "_command\030\006 \001(\01320.apache.rocketmq.v2.Prin" +
+      "tThreadStackTraceCommandH\000\022J\n\026verify_mes" +
+      "sage_command\030\007 \001(\0132(.apache.rocketmq.v2." +
+      "VerifyMessageCommandH\000B\t\n\007commandB\t\n\007_st" +
+      "atus\"\\\n\036NotifyClientTerminationRequest\0220" +
+      "\n\005group\030\001 \001(\0132\034.apache.rocketmq.v2.Resou" +
+      "rceH\000\210\001\001B\010\n\006_group\"M\n\037NotifyClientTermin" +
+      "ationResponse\022*\n\006status\030\001 \001(\0132\032.apache.r" +
+      "ocketmq.v2.Status\"\335\001\n\036ChangeInvisibleDur" +
+      "ationRequest\022+\n\005group\030\001 \001(\0132\034.apache.roc" +
+      "ketmq.v2.Resource\022+\n\005topic\030\002 \001(\0132\034.apach" +
+      "e.rocketmq.v2.Resource\022\026\n\016receipt_handle" +
+      "\030\003 \001(\t\0225\n\022invisible_duration\030\004 
\001(\0132\031.goo" +
+      "gle.protobuf.Duration\022\022\n\nmessage_id\030\005 \001(" +
+      "\t\"e\n\037ChangeInvisibleDurationResponse\022*\n\006" +
       "status\030\001 \001(\0132\032.apache.rocketmq.v2.Status" +
-      "H\001\210\001\001\0220\n\010settings\030\002 
\001(\0132\034.apache.rocketm" +
-      "q.v2.SettingsH\000\022B\n\022thread_stack_trace\030\003 " +
-      "\001(\0132$.apache.rocketmq.v2.ThreadStackTrac" +
-      "eH\000\022H\n\025verify_message_result\030\004 \001(\0132\'.apa" +
-      "che.rocketmq.v2.VerifyMessageResultH\000\022e\n" +
-      "$recover_orphaned_transaction_command\030\005 " +
-      "\001(\01325.apache.rocketmq.v2.RecoverOrphaned" +
-      "TransactionCommandH\000\022\\\n print_thread_sta" +
-      "ck_trace_command\030\006 \001(\01320.apache.rocketmq" +
-      ".v2.PrintThreadStackTraceCommandH\000\022J\n\026ve" +
-      "rify_message_command\030\007 \001(\0132(.apache.rock" +
-      "etmq.v2.VerifyMessageCommandH\000B\t\n\007comman" +
-      "dB\t\n\007_status\"\\\n\036NotifyClientTerminationR" +
-      "equest\0220\n\005group\030\001 \001(\0132\034.apache.rocketmq." +
-      "v2.ResourceH\000\210\001\001B\010\n\006_group\"M\n\037NotifyClie" +
-      "ntTerminationResponse\022*\n\006status\030\001 \001(\0132\032." +
-      "apache.rocketmq.v2.Status\"\335\001\n\036ChangeInvi" +
-      "sibleDurationRequest\022+\n\005group\030\001 \001(\0132\034.ap" +
-      "ache.rocketmq.v2.Resource\022+\n\005topic\030\002 \001(\013" +
-      "2\034.apache.rocketmq.v2.Resource\022\026\n\016receip" +
-      "t_handle\030\003 \001(\t\0225\n\022invisible_duration\030\004 \001" +
-      "(\0132\031.google.protobuf.Duration\022\022\n\nmessage" +
-      "_id\030\005 \001(\t\"e\n\037ChangeInvisibleDurationResp" +
-      "onse\022*\n\006status\030\001 \001(\0132\032.apache.rocketmq.v" +
-      "2.Status\022\026\n\016receipt_handle\030\002 \001(\t2\340\t\n\020Mes" +
-      "sagingService\022]\n\nQueryRoute\022%.apache.roc" +
-      "ketmq.v2.QueryRouteRequest\032&.apache.rock" +
-      "etmq.v2.QueryRouteResponse\"\000\022Z\n\tHeartbea" +
-      "t\022$.apache.rocketmq.v2.HeartbeatRequest\032" +
-      "%.apache.rocketmq.v2.HeartbeatResponse\"\000" +
-      "\022`\n\013SendMessage\022&.apache.rocketmq.v2.Sen" +
-      "dMessageRequest\032\'.apache.rocketmq.v2.Sen" +
-      "dMessageResponse\"\000\022l\n\017QueryAssignment\022*." +
-      "apache.rocketmq.v2.QueryAssignmentReques" +
-      "t\032+.apache.rocketmq.v2.QueryAssignmentRe" +
-      "sponse\"\000\022k\n\016ReceiveMessage\022).apache.rock" +
-      "etmq.v2.ReceiveMessageRequest\032*.apache.r" +
-      "ocketmq.v2.ReceiveMessageResponse\"\0000\001\022]\n" +
-      "\nAckMessage\022%.apache.rocketmq.v2.AckMess" +
-      "ageRequest\032&.apache.rocketmq.v2.AckMessa" +
-      "geResponse\"\000\022\234\001\n\037ForwardMessageToDeadLet" +
-      "terQueue\022:.apache.rocketmq.v2.ForwardMes" +
-      "sageToDeadLetterQueueRequest\032;.apache.ro" +
-      "cketmq.v2.ForwardMessageToDeadLetterQueu" +
-      "eResponse\"\000\022i\n\016EndTransaction\022).apache.r" +
-      "ocketmq.v2.EndTransactionRequest\032*.apach" +
-      "e.rocketmq.v2.EndTransactionResponse\"\000\022]" +
-      "\n\tTelemetry\022$.apache.rocketmq.v2.Telemet" +
-      "ryCommand\032$.apache.rocketmq.v2.Telemetry" +
-      "Command\"\000(\0010\001\022\204\001\n\027NotifyClientTerminatio" +
-      "n\0222.apache.rocketmq.v2.NotifyClientTermi" +
-      "nationRequest\0323.apache.rocketmq.v2.Notif" +
-      "yClientTerminationResponse\"\000\022\204\001\n\027ChangeI" +
-      "nvisibleDuration\0222.apache.rocketmq.v2.Ch" +
-      "angeInvisibleDurationRequest\0323.apache.ro" +
-      "cketmq.v2.ChangeInvisibleDurationRespons" +
-      "e\"\000B<\n\022apache.rocketmq.v2B\tMQServiceP\001\240\001" +
-      "\001\330\001\001\252\002\022Apache.Rocketmq.V2b\006proto3"
+      "\022\026\n\016receipt_handle\030\002 \001(\t2\340\t\n\020MessagingSe" +
+      "rvice\022]\n\nQueryRoute\022%.apache.rocketmq.v2" +
+      ".QueryRouteRequest\032&.apache.rocketmq.v2." +
+      "QueryRouteResponse\"\000\022Z\n\tHeartbeat\022$.apac" +
+      "he.rocketmq.v2.HeartbeatRequest\032%.apache" +
+      ".rocketmq.v2.HeartbeatResponse\"\000\022`\n\013Send" +
+      "Message\022&.apache.rocketmq.v2.SendMessage" +
+      "Request\032\'.apache.rocketmq.v2.SendMessage" +
+      "Response\"\000\022l\n\017QueryAssignment\022*.apache.r" +
+      "ocketmq.v2.QueryAssignmentRequest\032+.apac" +
+      "he.rocketmq.v2.QueryAssignmentResponse\"\000" +
+      "\022k\n\016ReceiveMessage\022).apache.rocketmq.v2." +
+      "ReceiveMessageRequest\032*.apache.rocketmq." +
+      "v2.ReceiveMessageResponse\"\0000\001\022]\n\nAckMess" +
+      "age\022%.apache.rocketmq.v2.AckMessageReque" +
+      "st\032&.apache.rocketmq.v2.AckMessageRespon" +
+      "se\"\000\022\234\001\n\037ForwardMessageToDeadLetterQueue" +
+      "\022:.apache.rocketmq.v2.ForwardMessageToDe" +
+      "adLetterQueueRequest\032;.apache.rocketmq.v" +
+      "2.ForwardMessageToDeadLetterQueueRespons" +
+      "e\"\000\022i\n\016EndTransaction\022).apache.rocketmq." +
+      "v2.EndTransactionRequest\032*.apache.rocket" +
+      "mq.v2.EndTransactionResponse\"\000\022]\n\tTeleme" +
+      "try\022$.apache.rocketmq.v2.TelemetryComman" +
+      "d\032$.apache.rocketmq.v2.TelemetryCommand\"" +
+      "\000(\0010\001\022\204\001\n\027NotifyClientTermination\0222.apac" +
+      "he.rocketmq.v2.NotifyClientTerminationRe" +
+      "quest\0323.apache.rocketmq.v2.NotifyClientT" +
+      "erminationResponse\"\000\022\204\001\n\027ChangeInvisible" +
+      "Duration\0222.apache.rocketmq.v2.ChangeInvi" +
+      "sibleDurationRequest\0323.apache.rocketmq.v" +
+      "2.ChangeInvisibleDurationResponse\"\000B<\n\022a" +
+      
"pache.rocketmq.v2B\tMQServiceP\001\240\001\001\330\001\001\252\002\022A" +
+      "pache.Rocketmq.V2b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -514,7 +515,7 @@ public final class MQService {
     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", });
+        new java.lang.String[] { "Topics", "CompressBodyThreshold", 
"MaxBodySize", "ValidateMessageType", });
     internal_static_apache_rocketmq_v2_Subscription_descriptor =
       getDescriptor().getMessageTypes().get(25);
     internal_static_apache_rocketmq_v2_Subscription_fieldAccessorTable = new
diff --git a/src/main/java/apache/rocketmq/v2/Publishing.java 
b/src/main/java/apache/rocketmq/v2/Publishing.java
index e34ad62..ce31284 100644
--- a/src/main/java/apache/rocketmq/v2/Publishing.java
+++ b/src/main/java/apache/rocketmq/v2/Publishing.java
@@ -69,6 +69,11 @@ private static final long serialVersionUID = 0L;
             maxBodySize_ = input.readInt32();
             break;
           }
+          case 32: {
+
+            validateMessageType_ = input.readBool();
+            break;
+          }
           default: {
             if (!parseUnknownField(
                 input, unknownFields, extensionRegistry, tag)) {
@@ -209,6 +214,22 @@ private static final long serialVersionUID = 0L;
     return maxBodySize_;
   }
 
+  public static final int VALIDATE_MESSAGE_TYPE_FIELD_NUMBER = 4;
+  private boolean validateMessageType_;
+  /**
+   * <pre>
+   * When `validate_message_type` flag set `false`, no need to validate 
message's type
+   * with messageQueue's `accept_message_types` before publising.
+   * </pre>
+   *
+   * <code>bool validate_message_type = 4;</code>
+   * @return The validateMessageType.
+   */
+  @java.lang.Override
+  public boolean getValidateMessageType() {
+    return validateMessageType_;
+  }
+
   private byte memoizedIsInitialized = -1;
   @java.lang.Override
   public final boolean isInitialized() {
@@ -232,6 +253,9 @@ private static final long serialVersionUID = 0L;
     if (maxBodySize_ != 0) {
       output.writeInt32(3, maxBodySize_);
     }
+    if (validateMessageType_ != false) {
+      output.writeBool(4, validateMessageType_);
+    }
     unknownFields.writeTo(output);
   }
 
@@ -253,6 +277,10 @@ private static final long serialVersionUID = 0L;
       size += com.google.protobuf.CodedOutputStream
         .computeInt32Size(3, maxBodySize_);
     }
+    if (validateMessageType_ != false) {
+      size += com.google.protobuf.CodedOutputStream
+        .computeBoolSize(4, validateMessageType_);
+    }
     size += unknownFields.getSerializedSize();
     memoizedSize = size;
     return size;
@@ -274,6 +302,8 @@ private static final long serialVersionUID = 0L;
         != other.getCompressBodyThreshold()) return false;
     if (getMaxBodySize()
         != other.getMaxBodySize()) return false;
+    if (getValidateMessageType()
+        != other.getValidateMessageType()) return false;
     if (!unknownFields.equals(other.unknownFields)) return false;
     return true;
   }
@@ -293,6 +323,9 @@ private static final long serialVersionUID = 0L;
     hash = (53 * hash) + getCompressBodyThreshold();
     hash = (37 * hash) + MAX_BODY_SIZE_FIELD_NUMBER;
     hash = (53 * hash) + getMaxBodySize();
+    hash = (37 * hash) + VALIDATE_MESSAGE_TYPE_FIELD_NUMBER;
+    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+        getValidateMessageType());
     hash = (29 * hash) + unknownFields.hashCode();
     memoizedHashCode = hash;
     return hash;
@@ -437,6 +470,8 @@ private static final long serialVersionUID = 0L;
 
       maxBodySize_ = 0;
 
+      validateMessageType_ = false;
+
       return this;
     }
 
@@ -475,6 +510,7 @@ private static final long serialVersionUID = 0L;
       }
       result.compressBodyThreshold_ = compressBodyThreshold_;
       result.maxBodySize_ = maxBodySize_;
+      result.validateMessageType_ = validateMessageType_;
       onBuilt();
       return result;
     }
@@ -555,6 +591,9 @@ private static final long serialVersionUID = 0L;
       if (other.getMaxBodySize() != 0) {
         setMaxBodySize(other.getMaxBodySize());
       }
+      if (other.getValidateMessageType() != false) {
+        setValidateMessageType(other.getValidateMessageType());
+      }
       this.mergeUnknownFields(other.unknownFields);
       onChanged();
       return this;
@@ -1033,6 +1072,52 @@ private static final long serialVersionUID = 0L;
       onChanged();
       return this;
     }
+
+    private boolean validateMessageType_ ;
+    /**
+     * <pre>
+     * When `validate_message_type` flag set `false`, no need to validate 
message's type
+     * with messageQueue's `accept_message_types` before publising.
+     * </pre>
+     *
+     * <code>bool validate_message_type = 4;</code>
+     * @return The validateMessageType.
+     */
+    @java.lang.Override
+    public boolean getValidateMessageType() {
+      return validateMessageType_;
+    }
+    /**
+     * <pre>
+     * When `validate_message_type` flag set `false`, no need to validate 
message's type
+     * with messageQueue's `accept_message_types` before publising.
+     * </pre>
+     *
+     * <code>bool validate_message_type = 4;</code>
+     * @param value The validateMessageType to set.
+     * @return This builder for chaining.
+     */
+    public Builder setValidateMessageType(boolean value) {
+      
+      validateMessageType_ = value;
+      onChanged();
+      return this;
+    }
+    /**
+     * <pre>
+     * When `validate_message_type` flag set `false`, no need to validate 
message's type
+     * with messageQueue's `accept_message_types` before publising.
+     * </pre>
+     *
+     * <code>bool validate_message_type = 4;</code>
+     * @return This builder for chaining.
+     */
+    public Builder clearValidateMessageType() {
+      
+      validateMessageType_ = false;
+      onChanged();
+      return this;
+    }
     @java.lang.Override
     public final Builder setUnknownFields(
         final com.google.protobuf.UnknownFieldSet unknownFields) {
diff --git a/src/main/java/apache/rocketmq/v2/PublishingOrBuilder.java 
b/src/main/java/apache/rocketmq/v2/PublishingOrBuilder.java
index c64a0ea..2d5b297 100644
--- a/src/main/java/apache/rocketmq/v2/PublishingOrBuilder.java
+++ b/src/main/java/apache/rocketmq/v2/PublishingOrBuilder.java
@@ -85,4 +85,15 @@ public interface PublishingOrBuilder extends
    * @return The maxBodySize.
    */
   int getMaxBodySize();
+
+  /**
+   * <pre>
+   * When `validate_message_type` flag set `false`, no need to validate 
message's type
+   * with messageQueue's `accept_message_types` before publising.
+   * </pre>
+   *
+   * <code>bool validate_message_type = 4;</code>
+   * @return The validateMessageType.
+   */
+  boolean getValidateMessageType();
 }
diff --git a/src/main/resources/proto/apache/rocketmq/v2/definition.proto 
b/src/main/resources/proto/apache/rocketmq/v2/definition.proto
index 21a6321..8ccbff2 100644
--- a/src/main/resources/proto/apache/rocketmq/v2/definition.proto
+++ b/src/main/resources/proto/apache/rocketmq/v2/definition.proto
@@ -391,6 +391,12 @@ enum Code {
   // Return different results for entries in composite request.
   MULTIPLE_RESULTS = 33;
 
+  // Generic code for bad request, indicating that required fields or headers 
are missing.
+  BAD_REQUEST = 400;
+
+  // Request is rejected due to missing of x-mq-client-id header.
+  BAD_REQUEST_CLIENT_ID = 400001;
+
   // Code indicates that the server encountered an unexpected condition
   // that prevented it from fulfilling the request.
   // This error response is a generic "catch-all" response.
diff --git a/src/main/resources/proto/apache/rocketmq/v2/service.proto 
b/src/main/resources/proto/apache/rocketmq/v2/service.proto
index a6d6cdc..3014c93 100644
--- a/src/main/resources/proto/apache/rocketmq/v2/service.proto
+++ b/src/main/resources/proto/apache/rocketmq/v2/service.proto
@@ -207,6 +207,10 @@ message Publishing {
   // reject the request. As a result, it is advisable that Producer performs
   // client-side check validation.
   int32 max_body_size = 3;
+
+  // When `validate_message_type` flag set `false`, no need to validate 
message's type
+  // with messageQueue's `accept_message_types` before publising.
+  bool validate_message_type = 4;
 }
 
 message Subscription {

Reply via email to