diff --git a/changelogs/head.asciidoc b/changelogs/head.asciidoc index 0a98131034d..4787d500741 100644 --- a/changelogs/head.asciidoc +++ b/changelogs/head.asciidoc @@ -13,6 +13,7 @@ https://github.com/elastic/apm-server/compare/8.1\...main[View commits] [float] ==== Bug fixes - Do not overwrite `service version` if no transaction/error/... specific `service.name` is given {pull}7281[7281] +- modelindexer: Fix indexing performance regression due to locking bug {pull}7649[7649] [float] ==== Intake API Changes diff --git a/model/modelindexer/indexer.go b/model/modelindexer/indexer.go index 4fb0ae70231..a0b12b88bdf 100644 --- a/model/modelindexer/indexer.go +++ b/model/modelindexer/indexer.go @@ -334,9 +334,9 @@ func (i *Indexer) flushActive(ctx context.Context) error { }() i.activeMu.Lock() - defer i.activeMu.Unlock() bulkIndexer := i.active i.active = nil + i.activeMu.Unlock() err := i.flush(ctx, bulkIndexer) bulkIndexer.Reset() i.available <- bulkIndexer