mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:17:32 +00:00
feat(eventstore): increase parallel write capabilities (#5940)
This implementation increases parallel write capabilities of the eventstore. Please have a look at the technical advisories: [05](https://zitadel.com/docs/support/advisory/a10005) and [06](https://zitadel.com/docs/support/advisory/a10006). The implementation of eventstore.push is rewritten and stored events are migrated to a new table `eventstore.events2`. If you are using cockroach: make sure that the database user of ZITADEL has `VIEWACTIVITY` grant. This is used to query events.
This commit is contained in:
@@ -11,7 +11,7 @@ import (
|
||||
|
||||
type Event struct {
|
||||
Editor *EventEditor
|
||||
Aggregate eventstore.Aggregate
|
||||
Aggregate *eventstore.Aggregate
|
||||
Sequence uint64
|
||||
CreationDate time.Time
|
||||
Type string
|
||||
@@ -48,7 +48,7 @@ func filterAuditLogRetention(ctx context.Context, events []eventstore.Event, aud
|
||||
}
|
||||
filteredEvents := make([]eventstore.Event, 0, len(events))
|
||||
for _, event := range events {
|
||||
if event.CreationDate().After(callTime.Add(-auditLogRetention)) {
|
||||
if event.CreatedAt().After(callTime.Add(-auditLogRetention)) {
|
||||
filteredEvents = append(filteredEvents, event)
|
||||
}
|
||||
}
|
||||
@@ -77,23 +77,23 @@ func (q *Queries) convertEvent(ctx context.Context, event eventstore.Event, user
|
||||
var err error
|
||||
defer func() { span.EndWithError(err) }()
|
||||
|
||||
editor, ok := users[event.EditorUser()]
|
||||
editor, ok := users[event.Creator()]
|
||||
if !ok {
|
||||
editor = q.editorUserByID(ctx, event.EditorUser())
|
||||
users[event.EditorUser()] = editor
|
||||
editor = q.editorUserByID(ctx, event.Creator())
|
||||
users[event.Creator()] = editor
|
||||
}
|
||||
|
||||
return &Event{
|
||||
Editor: &EventEditor{
|
||||
ID: event.EditorUser(),
|
||||
Service: event.EditorService(),
|
||||
ID: event.Creator(),
|
||||
Service: "zitadel",
|
||||
DisplayName: editor.DisplayName,
|
||||
PreferedLoginName: editor.PreferedLoginName,
|
||||
AvatarKey: editor.AvatarKey,
|
||||
},
|
||||
Aggregate: event.Aggregate(),
|
||||
Sequence: event.Sequence(),
|
||||
CreationDate: event.CreationDate(),
|
||||
CreationDate: event.CreatedAt(),
|
||||
Type: string(event.Type()),
|
||||
Payload: event.DataAsBytes(),
|
||||
}
|
||||
|
Reference in New Issue
Block a user