diff --git a/pkg/parser/node.go b/pkg/parser/node.go index 91456e37b..cdd6f7119 100644 --- a/pkg/parser/node.go +++ b/pkg/parser/node.go @@ -121,6 +121,9 @@ func (n *Node) validate(pctx *UnixParserCtx, ectx EnricherCtx) error { if stash.TTL == "" { return fmt.Errorf("stash %s : ttl must be set", stash.Name) } + if stash.Strategy == "" { + stash.Strategy = "LRU" + } //should be configurable if stash.MaxMapSize == 0 { stash.MaxMapSize = 100 @@ -573,6 +576,7 @@ func (n *Node) compile(pctx *UnixParserCtx, ectx EnricherCtx) error { Size: n.Stash[i].MaxMapSize, TTL: n.Stash[i].TTLVal, Name: n.Stash[i].Name, + Strategy: n.Stash[i].Strategy, LogLevel: &logLvl, }); err != nil { return errors.Wrap(err, "while initializing cache") diff --git a/pkg/types/grok_pattern.go b/pkg/types/grok_pattern.go index 341d06416..74c612b1f 100644 --- a/pkg/types/grok_pattern.go +++ b/pkg/types/grok_pattern.go @@ -51,4 +51,5 @@ type DataCapture struct { TTL string `yaml:"ttl,omitempty"` TTLVal time.Duration `yaml:"-"` MaxMapSize int `yaml:"size,omitempty"` + Strategy string `yaml:"strategy,omitempty"` }