Skip to content

Commit 30814f8

Browse files
committed
feat: trigger controller wait eventbus ready
Signed-off-by: xdlbdy <[email protected]>
1 parent ba347ae commit 30814f8

File tree

10 files changed

+123
-74
lines changed

10 files changed

+123
-74
lines changed

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,11 @@ require (
119119
go.uber.org/multierr v1.7.0 // indirect
120120
go.uber.org/zap v1.17.0 // indirect
121121
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d // indirect
122-
golang.org/x/net v0.4.0 // indirect
123-
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect
122+
golang.org/x/net v0.8.0 // indirect
123+
golang.org/x/oauth2 v0.6.0 // indirect
124124
golang.org/x/sync v0.1.0 // indirect
125-
golang.org/x/sys v0.3.0 // indirect
126-
golang.org/x/text v0.5.0 // indirect
125+
golang.org/x/sys v0.6.0 // indirect
126+
golang.org/x/text v0.8.0 // indirect
127127
google.golang.org/appengine v1.6.7 // indirect
128128
)
129129

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -535,8 +535,8 @@ golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qx
535535
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
536536
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
537537
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
538-
golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU=
539-
golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
538+
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
539+
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
540540
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
541541
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
542542
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -545,8 +545,8 @@ golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4Iltr
545545
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
546546
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
547547
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
548-
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk=
549-
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
548+
golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw=
549+
golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
550550
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
551551
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
552552
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -607,8 +607,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
607607
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
608608
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
609609
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
610-
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
611-
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
610+
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
611+
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
612612
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
613613
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
614614
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -619,8 +619,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
619619
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
620620
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
621621
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
622-
golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
623-
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
622+
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
623+
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
624624
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
625625
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
626626
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

internal/controller/trigger/controller.go

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,17 @@ package trigger
1616

