Skip to content

Commit 0f5fe6d

Browse files
Merge pull request OffchainLabs#3333 from OffchainLabs/auctioneer-extra-logging
Fix autoclaim defaults for auctioneer
2 parents 2b88dd4 + e5d7d3a commit 0f5fe6d

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

pubsub/consumer.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,12 @@ var TestConsumerConfig = ConsumerConfig{
3939
var ErrAlreadySet = errors.New("redis key already set")
4040

4141
func ConsumerConfigAddOptions(prefix string, f *pflag.FlagSet) {
42-
f.Duration(prefix+".response-entry-timeout", DefaultConsumerConfig.ResponseEntryTimeout, "timeout for response entry")
43-
f.Duration(prefix+".idletime-to-autoclaim", DefaultConsumerConfig.IdletimeToAutoclaim, "After a message spends this amount of time in PEL (Pending Entries List i.e claimed by another consumer but not Acknowledged) it will be allowed to be autoclaimed by other consumers")
42+
ConsumerConfigAddOptionsWithDefaults(prefix, f, DefaultConsumerConfig)
43+
}
44+
45+
func ConsumerConfigAddOptionsWithDefaults(prefix string, f *pflag.FlagSet, defaultConfig ConsumerConfig) {
46+
f.Duration(prefix+".response-entry-timeout", defaultConfig.ResponseEntryTimeout, "timeout for response entry")
47+
f.Duration(prefix+".idletime-to-autoclaim", defaultConfig.IdletimeToAutoclaim, "After a message spends this amount of time in PEL (Pending Entries List i.e claimed by another consumer but not Acknowledged) it will be allowed to be autoclaimed by other consumers")
4448
}
4549

4650
// Consumer implements a consumer for redis stream provides heartbeat to

timeboost/auctioneer.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ var TestAuctioneerServerConfig = AuctioneerServerConfig{
105105
func AuctioneerServerConfigAddOptions(prefix string, f *pflag.FlagSet) {
106106
f.Bool(prefix+".enable", DefaultAuctioneerServerConfig.Enable, "enable auctioneer server")
107107
f.String(prefix+".redis-url", DefaultAuctioneerServerConfig.RedisURL, "url of redis server to receive bids from bid validators")
108-
pubsub.ConsumerConfigAddOptions(prefix+".consumer-config", f)
108+
pubsub.ConsumerConfigAddOptionsWithDefaults(prefix+".consumer-config", f, DefaultAuctioneerConsumerConfig)
109109
f.Duration(prefix+".stream-timeout", DefaultAuctioneerServerConfig.StreamTimeout, "Timeout on polling for existence of redis streams")
110110
genericconf.WalletConfigAddOptions(prefix+".wallet", f, "wallet for auctioneer server")
111111
f.String(prefix+".sequencer-endpoint", DefaultAuctioneerServerConfig.SequencerEndpoint, "sequencer RPC endpoint")
@@ -344,9 +344,15 @@ func (a *AuctioneerServer) updateCoordination(ctx context.Context) time.Duration
344344
elapsed := time.Now().UnixMilli() - storedTimestamp
345345
if elapsed > a.auctioneerLivenessTimeout.Milliseconds() {
346346
log.Trace("Lock is stale, deleting and trying to acquire", "id", a.myId, "storedId", storedId, "elapsedMs", elapsed)
347-
// Delete the stale lock
348-
deleted := a.redisClient.Del(ctx, AUCTIONEER_CHOSEN_KEY).Val()
349-
if deleted > 0 {
347+
if delErr := a.redisClient.Del(ctx, AUCTIONEER_CHOSEN_KEY).Err(); delErr != nil {
348+
log.Error("Error deleting stale lock key",
349+
"id", a.myId,
350+
"key", AUCTIONEER_CHOSEN_KEY,
351+
"error", delErr,
352+
"storedId", storedId,
353+
"storedTimestamp", storedTimestamp,
354+
"elapsedMs", elapsed)
355+
} else {
350356
// Try to acquire with SetNX
351357
success = a.redisClient.SetNX(ctx, AUCTIONEER_CHOSEN_KEY, candidateValue, a.auctioneerLivenessTimeout).Val()
352358
if success {

0 commit comments

Comments
 (0)