From be1f9084e85f686b798060a7f61af5667175912e Mon Sep 17 00:00:00 2001 From: wxing1292 Date: Sun, 13 Feb 2022 14:34:53 -0800 Subject: [PATCH] Do not blindly retry timer task read (#2500) * Do not blindly retry timer task read, rely on timer controller rate limiter instead --- .../nosqlplugin/cassandra/gocql/errors.go | 22 ------------------- service/history/timerQueueAckMgr.go | 17 ++------------ service/history/transferQueueProcessorBase.go | 2 -- 3 files changed, 2 insertions(+), 39 deletions(-) diff --git a/common/persistence/nosql/nosqlplugin/cassandra/gocql/errors.go b/common/persistence/nosql/nosqlplugin/cassandra/gocql/errors.go index 0ca7751a923..2817715a0ea 100644 --- a/common/persistence/nosql/nosqlplugin/cassandra/gocql/errors.go +++ b/common/persistence/nosql/nosqlplugin/cassandra/gocql/errors.go @@ -63,28 +63,6 @@ func ConvertError( } } -func IsTimeoutError(err error) bool { - if err == context.DeadlineExceeded { - return true - } - if err == gocql.ErrTimeoutNoResponse { - return true - } - if err == gocql.ErrConnectionClosed { - return true - } - _, ok := err.(*gocql.RequestErrWriteTimeout) - return ok -} - func IsNotFoundError(err error) bool { return err == gocql.ErrNotFound } - -func IsThrottlingError(err error) bool { - if req, ok := err.(gocql.RequestError); ok { - // gocql does not expose the constant errOverloaded = 0x1001 - return req.Code() == 0x1001 - } - return false -} diff --git a/service/history/timerQueueAckMgr.go b/service/history/timerQueueAckMgr.go index 21f1561c3be..0b530a849c6 100644 --- a/service/history/timerQueueAckMgr.go +++ b/service/history/timerQueueAckMgr.go @@ -32,7 +32,6 @@ import ( "go.temporal.io/server/common/backoff" "go.temporal.io/server/service/history/configs" - "go.temporal.io/server/service/history/consts" "go.temporal.io/server/service/history/shard" "go.temporal.io/server/service/history/tasks" @@ -44,8 +43,6 @@ import ( var ( maximumTime = time.Unix(0, math.MaxInt64).UTC() - - timerRetryPolicy = createTimerRetryPolicy() ) const ( @@ -415,19 +412,9 @@ func (t *timerQueueAckMgrImpl) getTimerTasks(minTimestamp time.Time, maxTimestam BatchSize: batchSize, NextPageToken: pageToken, } - - var response *persistence.GetTimerTasksResponse - var err error - op := func() error { - response, err = t.executionMgr.GetTimerTasks(request) - return err - } - - err = backoff.Retry(op, timerRetryPolicy, func(err error) bool { - return true - }) + response, err := t.executionMgr.GetTimerTasks(request) if err != nil { - return nil, nil, consts.ErrMaxAttemptsExceeded + return nil, nil, err } return response.Tasks, response.NextPageToken, nil } diff --git a/service/history/transferQueueProcessorBase.go b/service/history/transferQueueProcessorBase.go index 141a36a8f64..7e6b25d9471 100644 --- a/service/history/transferQueueProcessorBase.go +++ b/service/history/transferQueueProcessorBase.go @@ -79,11 +79,9 @@ func (t *transferQueueProcessorBase) readTasks( MaxReadLevel: t.maxReadAckLevel(), BatchSize: t.options.BatchSize(), }) - if err != nil { return nil, false, err } - return response.Tasks, len(response.NextPageToken) != 0, nil }