Skip to content

Commit

Permalink
Add time encoders to disk spool
Browse files Browse the repository at this point in the history
Register encoders for time.Time and common.Time so that events containing timestamps
can be serialized.

Fixes #10099
  • Loading branch information
andrewkroh committed Feb 5, 2019
1 parent f5ffaa8 commit f92981e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.next.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- The backing off now implements jitter to better distribute the load. {issue}10172[10172]
- Fix TLS certificate DoS vulnerability. {pull}10302[10302]
- Fix panic and file unlock in spool on atomic operation (arm, x86-32). File lock was not released when panic occurs, leading to the beat deadlocking on startup. {pull}10289[10289]
- Fix encoding of timestamps when using disk spool. {issue}10099[10099]

*Auditbeat*

Expand Down
8 changes: 7 additions & 1 deletion libbeat/publisher/queue/spool/codec.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (

"github.com/elastic/beats/libbeat/beat"
"github.com/elastic/beats/libbeat/common"
"github.com/elastic/beats/libbeat/outputs/codec"
"github.com/elastic/beats/libbeat/publisher"
"github.com/elastic/go-structform"
"github.com/elastic/go-structform/cborl"
Expand Down Expand Up @@ -95,7 +96,12 @@ func (e *encoder) reset() {
panic("no codec configured")
}

folder, err := gotype.NewIterator(visitor)
folder, err := gotype.NewIterator(visitor,
gotype.Folders(
codec.MakeTimestampEncoder(),
codec.MakeBCTimestampEncoder(),
),
)
if err != nil {
panic(err)
}
Expand Down

0 comments on commit f92981e

Please sign in to comment.