Skip to content

Conversation

fedegiova
Copy link

This change adds another constructor to the TServerSocket class to support passing a socket that's already bound with the goal to support socket-activation by systemd. If a service is configured to use socket-activation systemd will bind the socket and pass an FD that's already bound as an environment variable when the service is started with the goal to parallelize boot startup and remove ordering dependencies between server ( bind ) and client ( connect).

The new enum type introduced is used mostly to disambiguate constructors.

  • Did you create an Apache Jira ticket? (Request account here, not required for trivial changes)
  • If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
  • Did you squash your changes to a single commit? (not required, but preferred)
  • Did you do your best to avoid breaking changes? If one was needed, did you label the Jira ticket with "Breaking-Change"?
  • If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.

@fedegiova
Copy link
Author

I'll create the ticket and update the MR title. Just waiting for account approval

@fedegiova fedegiova force-pushed the fgiovanardi/socket-activation branch 2 times, most recently from 530fb3f to bf7dc1c Compare September 16, 2025 13:50
@fedegiova fedegiova force-pushed the fgiovanardi/socket-activation branch from bf7dc1c to 13ce0e0 Compare September 16, 2025 14:00
@fedegiova fedegiova marked this pull request as ready for review September 26, 2025 07:35
@fedegiova
Copy link
Author

fedegiova commented Sep 26, 2025

Sorry for not having created the Jira ticket, but the request for the account has not been approved yet.

@fedegiova fedegiova closed this Sep 26, 2025
@fedegiova fedegiova reopened this Sep 26, 2025
@Jens-G Jens-G added the c++ label Oct 5, 2025
@Jens-G Jens-G self-requested a review October 5, 2025 12:20
Copy link
Member

@Jens-G Jens-G left a comment

Choose a reason for hiding this comment

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

The enum partially mirrors data we already have. i understand the idea but I would love to see some tests for the whole construct to make sure not only it works as intended but also does not break other things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants