{
"schemaVersion": 1,
"defaults": [
{
"rustType": "GetLiteClientInfoRequestHeader",
"field": "maxCount",
"semantic": "literal:1000",
"owner": "rocketmq-rust maintainers",
"reason": "Matches the Java field initializer and validation contract",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_client_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteClientInfoRequestHeader.java"
}
},
{
"rustType": "SearchOffsetRequestHeader",
"field": "boundaryType",
"semantic": "literal:LOWER",
"owner": "rocketmq-rust maintainers",
"reason": "Matches SearchOffsetRequestHeader.getBoundaryType(), which returns LOWER when the Java field is null",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/search_offset_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/SearchOffsetRequestHeader.java"
}
},
{
"rustType": "AlterSyncStateSetRequestHeader",
"field": "invokeTime",
"semantic": "dynamic:current_time_millis",
"owner": "rocketmq-rust maintainers",
"reason": "Matches the Java field initializer",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/alter_sync_state_set_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/AlterSyncStateSetRequestHeader.java"
}
},
{
"rustType": "CleanBrokerDataRequestHeader",
"field": "invokeTime",
"semantic": "dynamic:current_time_millis",
"owner": "rocketmq-rust maintainers",
"reason": "Matches CleanControllerBrokerDataRequestHeader in Java",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/clean_broker_data_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/admin/CleanControllerBrokerDataRequestHeader.java"
}
},
{
"rustType": "ElectMasterRequestHeader",
"field": "invokeTime",
"semantic": "dynamic:current_time_millis",
"owner": "rocketmq-rust maintainers",
"reason": "Matches the Java field initializer",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/elect_master_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/ElectMasterRequestHeader.java"
}
},
{
"rustType": "NotificationRequestHeader",
"field": "isLiteConsumer",
"semantic": "literal:false",
"owner": "rocketmq-rust maintainers",
"reason": "Matches the Java primitive boolean initializer",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/notification_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/NotificationRequestHeader.java"
}
},
{
"rustType": "QueryConsumeQueueRequestHeader",
"field": "topic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field while accepting a Java frame that omits the nullable topic",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consume_queue_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumeQueueRequestHeader.java"
}
},
{
"rustType": "EndTransactionRequestHeader",
"field": "topic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field while accepting a Java frame that omits the nullable topic",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/end_transaction_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/EndTransactionRequestHeader.java"
}
},
{
"rustType": "GetLiteGroupInfoRequestHeader",
"field": "liteTopic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field while accepting a Java frame that omits the nullable lite topic",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_group_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteGroupInfoRequestHeader.java"
}
},
{
"rustType": "GetConsumeStatsRequestHeader",
"field": "topic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field while accepting a Java frame that omits the nullable topic",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_consume_stats_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetConsumeStatsRequestHeader.java"
}
},
{
"rustType": "QuerySubscriptionByConsumerRequestHeader",
"field": "topic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field while accepting a Java frame that omits the nullable topic",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_subscription_by_consumer_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QuerySubscriptionByConsumerRequestHeader.java"
}
},
{
"rustType": "AlterSyncStateSetRequestHeader",
"field": "brokerName",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/alter_sync_state_set_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/AlterSyncStateSetRequestHeader.java"
}
},
{
"rustType": "AlterSyncStateSetRequestHeader",
"field": "masterBrokerId",
"semantic": "literal:0",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/alter_sync_state_set_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/AlterSyncStateSetRequestHeader.java"
}
},
{
"rustType": "AlterSyncStateSetRequestHeader",
"field": "masterEpoch",
"semantic": "literal:0",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/alter_sync_state_set_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/AlterSyncStateSetRequestHeader.java"
}
},
{
"rustType": "ApplyBrokerIdRequestHeader",
"field": "clusterName",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/apply_broker_id_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java"
}
},
{
"rustType": "ApplyBrokerIdRequestHeader",
"field": "brokerName",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/apply_broker_id_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java"
}
},
{
"rustType": "ApplyBrokerIdRequestHeader",
"field": "appliedBrokerId",
"semantic": "literal:0",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/apply_broker_id_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java"
}
},
{
"rustType": "ApplyBrokerIdRequestHeader",
"field": "registerCheckCode",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/apply_broker_id_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java"
}
},
{
"rustType": "GetNextBrokerIdRequestHeader",
"field": "clusterName",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/get_next_broker_id_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdRequestHeader.java"
}
},
{
"rustType": "GetNextBrokerIdRequestHeader",
"field": "brokerName",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/get_next_broker_id_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdRequestHeader.java"
}
},
{
"rustType": "GetReplicaInfoRequestHeader",
"field": "brokerName",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/get_replica_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/GetReplicaInfoRequestHeader.java"
}
},
{
"rustType": "CreateAclRequestHeader",
"field": "subject",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/create_acl_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/CreateAclRequestHeader.java"
}
},
{
"rustType": "CreateUserRequestHeader",
"field": "username",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/create_user_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/CreateUserRequestHeader.java"
}
},
{
"rustType": "DeleteAclRequestHeader",
"field": "subject",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/delete_acl_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/DeleteAclRequestHeader.java"
}
},
{
"rustType": "DeleteUserRequestHeader",
"field": "username",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/delete_user_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/DeleteUserRequestHeader.java"
}
},
{
"rustType": "GetAclRequestHeader",
"field": "subject",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_acl_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetAclRequestHeader.java"
}
},
{
"rustType": "GetLiteTopicInfoRequestHeader",
"field": "parentTopic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_topic_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteTopicInfoRequestHeader.java"
}
},
{
"rustType": "GetLiteTopicInfoRequestHeader",
"field": "liteTopic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_topic_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteTopicInfoRequestHeader.java"
}
},
{
"rustType": "GetUserRequestHeader",
"field": "username",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_user_request_headers.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetUserRequestHeader.java"
}
},
{
"rustType": "ListAclRequestHeader",
"field": "subjectFilter",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/list_acl_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ListAclsRequestHeader.java"
}
},
{
"rustType": "ListAclRequestHeader",
"field": "resourceFilter",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/list_acl_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ListAclsRequestHeader.java"
}
},
{
"rustType": "ListUsersRequestHeader",
"field": "filter",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/list_users_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ListUsersRequestHeader.java"
}
},
{
"rustType": "ResumeCheckHalfMessageRequestHeader",
"field": "topic",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/resume_check_half_message_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ResumeCheckHalfMessageRequestHeader.java"
}
},
{
"rustType": "UpdateAclRequestHeader",
"field": "subject",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/update_acl_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/UpdateAclRequestHeader.java"
}
},
{
"rustType": "UpdateUserRequestHeader",
"field": "username",
"semantic": "literal:",
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserves the public non-optional Rust field and legacy V2 missing-field behavior for the nullable Java value",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/update_user_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/UpdateUserRequestHeader.java"
}
}
],
"nameMappings": [
{
"rustType": "CleanBrokerDataRequestHeader",
"rustField": "clean_living_broker",
"javaField": "isCleanLivingBroker",
"owner": "rocketmq-rust maintainers",
"reason": "Java's reflected field name includes the is prefix",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/clean_broker_data_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/admin/CleanControllerBrokerDataRequestHeader.java"
}
}
],
"aliasConflictPolicies": [
{
"rustType": "RpcRequestHeader",
"canonical": "ns",
"aliases": [
"namespace"
],
"policy": "prefer_canonical",
"owner": "rocketmq-rust maintainers",
"reason": "Legacy Rust long-key compatibility",
"referenceSource": {
"rust": "rocketmq-protocol/src/rpc/rpc_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/rpc/RpcRequestHeader.java"
}
},
{
"rustType": "RpcRequestHeader",
"canonical": "nsd",
"aliases": [
"namespaced"
],
"policy": "prefer_canonical",
"owner": "rocketmq-rust maintainers",
"reason": "Legacy Rust long-key compatibility",
"referenceSource": {
"rust": "rocketmq-protocol/src/rpc/rpc_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/rpc/RpcRequestHeader.java"
}
},
{
"rustType": "RpcRequestHeader",
"canonical": "bname",
"aliases": [
"brokerName"
],
"policy": "prefer_canonical",
"owner": "rocketmq-rust maintainers",
"reason": "Legacy Rust long-key compatibility",
"referenceSource": {
"rust": "rocketmq-protocol/src/rpc/rpc_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/rpc/RpcRequestHeader.java"
}
},
{
"rustType": "RpcRequestHeader",
"canonical": "oway",
"aliases": [
"oneway"
],
"policy": "prefer_canonical",
"owner": "rocketmq-rust maintainers",
"reason": "Legacy Rust long-key compatibility",
"referenceSource": {
"rust": "rocketmq-protocol/src/rpc/rpc_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/rpc/RpcRequestHeader.java"
}
},
{
"rustType": "PullMessageRequestHeader",
"canonical": "proxyFrowardClientId",
"aliases": [
"proxyForwardClientId"
],
"policy": "prefer_canonical",
"owner": "rocketmq-rust maintainers",
"reason": "Java historical spelling is the canonical field name",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/pull_message_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/PullMessageRequestHeader.java"
}
},
{
"rustType": "CleanBrokerDataRequestHeader",
"canonical": "isCleanLivingBroker",
"aliases": [
"cleanLivingBroker"
],
"policy": "prefer_canonical",
"owner": "rocketmq-rust maintainers",
"reason": "Legacy Rust field spelling remains decode-only input",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/clean_broker_data_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/admin/CleanControllerBrokerDataRequestHeader.java"
}
},
{
"rustType": "UnregisterClientRequestHeader",
"canonical": "clientID",
"aliases": [
"clientId"
],
"policy": "prefer_canonical",
"owner": "rocketmq-rust maintainers",
"reason": "Preserve the legacy Rust clientId spelling as decode-only input while Java clientID remains canonical",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/unregister_client_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/UnregisterClientRequestHeader.java"
}
}
],
"requiredDrift": [
{
"rustType": "AddWritePermOfBrokerRequestHeader",
"field": "brokerName",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"ADD_WRITE_PERM_OF_BROKER"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/namesrv/perm_broker_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/AddWritePermOfBrokerRequestHeader.java"
}
},
{
"rustType": "AddWritePermOfBrokerResponseHeader",
"field": "addTopicCount",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/namesrv/perm_broker_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/AddWritePermOfBrokerResponseHeader.java"
}
},
{
"rustType": "AlterSyncStateSetRequestHeader",
"field": "masterBrokerId",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"CONTROLLER_ALTER_SYNC_STATE_SET"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/alter_sync_state_set_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/AlterSyncStateSetRequestHeader.java"
}
},
{
"rustType": "AlterSyncStateSetRequestHeader",
"field": "masterEpoch",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"CONTROLLER_ALTER_SYNC_STATE_SET"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/alter_sync_state_set_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/AlterSyncStateSetRequestHeader.java"
}
},
{
"rustType": "ApplyBrokerIdRequestHeader",
"field": "appliedBrokerId",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"CONTROLLER_APPLY_BROKER_ID"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/apply_broker_id_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdRequestHeader.java"
}
},
{
"rustType": "CheckRocksdbCqWriteProgressRequestHeader",
"field": "checkStoreTime",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"CHECK_ROCKSDB_CQ_WRITE_PROGRESS"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/check_rocksdb_cq_write_progress_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/CheckRocksdbCqWriteProgressRequestHeader.java"
}
},
{
"rustType": "ConsumerSendMsgBackRequestHeader",
"field": "unitMode",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"CONSUMER_SEND_MSG_BACK"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public non-optional Rust boolean while accepting the Java primitive false default",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/consumer_send_msg_back_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ConsumerSendMsgBackRequestHeader.java"
}
},
{
"rustType": "ElectMasterRequestHeader",
"field": "invokeTime",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"CONTROLLER_ELECT_MASTER"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/controller/elect_master_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/ElectMasterRequestHeader.java"
}
},
{
"rustType": "EndTransactionRequestHeader",
"field": "fromTransactionCheck",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"END_TRANSACTION"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/end_transaction_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/EndTransactionRequestHeader.java"
}
},
{
"rustType": "EndTransactionRequestHeader",
"field": "topic",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"END_TRANSACTION"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/end_transaction_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/EndTransactionRequestHeader.java"
}
},
{
"rustType": "GetBrokerConfigResponseHeader",
"field": "version",
"javaPresence": "required",
"decision": "defer-strict-presence-to-v3",
"wireCompatibility": "accept-missing-from-legacy-rust",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_broker_config_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetBrokerConfigResponseHeader.java"
}
},
{
"rustType": "GetConsumerRunningInfoRequestHeader",
"field": "jstackEnable",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"GET_CONSUMER_RUNNING_INFO"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_consumer_running_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetConsumerRunningInfoRequestHeader.java"
}
},
{
"rustType": "GetKVConfigResponseHeader",
"field": "value",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/namesrv/kv_config_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/GetKVConfigResponseHeader.java"
}
},
{
"rustType": "GetLiteGroupInfoRequestHeader",
"field": "liteTopic",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_group_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteGroupInfoRequestHeader.java"
}
},
{
"rustType": "GetLiteGroupInfoRequestHeader",
"field": "topK",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_group_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteGroupInfoRequestHeader.java"
}
},
{
"rustType": "GetLiteTopicInfoRequestHeader",
"field": "liteTopic",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_topic_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteTopicInfoRequestHeader.java"
}
},
{
"rustType": "GetLiteTopicInfoRequestHeader",
"field": "parentTopic",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_lite_topic_info_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetLiteTopicInfoRequestHeader.java"
}
},
{
"rustType": "GetMaxOffsetRequestHeader",
"field": "committed",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"GET_MAX_OFFSET"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_max_offset_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetMaxOffsetRequestHeader.java"
}
},
{
"rustType": "GetMaxOffsetResponseHeader",
"field": "offset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_max_offset_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetMaxOffsetResponseHeader.java"
}
},
{
"rustType": "GetMetaDataResponseHeader",
"field": "isLeader",
"javaPresence": "primitive",
"decision": "defer-strict-presence-to-v3",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_meta_data_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/GetMetaDataResponseHeader.java"
}
},
{
"rustType": "GetMinOffsetResponseHeader",
"field": "offset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/get_min_offset_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetMinOffsetResponseHeader.java"
}
},
{
"rustType": "NotificationRequestHeader",
"field": "order",
"javaPresence": "optional",
"decision": "approved-rust-default",
"wireCompatibility": "accept-missing-with-reviewed-rust-default",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"NOTIFICATION"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Preserve the public optional Rust API while V3 enforces Java strict presence",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/notification_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/NotificationRequestHeader.java"
}
},
{
"rustType": "NotifyBrokerRoleChangedRequestHeader",
"field": "masterAddress",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"NOTIFY_BROKER_ROLE_CHANGED"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/notify_broker_role_change_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/NotifyBrokerRoleChangedRequestHeader.java"
}
},
{
"rustType": "NotifyBrokerRoleChangedRequestHeader",
"field": "masterBrokerId",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"NOTIFY_BROKER_ROLE_CHANGED"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/notify_broker_role_change_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/NotifyBrokerRoleChangedRequestHeader.java"
}
},
{
"rustType": "NotifyBrokerRoleChangedRequestHeader",
"field": "masterEpoch",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"NOTIFY_BROKER_ROLE_CHANGED"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/notify_broker_role_change_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/NotifyBrokerRoleChangedRequestHeader.java"
}
},
{
"rustType": "NotifyBrokerRoleChangedRequestHeader",
"field": "syncStateSetEpoch",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"NOTIFY_BROKER_ROLE_CHANGED"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/notify_broker_role_change_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/NotifyBrokerRoleChangedRequestHeader.java"
}
},
{
"rustType": "QueryConsumeQueueRequestHeader",
"field": "count",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_CONSUME_QUEUE"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consume_queue_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumeQueueRequestHeader.java"
}
},
{
"rustType": "QueryConsumeQueueRequestHeader",
"field": "index",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_CONSUME_QUEUE"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consume_queue_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumeQueueRequestHeader.java"
}
},
{
"rustType": "QueryConsumeQueueRequestHeader",
"field": "queueId",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_CONSUME_QUEUE"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consume_queue_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumeQueueRequestHeader.java"
}
},
{
"rustType": "QueryConsumeQueueRequestHeader",
"field": "topic",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_CONSUME_QUEUE"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consume_queue_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumeQueueRequestHeader.java"
}
},
{
"rustType": "QueryConsumerOffsetRequestHeader",
"field": "consumerGroup",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_CONSUMER_OFFSET"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consumer_offset_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumerOffsetRequestHeader.java"
}
},
{
"rustType": "QueryConsumerOffsetRequestHeader",
"field": "queueId",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_CONSUMER_OFFSET"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consumer_offset_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumerOffsetRequestHeader.java"
}
},
{
"rustType": "QueryConsumerOffsetRequestHeader",
"field": "topic",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_CONSUMER_OFFSET"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consumer_offset_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumerOffsetRequestHeader.java"
}
},
{
"rustType": "QueryConsumerOffsetResponseHeader",
"field": "offset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_consumer_offset_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryConsumerOffsetResponseHeader.java"
}
},
{
"rustType": "QueryDataVersionResponseHeader",
"field": "changed",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/namesrv/query_data_version_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/QueryDataVersionResponseHeader.java"
}
},
{
"rustType": "QueryMessageResponseHeader",
"field": "indexLastUpdatePhyoffset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_message_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryMessageResponseHeader.java"
}
},
{
"rustType": "QueryMessageResponseHeader",
"field": "indexLastUpdateTimestamp",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_message_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QueryMessageResponseHeader.java"
}
},
{
"rustType": "QuerySubscriptionByConsumerRequestHeader",
"field": "topic",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"QUERY_SUBSCRIPTION_BY_CONSUMER"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/query_subscription_by_consumer_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/QuerySubscriptionByConsumerRequestHeader.java"
}
},
{
"rustType": "RegisterBrokerRequestHeader",
"field": "bodyCrc32",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"REGISTER_BROKER"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/namesrv/register_broker_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/RegisterBrokerRequestHeader.java"
}
},
{
"rustType": "RegisterBrokerRequestHeader",
"field": "compressed",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"REGISTER_BROKER"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/namesrv/register_broker_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/RegisterBrokerRequestHeader.java"
}
},
{
"rustType": "ResetMasterFlushOffsetHeader",
"field": "masterFlushOffset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/reset_master_flush_offset_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ResetMasterFlushOffsetHeader.java"
}
},
{
"rustType": "ResumeCheckHalfMessageRequestHeader",
"field": "topic",
"javaPresence": "optional",
"decision": "align-java-optional",
"wireCompatibility": "accept-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"RESUME_CHECK_HALF_MESSAGE"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Accept legal Java frames that omit the field while rejecting malformed values",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/resume_check_half_message_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ResumeCheckHalfMessageRequestHeader.java"
}
},
{
"rustType": "SearchOffsetResponseHeader",
"field": "offset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/search_offset_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/SearchOffsetResponseHeader.java"
}
},
{
"rustType": "SendMessageResponseHeader",
"field": "msgId",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/message_operation_header/send_message_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/SendMessageResponseHeader.java"
}
},
{
"rustType": "SendMessageResponseHeader",
"field": "queueId",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/message_operation_header/send_message_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/SendMessageResponseHeader.java"
}
},
{
"rustType": "SendMessageResponseHeader",
"field": "queueOffset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/message_operation_header/send_message_response_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/SendMessageResponseHeader.java"
}
},
{
"rustType": "ViewMessageRequestHeader",
"field": "offset",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [
"VIEW_MESSAGE_BY_ID"
],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/view_message_request_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/ViewMessageRequestHeader.java"
}
},
{
"rustType": "WipeWritePermOfBrokerResponseHeader",
"field": "wipeTopicCount",
"javaPresence": "required",
"decision": "align-java-required",
"wireCompatibility": "reject-missing",
"malformedPolicy": "reject-invalid",
"requestCodes": [],
"owner": "rocketmq-rust protocol maintainers",
"reason": "Match Java CFNotNull presence without changing the field wire type",
"referenceSource": {
"rust": "rocketmq-protocol/src/protocol/header/namesrv/perm_broker_header.rs",
"java": "remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/WipeWritePermOfBrokerResponseHeader.java"
}
}
],
"malformedPolicies": {
"boolean": "accept-ascii-case-insensitive-true-false-only",
"integer": "reject-invalid-or-overflow",
"boundaryType": "accept-upper-case-insensitively-otherwise-lower",
"aliasConflict": "prefer-canonical-only-for-reviewed-legacy-aliases"
}
}