|
|
@ -68,15 +68,21 @@ namespace Squidex.Infrastructure.States |
|
|
public async Task DeleteAsync() |
|
|
public async Task DeleteAsync() |
|
|
{ |
|
|
{ |
|
|
if (UseSnapshots) |
|
|
if (UseSnapshots) |
|
|
|
|
|
{ |
|
|
|
|
|
using (Telemetry.Activities.StartActivity("Persistence/ReadState")) |
|
|
{ |
|
|
{ |
|
|
await snapshotStore.RemoveAsync(ownerKey); |
|
|
await snapshotStore.RemoveAsync(ownerKey); |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (UseEventSourcing) |
|
|
if (UseEventSourcing) |
|
|
|
|
|
{ |
|
|
|
|
|
using (Telemetry.Activities.StartActivity("Persistence/ReadEvents")) |
|
|
{ |
|
|
{ |
|
|
await eventStore.DeleteStreamAsync(streamName.Value); |
|
|
await eventStore.DeleteStreamAsync(streamName.Value); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public async Task ReadAsync(long expectedVersion = EtagVersion.Any) |
|
|
public async Task ReadAsync(long expectedVersion = EtagVersion.Any) |
|
|
{ |
|
|
{ |
|
|
@ -171,7 +177,10 @@ namespace Squidex.Infrastructure.States |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
using (Telemetry.Activities.StartActivity("Persistence/WriteState")) |
|
|
|
|
|
{ |
|
|
await snapshotStore.WriteAsync(ownerKey, state, oldVersion, newVersion); |
|
|
await snapshotStore.WriteAsync(ownerKey, state, oldVersion, newVersion); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
versionSnapshot = newVersion; |
|
|
versionSnapshot = newVersion; |
|
|
|
|
|
|
|
|
@ -193,9 +202,12 @@ namespace Squidex.Infrastructure.States |
|
|
var eventData = events.Select(x => eventDataFormatter.ToEventData(x, eventCommitId, true)).ToArray(); |
|
|
var eventData = events.Select(x => eventDataFormatter.ToEventData(x, eventCommitId, true)).ToArray(); |
|
|
|
|
|
|
|
|
try |
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
using (Telemetry.Activities.StartActivity("Persistence/WriteEvents")) |
|
|
{ |
|
|
{ |
|
|
await eventStore.AppendAsync(eventCommitId, streamName.Value, oldVersion, eventData); |
|
|
await eventStore.AppendAsync(eventCommitId, streamName.Value, oldVersion, eventData); |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
catch (WrongEventVersionException ex) |
|
|
catch (WrongEventVersionException ex) |
|
|
{ |
|
|
{ |
|
|
throw new InconsistentStateException(ex.CurrentVersion, ex.ExpectedVersion, ex); |
|
|
throw new InconsistentStateException(ex.CurrentVersion, ex.ExpectedVersion, ex); |
|
|
|