Skip to content

Conversation

@chyezh
Copy link
Contributor

@chyezh chyezh commented Dec 12, 2025

issue: #43897
also for issue: #46166

add ack_sync_up flag into broadcast message header, which indicates that
whether the broadcast operation is need to be synced up between the streaming node and the coordinator.
If the ack_sync_up is false, the broadcast operation will be acked once the recovery storage see the message at current vchannel, the fast ack operation can be applied to speed up the broadcast operation.
If the ack_sync_up is true, the broadcast operation will be acked after the checkpoint of current vchannel reach current message.
The fast ack operation can not be applied to speed up the broadcast operation, because the ack operation need to be synced up with streaming node.
e.g. if truncate collection operation want to call ack once callback after the all segment are flushed at current vchannel, it should set the ack_sync_up to be true.

TODO: current implementation doesn't promise the ack sync up semantic, it only promise FastAck operation will not be applied, wait for 3.0 to implement the ack sync up semantic. only for truncate api now.

… api

add ack_sync_up flag into broadcast message header, which indicates that

whether the broadcast operation is need to be synced up between the streaming node and the coordinator.
If the ack_sync_up is false, the broadcast operation will be acked once the recovery storage see the message at current vchannel, the fast ack operation can be applied to speed up the broadcast operation.
If the ack_sync_up is true, the broadcast operation will be acked after the checkpoint of current vchannel reach current message.
The fast ack operation can not be applied to speed up the broadcast operation, because the ack operation need to be synced up with streaming node.
e.g. if truncate collection operation want to call ack once callback after the all segment are flushed at current vchannel, it should set the ack_sync_up to be true.

TODO: current implementation doesn't promise the ack sync up semantic,
it only promise FastAck operation will not be applied, wait for 3.0 to implement the ack sync up semantic. only for truncate api now.

Signed-off-by: chyezh <chyezh@outlook.com>
@chyezh chyezh added this to the 3.0 milestone Dec 12, 2025
@chyezh chyezh requested review from sijie-ni-0214 and removed request for bigsheeper and cydrain December 12, 2025 07:51
@sre-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: chyezh
To complete the pull request process, please assign congqixia after the PR has been reviewed.
You can assign the PR to them by writing /assign @congqixia in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sre-ci-robot sre-ci-robot added the size/XL Denotes a PR that changes 500-999 lines. label Dec 12, 2025
@mergify mergify bot added dco-passed DCO check passed. kind/enhancement Issues or changes related to enhancement labels Dec 12, 2025
@sre-ci-robot
Copy link
Contributor

[ci-v2-notice]
Notice: We are gradually rolling out the new ci-v2 system.

  • Legacy CI jobs remain unaffected, you can just ignore ci-v2 if you don't want to run it.
  • Additional "ci-v2/*" checkers will run for this PR to ensure the new ci-v2 system is working as expected.
  • For tests that exist in both v1 and v2, passing in either system is considered PASS.

To rerun ci-v2 checks, comment with:

  • /ci-rerun-code-check // for ci-v2/code-check
  • /ci-rerun-build // for ci-v2/build
  • /ci-rerun-ut-integration // for ci-v2/ut-integration
  • /ci-rerun-ut-go // for ci-v2/ut-go
  • /ci-rerun-ut-cpp // for ci-v2/ut-cpp
  • /ci-rerun-ut // for all ci-v2/ut-integration, ci-v2/ut-go, ci-v2/ut-cpp
  • /ci-rerun-e2e-arm // for ci-v2/e2e-arm [master branch only]
  • /ci-rerun-e2e-default // for ci-v2/e2e-default [master branch only]

If you have any questions or requests, please contact @zhikunyao.

@codecov
Copy link

codecov bot commented Dec 12, 2025

Codecov Report

❌ Patch coverage is 0% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 41.38%. Comparing base (0c54875) to head (3d39826).

Files with missing lines Patch % Lines
pkg/streaming/util/message/builder.go 0.00% 12 Missing ⚠️
pkg/streaming/util/message/marshal_log_object.go 0.00% 4 Missing ⚠️
internal/proxy/task_import.go 0.00% 1 Missing ⚠️
pkg/streaming/util/message/broadcast.go 0.00% 1 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (0c54875) and HEAD (3d39826). Click for more details.

HEAD has 2 uploads less than BASE
Flag BASE (0c54875) HEAD (3d39826)
4 2
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           master   #46313       +/-   ##
===========================================
- Coverage   75.99%   41.38%   -34.61%     
===========================================
  Files        1899     1234      -665     
  Lines      297674   196194   -101480     
===========================================
- Hits       226223    81200   -145023     
- Misses      63967   114657    +50690     
+ Partials     7484      337     -7147     
Components Coverage Δ
Client ∅ <ø> (∅)
Core 82.82% <ø> (ø)
Go 9.54% <0.00%> (-64.45%) ⬇️
Files with missing lines Coverage Δ
pkg/common/common.go 0.00% <ø> (-72.29%) ⬇️
pkg/streaming/util/message/reflect_info.go 0.00% <ø> (ø)
internal/proxy/task_import.go 0.00% <0.00%> (-72.73%) ⬇️
pkg/streaming/util/message/broadcast.go 0.00% <0.00%> (-96.67%) ⬇️
pkg/streaming/util/message/marshal_log_object.go 0.00% <0.00%> (-83.09%) ⬇️
pkg/streaming/util/message/builder.go 0.00% <0.00%> (-69.39%) ⬇️

... and 1290 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-passed DCO check passed. kind/enhancement Issues or changes related to enhancement size/XL Denotes a PR that changes 500-999 lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants