mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:17:32 +00:00
fix: improve performance (#4300)
## Note This release requires a setup step to fully improve performance. Be sure to start ZITADEL with an appropriate command (zitadel start-from-init / start-from-setup) ## Changes - fix: only run projection scheduler on active instances - fix: set default for concurrent instances of projections to 1 (for scheduling) - fix: create more indexes on eventstore.events table - fix: get current sequence for token check (improve reread performance)
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"math"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/database"
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
@@ -86,6 +87,13 @@ func testSetResourceOwner(resourceOwner string) func(*SearchQueryBuilder) *Searc
|
||||
}
|
||||
}
|
||||
|
||||
func testSetCreationDateAfter(date time.Time) func(*SearchQuery) *SearchQuery {
|
||||
return func(query *SearchQuery) *SearchQuery {
|
||||
query = query.CreationDateAfter(date)
|
||||
return query
|
||||
}
|
||||
}
|
||||
|
||||
func testSetSortOrder(asc bool) func(*SearchQueryBuilder) *SearchQueryBuilder {
|
||||
return func(query *SearchQueryBuilder) *SearchQueryBuilder {
|
||||
if asc {
|
||||
@@ -224,6 +232,7 @@ func TestSearchQuerybuilderSetters(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSearchQuerybuilderBuild(t *testing.T) {
|
||||
testNow := time.Now()
|
||||
type args struct {
|
||||
columns Columns
|
||||
setters []func(*SearchQueryBuilder) *SearchQueryBuilder
|
||||
@@ -648,6 +657,34 @@ func TestSearchQuerybuilderBuild(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "filter aggregate type, instanceID and creation date after",
|
||||
args: args{
|
||||
columns: ColumnsEvent,
|
||||
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||
testAddQuery(
|
||||
testSetAggregateTypes("user"),
|
||||
testSetCreationDateAfter(testNow),
|
||||
),
|
||||
},
|
||||
instanceID: "instanceID",
|
||||
},
|
||||
res: res{
|
||||
isErr: nil,
|
||||
query: &repository.SearchQuery{
|
||||
Columns: repository.ColumnsEvent,
|
||||
Desc: false,
|
||||
Limit: 0,
|
||||
Filters: [][]*repository.Filter{
|
||||
{
|
||||
repository.NewFilter(repository.FieldAggregateType, repository.AggregateType("user"), repository.OperationEquals),
|
||||
repository.NewFilter(repository.FieldCreationDate, testNow, repository.OperationGreater),
|
||||
repository.NewFilter(repository.FieldInstanceID, "instanceID", repository.OperationEquals),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "column invalid",
|
||||
args: args{
|
||||
|
Reference in New Issue
Block a user