Skip to content

Refactor the chunk switching so that it not done via the ChunkWriterF… #4832

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

timothycoleman
Copy link
Contributor

…orExecutor

Instead the ChunkWriterForExecutor passes the completed chunk back to the main ChunkExecutor and it does the swap. The swap is still done via the ChunkManager.

This is preparation for scavenging the archive, where we will want to upload the newly scavenged chunk instead of swapping it in.

Also added a trace when aborting chunk writing

…orExecutor

Instead the ChunkWriterForExecutor passes the completed chunk back to the main ChunkExecutor and it does the swap. The swap is still done via the ChunkManager.

This is preparation for scavenging the archive, where we will want to upload the newly scavenged chunk instead of swapping it in.

Also added a trace when aborting chunk writing
Copy link
Contributor

Qodana for .NET

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Detected 214 dependencies

Third-party software list

This page lists the third-party software dependencies used in EventStore

Dependency Version Licenses
AWSSDK.Core 3.7.304 Apache-2.0
AWSSDK.S3 3.7.307.32 Apache-2.0
AWSSDK.SQS 3.7.301.3 Apache-2.0
AWSSDK.SecurityToken 3.7.300.91 Apache-2.0
Acornima 1.1.0 BSD-3-Clause
BenchmarkDotNet.Annotations 0.13.10 MIT
BenchmarkDotNet 0.13.10 MIT
CommandLineParser 2.9.1 MIT
DotNext.IO 5.18.2 MIT
DotNext.Threading 5.18.1 MIT
DotNext.Unsafe 5.18.0 MIT
DotNext 5.18.0 MIT
EventStore.Plugins 25.2.5 Elastic-2.0
FluentStorage.AWS 5.5.0 MIT
FluentStorage 5.6.0 MIT
Gee.External.Capstone 2.3.0 MIT
GitInfo 3.3.3 MIT
Google.Protobuf 3.27.2 BSD-3-Clause
Grpc.AspNetCore.Server.ClientFactory 2.64.0 Apache-2.0
Grpc.AspNetCore.Server 2.64.0 Apache-2.0
Grpc.AspNetCore 2.64.0 Apache-2.0
Grpc.Core.Api 2.64.0 Apache-2.0
Grpc.Net.Client 2.64.0 Apache-2.0
Grpc.Net.ClientFactory 2.64.0 Apache-2.0
Grpc.Net.Common 2.64.0 Apache-2.0
Grpc.Tools 2.65.0 Apache-2.0
Iced 1.17.0 MIT
JetBrains.Annotations 2023.3.0 MIT
JetBrains.Annotations 2024.3.0 MIT
Jint 4.0.3 BSD-2-Clause
Microsoft.Bcl.AsyncInterfaces 6.0.0 MIT
Microsoft.CSharp 4.7.0 MIT
Microsoft.CodeAnalysis.Analyzers 3.3.3 MIT
Microsoft.CodeAnalysis.Analyzers 3.3.4 MIT
Microsoft.CodeAnalysis.CSharp 4.1.0 MIT
Microsoft.CodeAnalysis.CSharp 4.7.0 MIT
Microsoft.CodeAnalysis.Common 4.1.0 MIT
Microsoft.CodeAnalysis.Common 4.7.0 MIT
Microsoft.Data.Sqlite.Core 8.0.0 MIT
Microsoft.Data.Sqlite 8.0.0 MIT
Microsoft.Diagnostics.NETCore.Client 0.2.553101 MIT
Microsoft.Diagnostics.Runtime 2.2.332302 MIT
Microsoft.Diagnostics.Tracing.TraceEvent 3.1.19 MIT
Microsoft.DotNet.PlatformAbstractions 3.1.6 MIT
Microsoft.Extensions.Configuration.Abstractions 8.0.0 MIT
Microsoft.Extensions.Configuration.Abstractions 9.0.0 MIT
Microsoft.Extensions.Configuration.Binder 8.0.0 MIT
Microsoft.Extensions.Configuration.Binder 9.0.0 MIT
Microsoft.Extensions.Configuration.FileExtensions 8.0.0 MIT
Microsoft.Extensions.Configuration.Json 8.0.0 MIT
Microsoft.Extensions.Configuration 8.0.0 MIT
Microsoft.Extensions.Configuration 9.0.0 MIT
Microsoft.Extensions.DependencyInjection.Abstractions 8.0.0 MIT
Microsoft.Extensions.DependencyInjection.Abstractions 9.0.0 MIT
Microsoft.Extensions.DependencyInjection 8.0.0 MIT
Microsoft.Extensions.DependencyInjection 9.0.0 MIT
Microsoft.Extensions.DependencyModel 8.0.1 MIT
Microsoft.Extensions.DependencyModel 8.0.2 MIT
Microsoft.Extensions.Diagnostics.Abstractions 9.0.0 MIT
Microsoft.Extensions.FileProviders.Abstractions 8.0.0 MIT
Microsoft.Extensions.FileProviders.Abstractions 9.0.0 MIT
Microsoft.Extensions.FileProviders.Composite 8.0.0 MIT
Microsoft.Extensions.FileProviders.Embedded 8.0.0 MIT
Microsoft.Extensions.FileProviders.Physical 8.0.0 MIT
Microsoft.Extensions.FileSystemGlobbing 8.0.0 MIT
Microsoft.Extensions.Hosting.Abstractions 9.0.0 MIT
Microsoft.Extensions.Http 6.0.0 MIT
Microsoft.Extensions.Logging.Abstractions 8.0.0 MIT
Microsoft.Extensions.Logging.Abstractions 9.0.0 MIT
Microsoft.Extensions.Logging.Configuration 9.0.0 MIT
Microsoft.Extensions.Logging 8.0.0 MIT
Microsoft.Extensions.Logging 9.0.0 MIT
Microsoft.Extensions.ObjectPool 6.0.16 MIT
Microsoft.Extensions.Options.ConfigurationExtensions 9.0.0 MIT
Microsoft.Extensions.Options 8.0.0 MIT
Microsoft.Extensions.Options 9.0.0 MIT
Microsoft.Extensions.Primitives 8.0.0 MIT
Microsoft.Extensions.Primitives 9.0.0 MIT
Microsoft.FASTER.Core 1.9.16 MIT
Microsoft.IO.RecyclableMemoryStream 3.0.1 MIT
Microsoft.IdentityModel.Abstractions 7.6.0 MIT
Microsoft.IdentityModel.JsonWebTokens 7.6.0 MIT
Microsoft.IdentityModel.Logging 7.6.0 MIT
Microsoft.IdentityModel.Tokens 7.6.0 MIT
Microsoft.NETCore.Platforms 1.1.0 MIT
Microsoft.NETCore.Platforms 1.1.1 MIT
Microsoft.NETCore.Platforms 5.0.0 MIT
Microsoft.NETCore.Targets 1.1.3 MIT
Microsoft.Net.Http.Headers 8.0.0 MIT
Microsoft.Win32.Registry 5.0.0 MIT
Mono.Posix.NETStandard 1.0.0 MIT
NETStandard.Library 2.0.3 MIT
NetEscapades.Configuration.Yaml 3.1.0 MIT
Newtonsoft.Json 13.0.3 MIT
OpenTelemetry.Api.ProviderBuilderExtensions 1.11.1 Apache-2.0
OpenTelemetry.Api 1.11.1 Apache-2.0
OpenTelemetry.Exporter.OpenTelemetryProtocol 1.11.1 Apache-2.0
OpenTelemetry.Exporter.Prometheus.AspNetCore 1.11.0-beta.1 Apache-2.0
OpenTelemetry.Extensions.Hosting 1.11.1 Apache-2.0
OpenTelemetry 1.11.1 Apache-2.0
Perfolizer 0.2.1 MIT
Polly.Core 8.5.2 BSD-3-Clause
Quickenshtein 1.5.1 MIT
RestSharp 112.1.0 Apache-2.0
SQLitePCLRaw.bundle_e_sqlite3 2.1.6 Apache-2.0
SQLitePCLRaw.core 2.1.6 Apache-2.0
SQLitePCLRaw.lib.e_sqlite3 2.1.6 Apache-2.0
SQLitePCLRaw.provider.e_sqlite3 2.1.6 Apache-2.0
Scrutor 5.0.2 MIT
Serilog.Enrichers.Process 3.0.0 Apache-2.0
Serilog.Enrichers.Thread 4.0.0 Apache-2.0
Serilog.Expressions 5.0.0 Apache-2.0
Serilog.Extensions.Logging 8.0.0 Apache-2.0
Serilog.Settings.Configuration 8.0.2 Apache-2.0
Serilog.Sinks.Async 2.0.0 Apache-2.0
Serilog.Sinks.Console 6.0.0 Apache-2.0
Serilog.Sinks.File 6.0.0 Apache-2.0
Serilog 4.0.1 Apache-2.0
SharpDotYaml.Extensions.Configuration 0.3.1 MIT
System.Buffers 4.5.1 MIT
System.CodeDom 5.0.0 MIT
System.Collections.Concurrent 4.3.0 MIT
System.Collections.Immutable 7.0.0 MIT
System.Collections.Immutable 8.0.0 MIT
System.Collections 4.3.0 MIT
System.ComponentModel.Composition 8.0.0 MIT
System.Configuration.ConfigurationManager 8.0.0 MIT
System.Diagnostics.Debug 4.3.0 MIT
System.Diagnostics.DiagnosticSource 8.0.1 MIT
System.Diagnostics.DiagnosticSource 9.0.0 MIT
System.Diagnostics.DiagnosticSource 9.0.1 MIT
System.Diagnostics.EventLog 8.0.0 MIT
System.Diagnostics.PerformanceCounter 8.0.0 MIT
System.Diagnostics.Tracing 4.3.0 MIT
System.Formats.Asn1 8.0.1 MIT
System.Globalization.Calendars 4.3.0 MIT
System.Globalization.Extensions 4.3.0 MIT
System.Globalization 4.3.0 MIT
System.IO.FileSystem.Primitives 4.3.0 MIT
System.IO.FileSystem 4.3.0 MIT
System.IO.Hashing 8.0.0 MIT
System.IO.Pipelines 8.0.0 MIT
System.IO 4.3.0 MIT
System.Interactive.Async 5.0.0 MIT
System.Linq.Async 6.0.1 MIT
System.Linq 4.3.0 MIT
System.Management 5.0.0 MIT
System.Memory 4.5.3 MIT
System.Memory 4.5.4 MIT
System.Memory 4.5.5 MIT
System.Net.Http 4.3.4 MIT
System.Net.Primitives 4.3.0 MIT
System.Numerics.Vectors 4.4.0 MIT
System.Private.Uri 4.3.2 MIT
System.Reactive 6.0.1 MIT
System.Reflection.Metadata 7.0.0 MIT
System.Reflection.Metadata 8.0.0 MIT
System.Reflection.Primitives 4.3.0 MIT
System.Reflection.TypeExtensions 4.7.0 MIT
System.Reflection 4.3.0 MIT
System.Resources.ResourceManager 4.3.0 MIT
System.Runtime.CompilerServices.Unsafe 6.0.0 MIT
System.Runtime.Extensions 4.3.0 MIT
System.Runtime.Handles 4.3.0 MIT
System.Runtime.InteropServices 4.3.0 MIT
System.Runtime.Numerics 4.3.0 MIT
System.Runtime 4.3.1 MIT
System.Security.AccessControl 5.0.0 MIT
System.Security.Cryptography.Algorithms 4.3.0 MIT
System.Security.Cryptography.Cng 4.3.0 MIT
System.Security.Cryptography.Csp 4.3.0 MIT
System.Security.Cryptography.Encoding 4.3.0 MIT
System.Security.Cryptography.OpenSsl 4.3.0 MIT
System.Security.Cryptography.Pkcs 8.0.0 MIT
System.Security.Cryptography.Primitives 4.3.0 MIT
System.Security.Cryptography.ProtectedData 8.0.0 MIT
System.Security.Cryptography.X509Certificates 4.3.0 MIT
System.Security.Cryptography.Xml 8.0.0 MIT
System.Security.Principal.Windows 5.0.0 MIT
System.ServiceModel.Http 6.2.0 MIT
System.ServiceModel.Primitives 6.2.0 MIT
System.Text.Encoding.CodePages 4.5.1 MIT
System.Text.Encoding.CodePages 7.0.0 MIT
System.Text.Encoding 4.3.0 MIT
System.Text.Encodings.Web 8.0.0 MIT
System.Text.Json 8.0.5 MIT
System.Text.RegularExpressions 4.3.1 MIT
System.Threading.Channels 9.0.1 MIT
System.Threading.Tasks.Extensions 4.5.4 MIT
System.Threading.Tasks 4.3.0 MIT
System.Threading.Thread 4.3.0 MIT
System.Threading 4.3.0 MIT
TestableIO.System.IO.Abstractions.Wrappers 21.0.22 MIT
TestableIO.System.IO.Abstractions 21.0.22 MIT
ThisAssembly.Constants 1.4.1 MIT
YamlDotNet 15.1.4 MIT
YamlDotnet 13.7.1 MIT
librdkafka.redist 2.5.0 Apache-2.0
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.native.System.Net.Http 4.3.0 MIT
runtime.native.System.Security.Cryptography.Apple 4.3.0 MIT
runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.native.System 4.3.0 MIT
runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple 4.3.0 MIT
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.2 MIT
system.uritemplate MIT
Contact Qodana team

Contact us at [email protected]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant