diff --git a/lncfg/wtclient.go b/lncfg/wtclient.go index feaae464c..7a6959adf 100644 --- a/lncfg/wtclient.go +++ b/lncfg/wtclient.go @@ -23,6 +23,10 @@ type WtClient struct { // before sending the DeleteSession message to the tower server. SessionCloseRange uint32 `long:"session-close-range" description:"The range over which to choose a random number of blocks to wait after the last channel of a session is closed before sending the DeleteSession message to the tower server. Set to 1 for no delay."` + // MaxTasksInMemQueue is the maximum number of back-up tasks that should + // be queued in memory before overflowing to disk. + MaxTasksInMemQueue uint64 `long:"max-tasks-in-mem-queue" description:"The maximum number of updates that should be queued in memory before overflowing to disk."` + // MaxUpdates is the maximum number of updates to be backed up in a // single tower sessions. MaxUpdates uint16 `long:"max-updates" description:"The maximum number of updates to be backed up in a single session."` diff --git a/sample-lnd.conf b/sample-lnd.conf index 674cb4486..1e379d70f 100644 --- a/sample-lnd.conf +++ b/sample-lnd.conf @@ -1007,6 +1007,10 @@ litecoin.node=ltcd ; The maximum number of updates to include in a tower session. ; wtclient.max-updates=1024 +; The maximum number of back-up tasks that should be queued in memory before +; overflowing to disk. +; wtclient.max-tasks-in-mem-queue=2000 + [healthcheck] ; The number of times we should attempt to query our chain backend before diff --git a/server.go b/server.go index c5ad81f21..35e375452 100644 --- a/server.go +++ b/server.go @@ -1516,6 +1516,11 @@ func newServer(cfg *Config, listenAddrs []net.Addr, sessionCloseRange = cfg.WtClient.SessionCloseRange } + maxTasksInMemQueue := uint64(wtclient.DefaultMaxTasksInMemQueue) + if cfg.WtClient.MaxTasksInMemQueue != 0 { + maxTasksInMemQueue = cfg.WtClient.MaxTasksInMemQueue + } + if err := policy.Validate(); err != nil { return nil, err } @@ -1579,7 +1584,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr, MinBackoff: 10 * time.Second, MaxBackoff: 5 * time.Minute, ForceQuitDelay: wtclient.DefaultForceQuitDelay, - MaxTasksInMemQueue: wtclient.DefaultMaxTasksInMemQueue, + MaxTasksInMemQueue: maxTasksInMemQueue, }) if err != nil { return nil, err @@ -1613,7 +1618,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr, MinBackoff: 10 * time.Second, MaxBackoff: 5 * time.Minute, ForceQuitDelay: wtclient.DefaultForceQuitDelay, - MaxTasksInMemQueue: wtclient.DefaultMaxTasksInMemQueue, + MaxTasksInMemQueue: maxTasksInMemQueue, }) if err != nil { return nil, err