Skip to content

[Enhancement] optimization transcation msg endTransaction in 5.x proxy #9431

Open
@woaishixiaoxiao

Description

@woaishixiaoxiao
Contributor

Before Creating the Enhancement Request

  • I have confirmed that this should be classified as an enhancement rather than a bug/feature.

Summary

endTransaction can use tranStateTableOffset and commitLogOffset in requestheader if 5.x proxy has no info(eg, proxy restart) which avoids endTransaction failure.

Motivation

In 5.x version, if client send transcation msg but does not use the same proxy to commit, the msg will lost.

  1. the client may commit half message in different proxy, such as proxy restart client reconnect or use the domain when connecting and send but client uses the IP under the domain when commit
  2. transaction info not only exists in the proxy that sent the message also in EndTransactionRequest header. If the proxy does not have this information, we can also use the request header

Describe the Solution You'd Like

Image
in this endTransaction in proxy, we add two param commitLogOffset and tranStateTableOffset

Describe Alternatives You've Considered

no

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @woaishixiaoxiao

      Issue actions

        [Enhancement] optimization transcation msg endTransaction in 5.x proxy · Issue #9431 · apache/rocketmq