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:
@@ -2,12 +2,10 @@ package instance
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/crypto"
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -51,19 +49,19 @@ func NewSMSConfigTwilioAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func (e *SMSConfigTwilioAddedEvent) Data() interface{} {
|
||||
func (e *SMSConfigTwilioAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *SMSConfigTwilioAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *SMSConfigTwilioAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
func SMSConfigTwilioAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SMSConfigTwilioAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
smsConfigAdded := &SMSConfigTwilioAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, smsConfigAdded)
|
||||
err := event.Unmarshal(smsConfigAdded)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "IAM-smwiR", "unable to unmarshal sms config twilio added")
|
||||
}
|
||||
@@ -116,19 +114,19 @@ func ChangeSMSConfigTwilioSenderNumber(senderNumber string) func(event *SMSConfi
|
||||
}
|
||||
}
|
||||
|
||||
func (e *SMSConfigTwilioChangedEvent) Data() interface{} {
|
||||
func (e *SMSConfigTwilioChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *SMSConfigTwilioChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *SMSConfigTwilioChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
func SMSConfigTwilioChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SMSConfigTwilioChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
smsConfigChanged := &SMSConfigTwilioChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, smsConfigChanged)
|
||||
err := event.Unmarshal(smsConfigChanged)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "IAM-smwiR", "unable to unmarshal sms config twilio added")
|
||||
}
|
||||
@@ -160,19 +158,19 @@ func NewSMSConfigTokenChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func (e *SMSConfigTwilioTokenChangedEvent) Data() interface{} {
|
||||
func (e *SMSConfigTwilioTokenChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *SMSConfigTwilioTokenChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *SMSConfigTwilioTokenChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
func SMSConfigTwilioTokenChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SMSConfigTwilioTokenChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
smtpConfigTokenChagned := &SMSConfigTwilioTokenChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, smtpConfigTokenChagned)
|
||||
err := event.Unmarshal(smtpConfigTokenChagned)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "IAM-fi9Wf", "unable to unmarshal sms config token changed")
|
||||
}
|
||||
@@ -200,19 +198,19 @@ func NewSMSConfigTwilioActivatedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func (e *SMSConfigActivatedEvent) Data() interface{} {
|
||||
func (e *SMSConfigActivatedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *SMSConfigActivatedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *SMSConfigActivatedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
func SMSConfigActivatedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SMSConfigActivatedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
smsConfigActivated := &SMSConfigActivatedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, smsConfigActivated)
|
||||
err := event.Unmarshal(smsConfigActivated)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "IAM-dn92f", "unable to unmarshal sms config twilio activated changed")
|
||||
}
|
||||
@@ -240,19 +238,19 @@ func NewSMSConfigDeactivatedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func (e *SMSConfigDeactivatedEvent) Data() interface{} {
|
||||
func (e *SMSConfigDeactivatedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *SMSConfigDeactivatedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *SMSConfigDeactivatedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
func SMSConfigDeactivatedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SMSConfigDeactivatedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
smsConfigDeactivated := &SMSConfigDeactivatedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, smsConfigDeactivated)
|
||||
err := event.Unmarshal(smsConfigDeactivated)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "IAM-dn92f", "unable to unmarshal sms config twilio deactivated changed")
|
||||
}
|
||||
@@ -280,19 +278,19 @@ func NewSMSConfigRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func (e *SMSConfigRemovedEvent) Data() interface{} {
|
||||
func (e *SMSConfigRemovedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *SMSConfigRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *SMSConfigRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
func SMSConfigRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SMSConfigRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
smsConfigRemoved := &SMSConfigRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, smsConfigRemoved)
|
||||
err := event.Unmarshal(smsConfigRemoved)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "IAM-99iNF", "unable to unmarshal sms config removed")
|
||||
}
|
||||
|
Reference in New Issue
Block a user