From 10ddac50c763a7ad6a4acbe57c642fad844ab61e Mon Sep 17 00:00:00 2001 From: hongyunyan <649330952@qq.com> Date: Thu, 9 Apr 2026 12:08:02 +0800 Subject: [PATCH] eventservice: stabilize signal resolved test --- pkg/eventservice/event_broker_test.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkg/eventservice/event_broker_test.go b/pkg/eventservice/event_broker_test.go index 637bee5ec2..e9e08f1d3f 100644 --- a/pkg/eventservice/event_broker_test.go +++ b/pkg/eventservice/event_broker_test.go @@ -1484,7 +1484,12 @@ func TestProcessTableTriggerDispatcherSendsSignalResolvedWhenNoForwardRangeAndNo changefeed := broker.getOrSetChangefeedStatus(info.GetChangefeedID(), info.GetSyncPointInterval()) dispatcher := newDispatcherStat(info, 1, 1, nil, changefeed) - dispatcher.lastSentResolvedTsTime.Store(time.Now().Add(-defaultSendResolvedTsInterval - time.Second)) + // Keep the test focused on the signal resolved path instead of coupling it with + // the separate handshake behavior. + dispatcher.seq.Store(1) + // Use the zero time to bypass the rate limit deterministically without depending + // on wall clock timing. + dispatcher.lastSentResolvedTsTime.Store(time.Time{}) dispatcherPtr := &atomic.Pointer[dispatcherStat]{} dispatcherPtr.Store(dispatcher) @@ -1497,12 +1502,10 @@ func TestProcessTableTriggerDispatcherSendsSignalResolvedWhenNoForwardRangeAndNo broker.processTableTriggerDispatcher(context.Background(), dispatcher.id, dispatcher) - require.Equal(t, 2, len(broker.messageCh[dispatcher.messageWorkerIndex])) - first := <-broker.messageCh[dispatcher.messageWorkerIndex] - second := <-broker.messageCh[dispatcher.messageWorkerIndex] - require.Equal(t, event.TypeHandshakeEvent, first.msgType) - require.Equal(t, event.TypeResolvedEvent, second.msgType) - require.Equal(t, ts10, second.resolvedTsEvent.ResolvedTs) + require.Equal(t, 1, len(broker.messageCh[dispatcher.messageWorkerIndex])) + msg := <-broker.messageCh[dispatcher.messageWorkerIndex] + require.Equal(t, event.TypeResolvedEvent, msg.msgType) + require.Equal(t, ts10, msg.resolvedTsEvent.ResolvedTs) require.Equal(t, ts10, dispatcher.sentResolvedTs.Load()) require.Equal(t, ts20, dispatcher.nextSyncPoint.Load()) }