Skip to content

chore(transport): retire the internal TCP runtime - #496

Open
yordis wants to merge 1 commit into
yordis/feat-grpc-cluster-endpointsfrom
yordis/chore-remove-legacy-tcp-runtime
Open

chore(transport): retire the internal TCP runtime#496
yordis wants to merge 1 commit into
yordis/feat-grpc-cluster-endpointsfrom
yordis/chore-remove-legacy-tcp-runtime

Conversation

@yordis

@yordis yordis commented Sep 12, 2026

Copy link
Copy Markdown
Member
  • Removes an unsupported transport runtime so the server has one internal communication path.

@yordis
yordis requested a review from a team as a code owner September 12, 2026 23:22
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 88b8c44a-5414-4f1f-a911-ed2457976c4c

📥 Commits

Reviewing files that changed from the base of the PR and between 36955e8 and c231f5b.

📒 Files selected for processing (49)
  • src/EventStore.Core.Tests/EventStore.Core.Tests.csproj
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/ca/ca.crt
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/ca/ca.key
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/ca_untrusted/ca.crt
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/ca_untrusted/ca.key
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/generate_ca.sh
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/generate_cert.sh
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/node1/node1.crt
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/node1/node1.key
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/node2/node2.crt
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/node2/node2.key
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/node3/node3.crt
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/node3/node3.key
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/untrusted/untrusted.crt
  • src/EventStore.Core.Tests/Services/Transport/Tcp/test_certificates/untrusted/untrusted.key
  • src/EventStore.Core/Authorization/AuthorizationPolicies/LegacyPolicySelectorFactory.cs
  • src/EventStore.Core/ClusterVNode.cs
  • src/EventStore.Core/EventStore.Core.csproj
  • src/EventStore.Core/Helpers/IAsyncMessageFramer.cs
  • src/EventStore.Core/Helpers/LengthPrefixSuffixFramer.cs
  • src/EventStore.Core/Helpers/MessageFramingException.cs
  • src/EventStore.Core/Messages/ClientMessage.cs
  • src/EventStore.Core/Messages/TcpClientMessageDto.cs
  • src/EventStore.Core/Messages/TcpMessage.cs
  • src/EventStore.Core/Messaging/CoreMessage.cs
  • src/EventStore.Core/NodeTcpOptions.cs
  • src/EventStore.Core/Services/AuthorizationGateway.cs
  • src/EventStore.Core/Services/Monitoring/SystemStatsHelper.cs
  • src/EventStore.Core/Services/PersistentSubscription/PersistentSubscriptionService.cs
  • src/EventStore.Core/Services/Replication/LogRecordFramer.cs
  • src/EventStore.Core/Services/Replication/TransactionFramer.cs
  • src/EventStore.Core/Services/RequestForwardingService.cs
  • src/EventStore.Core/Services/Storage/ReaderIndex/EventFilter.cs
  • src/EventStore.Core/Services/SubscriptionsService.cs
  • src/EventStore.Core/Services/TcpSendService.cs
  • src/EventStore.Core/Services/Transport/Tcp/ClientTcpDispatcher.cs
  • src/EventStore.Core/Services/Transport/Tcp/ClientWriteTcpDispatcher.cs
  • src/EventStore.Core/Services/Transport/Tcp/ITcpDispatcher.cs
  • src/EventStore.Core/Services/Transport/Tcp/ProtobufExtensions.cs
  • src/EventStore.Core/Services/Transport/Tcp/SendOverTcpEnvelope.cs
  • src/EventStore.Core/Services/Transport/Tcp/TcpCommand.cs
  • src/EventStore.Core/Services/Transport/Tcp/TcpConnectionManager.cs
  • src/EventStore.Core/Services/Transport/Tcp/TcpDispatcher.cs
  • src/EventStore.Core/Services/Transport/Tcp/TcpPackage.cs
  • src/EventStore.Core/Services/Transport/Tcp/TcpService.cs
  • src/EventStore.Core/Services/Transport/Tcp/UnableToAcquireStreamException.cs
  • src/EventStore.Core/Settings/VNodeSettings.cs
  • src/EventStore.Core/Util/Opts.cs
  • src/Protos/ClientAPI/ClientMessageDtos.proto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Sep 12, 2026

Copy link
Copy Markdown

PR Summary

High Risk
This is a breaking removal of an entire client transport stack and touches auth, forwarding, subscriptions, and monitoring; operators and clients still on native TCP must migrate to gRPC.

Overview
This PR removes the legacy native TCP client transport from the server core, including listeners, connection management, dispatchers, TcpMessage bus types, and the ClientMessageDtos.proto / TCP protobuf build wiring. Project references to EventStore.Transport.Tcp and TCP-focused test assets (certificates, embedded resources, EventStore.Client in tests) are dropped accordingly.

Remaining length-prefix framing used elsewhere (e.g. replication) is kept by moving IAsyncMessageFramer / MessageFramingException into EventStore.Core.Helpers and decoupling LengthPrefixSuffixFramer from the removed transport package.

Behavior is tightened to a gRPC/HTTP-oriented path: TCP-specific forwarding and authorization branches are removed, subscription cleanup no longer listens for TCP connection-closed events, node monitoring no longer exports proc-tcp-* stats, and legacy auth drops Operations.Node.Statistics.Tcp. NotHandled leader hints and event-filter parsing no longer depend on TCP protobuf Filter / external TCP endpoints—filters are built directly from string context/type/data, and leader info is HTTP-only.

Reviewed by Cursor Bugbot for commit c231f5b. Bugbot is set up for automated code reviews on this repo. Configure here.

@yordis
yordis added this pull request to stack #500 September 12, 2026 23:22
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch from f4812a7 to f2d6e6f Compare September 13, 2026 00:15

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch from f2d6e6f to 053f671 Compare September 13, 2026 00:33
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch from 053f671 to 0f69eed Compare September 13, 2026 00:58
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch 2 times, most recently from 0449064 to a1d40ed Compare September 13, 2026 01:31
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch 2 times, most recently from 44149c6 to c6ac843 Compare September 13, 2026 02:04
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch 2 times, most recently from 3f51781 to efebb69 Compare September 13, 2026 02:59

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit efebb69. Configure here.

Comment thread src/EventStore.Core/Services/Storage/ReaderIndex/EventFilter.cs
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch 2 times, most recently from 4cba08c to e0a1b7b Compare September 13, 2026 03:46
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch from e0a1b7b to babe9ed Compare September 13, 2026 04:23
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis force-pushed the yordis/chore-remove-legacy-tcp-runtime branch from babe9ed to c231f5b Compare September 13, 2026 06:04
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