I was debugging some other issue when I noticed the below
Output
System.IO.IOException: The process cannot access the file '/tmp/Index_4da302fa-1a98-4bb4-8d62-60d981d4d309/Archive.zip' because it is being used by another process.
at System.IO.FileStream.Init(FileMode mode, FileShare share)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at Squidex.Domain.Apps.Entities.Contents.Text.PersistenceHelper.UploadDirectoryAsync(IAssetStore assetStore, DirectoryInfo directory, IndexCommit commit) in /src/src/Squidex.Domain.Apps.Entities/Contents/Text/PersistenceHelper.cs:line 24
at Squidex.Domain.Apps.Entities.Contents.Text.TextIndexerGrain.FlushAsync() in /src/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexerGrain.cs:line 214
at Squidex.Domain.Apps.Entities.Contents.Text.TextIndexerGrain.TryFlushAsync() in /src/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexerGrain.cs:line 183
at Squidex.Domain.Apps.Entities.Contents.Text.OrleansCodeGenTextIndexerGrainMethodInvoker.Invoke(IAddressable grain, InvokeMethodRequest request) in /src/src/Squidex.Domain.Apps.Entities/obj/Release/netstandard2.0/Squidex.Domain.Apps.Entities.orleans.g.cs:line 1314
at Orleans.Runtime.GrainMethodInvoker.Invoke()
at Squidex.Infrastructure.Orleans.StateFilter.Invoke(IIncomingGrainCallContext context) in /src/src/Squidex.Infrastructure/Orleans/StateFilter.cs:line 21
at Orleans.Runtime.GrainMethodInvoker.Invoke()
at Squidex.Infrastructure.Orleans.LoggingFilter.Invoke(IIncomingGrainCallContext context) in /src/src/Squidex.Infrastructure/Orleans/LoggingFilter.cs:line 30
at Orleans.Runtime.GrainMethodInvoker.Invoke()
at Squidex.Infrastructure.Orleans.LocalCacheFilter.Invoke(IIncomingGrainCallContext context) in /src/src/Squidex.Infrastructure/Orleans/LocalCacheFilter.cs:line 32
at Orleans.Runtime.GrainMethodInvoker.Invoke()
at Orleans.Runtime.GrainMethodInvoker.Invoke()
at OrleansDashboard.Metrics.GrainProfilerFilter.Invoke(IIncomingGrainCallContext context)
at Orleans.Runtime.GrainMethodInvoker.Invoke()
at Orleans.Runtime.InsideRuntimeClient.Invoke(IAddressable target, IInvokable invokable, Message message)
at Orleans.OrleansTaskExtentions.<ToTypedTask>g__ConvertAsync|4_0[T](Task`1 asyncTask)
at Squidex.Domain.Apps.Entities.Contents.Text.GrainTextIndexer.On(Envelope`1 event) in /src/src/Squidex.Domain.Apps.Entities/Contents/Text/GrainTextIndexer.cs:line 82
at Squidex.Infrastructure.EventSourcing.Grains.EventConsumerGrain.DispatchConsumerAsync(Envelope`1 event) in /src/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs:line 245
at Squidex.Infrastructure.EventSourcing.Grains.EventConsumerGrain.<>c__DisplayClass12_0.<<OnEventAsync>b__0>d.MoveNext() in /src/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs:line 90
--- End of stack trace from previous location where exception was thrown ---
at Squidex.Infrastructure.EventSourcing.Grains.EventConsumerGrain.DoAndUpdateStateAsync(Func`1 action, String caller) in /src/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs:line 178