feat(queue): remove unnecessary acked flag

This commit is contained in:
Ilya Averyanov 2024-07-09 14:14:22 +03:00
parent 143086b0ef
commit 9e5e7a23c5
2 changed files with 17 additions and 34 deletions

View File

@ -68,14 +68,7 @@
-type progress() :: -type progress() ::
#{ #{
acked := true,
iterator := emqx_ds:iterator() iterator := emqx_ds:iterator()
}
| #{
acked := false,
iterator := emqx_ds:iterator(),
qos1_acked := boolean(),
qos2_acked := boolean()
}. }.
-type scheduled_action() :: #{ -type scheduled_action() :: #{
@ -626,28 +619,22 @@ stream_progress(
) -> ) ->
Qos1Acked = n_acked(?QOS_1, CommQos1, StartQos1), Qos1Acked = n_acked(?QOS_1, CommQos1, StartQos1),
Qos2Acked = n_acked(?QOS_2, CommQos2, StartQos2), Qos2Acked = n_acked(?QOS_2, CommQos2, StartQos2),
case is_stream_fully_acked(CommQos1, CommQos2, SRS) of Iterator =
true -> case is_stream_fully_acked(CommQos1, CommQos2, SRS) of
#{ true ->
stream => Stream, EndIt;
progress => #{ false ->
acked => true, emqx_ds_skipping_iterator:update_or_new(
iterator => EndIt BeginIt, Qos1Acked, Qos2Acked
}, )
use_finished => is_use_finished(SRS) end,
}; #{
false -> stream => Stream,
#{ progress => #{
stream => Stream, iterator => Iterator
progress => #{ },
acked => true, use_finished => is_use_finished(SRS)
iterator => emqx_ds_skipping_iterator:update_or_new( }.
BeginIt, Qos1Acked, Qos2Acked
)
},
use_finished => is_use_finished(SRS)
}
end.
fold_shared_subs(Fun, Acc, S) -> fold_shared_subs(Fun, Acc, S) ->
emqx_persistent_session_ds_state:fold_subscriptions( emqx_persistent_session_ds_state:fold_subscriptions(

View File

@ -314,8 +314,7 @@ update_progresses(StreamStates, NewStreamsWRanks, TopicFilter, StartTime) ->
?PERSISTENT_MESSAGE_DB, Stream, TopicFilter, StartTime ?PERSISTENT_MESSAGE_DB, Stream, TopicFilter, StartTime
), ),
Progress = #{ Progress = #{
iterator => It, iterator => It
acked => true
}, },
{ {
NewStreamStatesAcc#{Stream => #{progress => Progress, rank => Rank}}, NewStreamStatesAcc#{Stream => #{progress => Progress, rank => Rank}},
@ -708,9 +707,6 @@ clean_revoked_streams(
( (
#{ #{
stream := Stream, stream := Stream,
progress := #{
acked := true
},
use_finished := true use_finished := true
} }
) -> ) ->