1717
import (
1818
"context"
19-
stdErr "errors"
19+
stderr "errors"
2020
"fmt"
2121
"io"
2222
"os"
2323
"strings"
2424
"sync"
2525
"time"
2626

27+
"google.golang.org/grpc/credentials/insecure"
28+
"google.golang.org/protobuf/types/known/emptypb"
29+
2730
eb "github.com/vanus-labs/vanus/client"
2831
"github.com/vanus-labs/vanus/internal/controller/member"
2932
"github.com/vanus-labs/vanus/internal/controller/trigger/metadata"
@@ -42,22 +45,21 @@ import (
4245
"github.com/vanus-labs/vanus/pkg/util"
4346
ctrlpb "github.com/vanus-labs/vanus/proto/pkg/controller"
4447
metapb "github.com/vanus-labs/vanus/proto/pkg/meta"
45-
"google.golang.org/grpc/credentials/insecure"
46-
"google.golang.org/protobuf/types/known/emptypb"
4748
)
4849

4950
var _ ctrlpb.TriggerControllerServer = &controller{}
5051

5152
const (
5253
defaultGcSubscriptionInterval = time.Second * 10
54+
waitEventbusReadyTime = time.Minute * 3
55+
waitEventbusCheckPeriod = time.Second * 2
5356
)
5457

5558
func NewController(config Config, mem member.Member) *controller {
5659
ctrl := &controller{
5760
config: config,
5861
member: mem,
5962
needCleanSubscription: map[vanus.ID]string{},
60-
state: primitive.ServerStateCreated,
6163
cl: cluster.NewClusterController(config.ControllerAddr, insecure.NewCredentials()),
6264
ebClient: eb.Connect(config.ControllerAddr),
6365
}
@@ -79,17 +81,13 @@ type controller struct {
7981
isLeader bool
8082
ctx context.Context
8183
stopFunc context.CancelFunc
82-
state primitive.ServerState
8384
cl cluster.Cluster
8485
ebClient eb.Client
8586
}
8687

8788
func (ctrl *controller) SetDeadLetterEventOffset(
8889
ctx context.Context, request *ctrlpb.SetDeadLetterEventOffsetRequest,
8990
) (*emptypb.Empty, error) {
90-
if ctrl.state != primitive.ServerStateRunning {
91-
return nil, errors.ErrServerNotStart
92-
}
9391
subID := vanus.ID(request.SubscriptionId)
9492
err := ctrl.subscriptionManager.SaveDeadLetterOffset(ctx, subID, request.GetOffset())
9593
if err != nil {
@@ -101,9 +99,6 @@ func (ctrl *controller) SetDeadLetterEventOffset(
10199
func (ctrl *controller) GetDeadLetterEventOffset(
102100
ctx context.Context, request *ctrlpb.GetDeadLetterEventOffsetRequest,
103101
) (*ctrlpb.GetDeadLetterEventOffsetResponse, error) {
104-
if ctrl.state != primitive.ServerStateRunning {
105-
return nil, errors.ErrServerNotStart
106-
}
107102
subID := vanus.ID(request.SubscriptionId)
108103
offset, err := ctrl.subscriptionManager.GetDeadLetterOffset(ctx, subID)
109104
if err != nil {
@@ -115,9 +110,6 @@ func (ctrl *controller) GetDeadLetterEventOffset(
115110
func (ctrl *controller) CommitOffset(
116111
ctx context.Context, request *ctrlpb.CommitOffsetRequest,
117112
) (*ctrlpb.CommitOffsetResponse, error) {
118-
if ctrl.state != primitive.ServerStateRunning {
119-
return nil, errors.ErrServerNotStart
120-
}
121113
resp := new(ctrlpb.CommitOffsetResponse)
122114
for _, subInfo := range request.SubscriptionInfo {
123115
if len(subInfo.Offsets) == 0 {
@@ -139,9 +131,6 @@ func (ctrl *controller) CommitOffset(
139131
func (ctrl *controller) ResetOffsetToTimestamp(
140132
ctx context.Context, request *ctrlpb.ResetOffsetToTimestampRequest,
141133
) (*ctrlpb.ResetOffsetToTimestampResponse, error) {
142-
if ctrl.state != primitive.ServerStateRunning {
143-
return nil, errors.ErrServerNotStart
144-
}
145134
if request.Timestamp == 0 {
146135
return nil, errors.ErrInvalidRequest.WithMessage("timestamp is invalid")
147136
}
@@ -166,15 +155,20 @@ func (ctrl *controller) ResetOffsetToTimestamp(
166155
func (ctrl *controller) CreateSubscription(
167156
ctx context.Context, request *ctrlpb.CreateSubscriptionRequest,
168157
) (*metapb.Subscription, error) {
169-
if ctrl.state != primitive.ServerStateRunning {
170-
return nil, errors.ErrServerNotStart
171-
}
172158
err := validation.ValidateSubscriptionRequest(ctx, request.Subscription)
173159
if err != nil {
174160
log.Info(ctx).Err(err).Msg("create subscription validate fail")
175161
return nil, err
176162
}
177163
sub := convert.FromPbSubscriptionRequest(request.Subscription)
164+
_, err = ctrl.cl.NamespaceService().GetNamespace(ctx, sub.NamespaceID.Uint64())
165+
if err != nil {
166+
return nil, err
167+
}
168+
_, err = ctrl.cl.EventbusService().GetEventbus(ctx, sub.EventbusID.Uint64())
169+
if err != nil {
170+
return nil, err
171+
}
178172
sub.ID, err = vanus.NewID()
179173
sub.CreatedAt = time.Now()
180174
sub.UpdatedAt = time.Now()
@@ -200,9 +194,6 @@ func (ctrl *controller) CreateSubscription(
200194
func (ctrl *controller) UpdateSubscription(
201195
ctx context.Context, request *ctrlpb.UpdateSubscriptionRequest,
202196
) (*metapb.Subscription, error) {
203-
if ctrl.state != primitive.ServerStateRunning {
204-
return nil, errors.ErrServerNotStart
205-
}
206197
subID := vanus.ID(request.Id)
207198
sub := ctrl.subscriptionManager.GetSubscription(ctx, subID)
208199
if sub == nil {
@@ -243,9 +234,6 @@ func (ctrl *controller) UpdateSubscription(
243234
func (ctrl *controller) DeleteSubscription(
244235
ctx context.Context, request *ctrlpb.DeleteSubscriptionRequest,
245236
) (*emptypb.Empty, error) {
246-
if ctrl.state != primitive.ServerStateRunning {
247-
return nil, errors.ErrServerNotStart
248-
}
249237
subID := vanus.ID(request.Id)
250238
sub := ctrl.subscriptionManager.GetSubscription(ctx, subID)
251239
if sub != nil {
@@ -269,9 +257,6 @@ func (ctrl *controller) DeleteSubscription(
269257
func (ctrl *controller) DisableSubscription(
270258
ctx context.Context, request *ctrlpb.DisableSubscriptionRequest,
271259
) (*emptypb.Empty, error) {
272-
if ctrl.state != primitive.ServerStateRunning {
273-
return nil, errors.ErrServerNotStart
274-
}
275260
subID := vanus.ID(request.Id)
276261
sub := ctrl.subscriptionManager.GetSubscription(ctx, subID)
277262
if sub == nil {
@@ -302,9 +287,6 @@ func (ctrl *controller) DisableSubscription(
302287
func (ctrl *controller) ResumeSubscription(
303288
ctx context.Context, request *ctrlpb.ResumeSubscriptionRequest,
304289
) (*emptypb.Empty, error) {
305-
if ctrl.state != primitive.ServerStateRunning {
306-
return nil, errors.ErrServerNotStart
307-
}
308290
subID := vanus.ID(request.Id)
309291
sub := ctrl.subscriptionManager.GetSubscription(ctx, subID)
310292
if sub == nil {
@@ -326,9 +308,6 @@ func (ctrl *controller) ResumeSubscription(
326308
func (ctrl *controller) GetSubscription(
327309
ctx context.Context, request *ctrlpb.GetSubscriptionRequest,
328310
) (*metapb.Subscription, error) {
329-
if ctrl.state != primitive.ServerStateRunning {
330-
return nil, errors.ErrServerNotStart
331-
}
332311
sub := ctrl.subscriptionManager.GetSubscription(ctx, vanus.ID(request.Id))
333312
if sub == nil {
334313
return nil, errors.ErrResourceNotFound.WithMessage("subscription not exist")
@@ -355,7 +334,7 @@ func (ctrl *controller) TriggerWorkerHeartbeat(
355334
}
356335
req, err := heartbeat.Recv()
357336
if err != nil {
358-
if !stdErr.Is(err, io.EOF) {
337+
if !stderr.Is(err, io.EOF) {
359338
log.Warn(ctx).Err(err).Msg("heartbeat recv error")
360339
}
361340
log.Info(ctx).Msg("heartbeat close")
@@ -562,7 +541,6 @@ func (ctrl *controller) membershipChangedProcessor(
562541
ctrl.subscriptionManager.Start()
563542
ctrl.scheduler.Run()
564543
go ctrl.gcSubscriptions(ctx)
565-
ctrl.state = primitive.ServerStateRunning
566544
ctrl.isLeader = true
567545
case member.EventBecomeFollower:
568546
if !ctrl.isLeader {
@@ -579,13 +557,11 @@ func (ctrl *controller) membershipChangedProcessor(
579557

580558
func (ctrl *controller) stop(_ context.Context) error {
581559
ctrl.member.ResignIfLeader()
582-
ctrl.state = primitive.ServerStateStopping
583560
ctrl.stopFunc()
584561
ctrl.scheduler.Stop()
585562
ctrl.workerManager.Stop()
586563
ctrl.subscriptionManager.Stop()
587564
ctrl.storage.Close()
588-
ctrl.state = primitive.ServerStateStopped
589565
return nil
590566
}
591567

@@ -621,12 +597,40 @@ func (ctrl *controller) initTriggerSystemEventbus() {
621597
go func() {
622598
ctx := context.Background()
623599
log.Info(ctx).Msg("trigger controller is ready to check system eventbus")
600+
if err := ctrl.cl.WaitForControllerReady(false); err != nil {
601+
log.Error().Err(err).Msg("trigger controller check system eventbus, " +
602+
"but Vanus cluster hasn't ready, exit")
603+
os.Exit(-1)
604+
}
605+
ready := util.WaitReady(func() bool {
606+
exist, err := ctrl.cl.EventbusService().IsSystemEventbusExistByName(ctx, primitive.TimerEventbusName)
607+
if err != nil {
608+
log.Error().Err(err).Msg("check TimerEventbus exist has error")
609+
return false
610+
}
611+
return exist
612+
}, waitEventbusReadyTime, waitEventbusCheckPeriod)
613+
if !ready {
614+
log.Error().Msg("check TimerEventbus timeout no exist, will exist")
615+
os.Exit(-1)
616+
}
617+
618+
// wait TimerEventbus
619+
exist, err := ctrl.cl.EventbusService().IsSystemEventbusExistByName(ctx, primitive.RetryEventbusName)
620+
if err != nil {
621+
log.Error().Err(err).Msg("failed to check RetryEventbus exist, exit")
622+
os.Exit(-1)
623+
}
624+
if exist {
625+
log.Info().Msg("trigger controller check RetryEventbus exist")
626+
return
627+
}
628+
log.Info().Msg("trigger controller check RetryEventbus no exist, will create")
624629
if err := ctrl.cl.WaitForControllerReady(true); err != nil {
625630
log.Error(ctx).Err(err).
626631
Msg("trigger controller try to create system eventbus, but Vanus cluster hasn't ready, exit")
627632
os.Exit(-1)
628633
}
629-
630634
if _, err := ctrl.cl.EventbusService().CreateSystemEventbusIfNotExist(ctx, primitive.RetryEventbusName,
631635
"System Eventbus For Trigger Service"); err != nil {
632636
log.Error(ctx).Err(err).Msg("failed to create RetryEventbus, exit")

internal/controller/trigger/controller_test.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/golang/mock/gomock"
2525
. "github.com/smartystreets/goconvey/convey"
2626

27+
"github.com/vanus-labs/vanus/pkg/cluster"
2728
ctrlpb "github.com/vanus-labs/vanus/proto/pkg/controller"
2829
metapb "github.com/vanus-labs/vanus/proto/pkg/meta"
2930

@@ -47,7 +48,6 @@ func TestController_CommitOffset(t *testing.T) {
4748
ctrl.subscriptionManager = subManager
4849

4950
subID := vanus.NewTestID()
50-
ctrl.state = primitive.ServerStateRunning
5151
request := &ctrlpb.CommitOffsetRequest{
5252
ForceCommit: true,
5353
SubscriptionInfo: []*metapb.SubscriptionInfo{{
@@ -87,7 +87,6 @@ func TestController_ResetOffsetToTimestamp(t *testing.T) {
8787
ctrl.subscriptionManager = subManager
8888

8989
subID := vanus.NewTestID()
90-
ctrl.state = primitive.ServerStateRunning
9190
Convey("reset offset subscription not exist", func() {
9291
subManager.EXPECT().GetSubscription(gomock.Any(), gomock.Eq(subID)).AnyTimes().Return(nil)
9392
_, err := ctrl.ResetOffsetToTimestamp(ctx, &ctrlpb.ResetOffsetToTimestampRequest{
@@ -123,11 +122,17 @@ func TestController_CreateSubscription(t *testing.T) {
123122
subManager := subscription.NewMockManager(mockCtrl)
124123
ctrl.subscriptionManager = subManager
125124
ctrl.scheduler = worker.NewSubscriptionScheduler(ctrl.workerManager, ctrl.subscriptionManager)
126-
127-
ctrl.state = primitive.ServerStateRunning
125+
mockCluster := cluster.NewMockCluster(mockCtrl)
126+
ctrl.cl = mockCluster
128127
Convey("create subscription", func() {
129128
subManager.EXPECT().GetSubscriptionByName(gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes().Return(nil)
130129
subManager.EXPECT().AddSubscription(gomock.Any(), gomock.Any()).AnyTimes().Return(nil)
130+
mockNsSvc := cluster.NewMockNamespaceService(mockCtrl)
131+
mockEbSvc := cluster.NewMockEventbusService(mockCtrl)
132+
mockCluster.EXPECT().NamespaceService().AnyTimes().Return(mockNsSvc)
133+
mockCluster.EXPECT().EventbusService().AnyTimes().Return(mockEbSvc)
134+
mockNsSvc.EXPECT().GetNamespace(gomock.Any(), gomock.Any()).AnyTimes().Return(nil, nil)
135+
mockEbSvc.EXPECT().GetEventbus(gomock.Any(), gomock.Any()).AnyTimes().Return(nil, nil)
131136
create := &ctrlpb.CreateSubscriptionRequest{
132137
Subscription: &ctrlpb.SubscriptionRequest{
133138
NamespaceId: vanus.NewTestID().Uint64(),
@@ -168,7 +173,6 @@ func TestController_UpdateSubscription(t *testing.T) {
168173
subID := vanus.NewTestID()
169174
eventbusID := vanus.NewTestID()
170175
namespaceID := vanus.NewTestID()
171-
ctrl.state = primitive.ServerStateRunning
172176
Convey("update subscription not exist", func() {
173177
subManager.EXPECT().GetSubscription(gomock.Any(), gomock.Eq(subID)).Return(nil)
174178
request := &ctrlpb.UpdateSubscriptionRequest{
@@ -387,7 +391,6 @@ func TestController_DeleteSubscription(t *testing.T) {
387391
request := &ctrlpb.DeleteSubscriptionRequest{
388392
Id: subID.Uint64(),
389393
}
390-
ctrl.state = primitive.ServerStateRunning
391394
Convey("delete subscription no exist", func() {
392395
subManager.EXPECT().GetSubscription(gomock.Any(), gomock.Eq(subID)).Return(nil)
393396
_, err := ctrl.DeleteSubscription(ctx, request)
@@ -447,7 +450,6 @@ func TestController_GetSubscription(t *testing.T) {
447450
request := &ctrlpb.GetSubscriptionRequest{
448451
Id: subID.Uint64(),
449452
}
450-
ctrl.state = primitive.ServerStateRunning
451453
Convey("get subscription no exist", func() {
452454
subManager.EXPECT().GetSubscription(gomock.Any(), gomock.Eq(subID)).Return(nil)
453455
_, err := ctrl.GetSubscription(ctx, request)

pkg/cluster/controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ type NamespaceService interface {
6363
}
6464

6565
type EventbusService interface {
66+
IsSystemEventbusExistByName(ctx context.Context, name string) (bool, error)
6667
CreateSystemEventbusIfNotExist(ctx context.Context, name string, desc string) (*metapb.Eventbus, error)
6768
Delete(ctx context.Context, id uint64) error
6869
GetSystemEventbusByName(ctx context.Context, name string) (*metapb.Eventbus, error)

0 commit comments

Comments
 (0)