diff --git a/cmd/cc-backend/server.go b/cmd/cc-backend/server.go index a2d5df25..85503535 100644 --- a/cmd/cc-backend/server.go +++ b/cmd/cc-backend/server.go @@ -417,7 +417,7 @@ func (s *Server) Shutdown(ctx context.Context) { cclog.Infof("Shutdown: NATS closed (%v)", time.Since(natsStart)) httpStart := time.Now() - shutdownCtx, cancel := context.WithTimeout(ctx, 5*time.Second) + shutdownCtx, cancel := context.WithTimeout(ctx, 60*time.Second) defer cancel() if err := s.server.Shutdown(shutdownCtx); err != nil { cclog.Errorf("Server shutdown error: %v", err) @@ -440,7 +440,7 @@ func (s *Server) Shutdown(ctx context.Context) { } wg.Go(func() { - if err := archiver.Shutdown(10 * time.Second); err != nil { + if err := archiver.Shutdown(60 * time.Second); err != nil { cclog.Warnf("Archiver shutdown: %v", err) } }) diff --git a/pkg/metricstore/walCheckpoint.go b/pkg/metricstore/walCheckpoint.go index f8121901..01de32e9 100644 --- a/pkg/metricstore/walCheckpoint.go +++ b/pkg/metricstore/walCheckpoint.go @@ -127,7 +127,7 @@ type walFileState struct { // walFlushInterval controls how often dirty WAL files are flushed to disk. // Decoupling flushes from message processing lets the consumer run at memory // speed, amortizing syscall overhead across many writes. -const walFlushInterval = 5 * time.Second +const walFlushInterval = 1 * time.Second // walShardIndex computes which shard a message belongs to based on cluster+node. // Uses FNV-1a hash for fast, well-distributed mapping.