Skip to content
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

Unify transport settings naming #36623

Merged
merged 12 commits into from Dec 14, 2018

Conversation

Tim-Brooks
Copy link
Contributor

This commit updates our transport settings for 7.0. It generally takes a
few approaches. First, for normal transport settings, it usestransport.
instead of transport.tcp. Second, it uses transport.tcp, http.tcp,
or network.tcp for all settings that are proxies for OS level socket
settings. Third, it marks the network.tcp.connect_timeout setting for
removal. Network service level settings are only settings that apply to
both the http and transport modules. There is no connect timeout in
http. Fourth, it moves all the transport settings to a single class
TransportSettings similar to the HttpTransportSettings class.

This commit does not actually remove any settings. It just adds the new
renamed settings and adds todos for settings that will be deprecated.

@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-distributed

@Tim-Brooks
Copy link
Contributor Author

Tim-Brooks commented Dec 13, 2018

There is some inconsistency in our settings naming. Particularly as I think we want to move away from the tcp in some of our settings names (for non-socket option settings).

This PR is kind of a POC to see if there is agreement that this is the direction we want to head. If it is, I can open a meta issue with the follow plan:

  1. Merge this into 7.0 and 6.x to add the replacement settings and mark the "for removal settings".
  2. Update documentation for 7.0 to refer to the replacement settings.
  3. Replace all "string" usage of the old settings with replacement settings.
  4. On 7.0 deprecate the old settings.
  5. On 8.0 delete the old settings.

These are the settings I would like to delete and their replacement:

D: transport.tcp.port
R: transport.port

D: transport.tcp.compress
R: transport.compress

D: transport.tcp_no_delay
R: transport.tcp.no_delay

D: transport.profiles._.tcp_no_delay
R: transport.profiles._.tcp.no_delay

D: transport.profiles._.tcp_keep_alive
R: transport.profiles._.tcp.keep_alive

D: transport.profiles._.reuse_address
R: transport.profiles._.tcp.reuse_address

D: transport.profiles._.send_buffer_size
R: transport.profiles._.tcp.send_buffer_size

D: transport.profiles._.receive_buffer_size
R: transport.profiles._.tcp.receive_buffer_size

D: http.tcp_no_delay
R: http.tcp.no_delay

D: network.tcp.connect_timeout
R: Nothing

Copy link
Contributor

@s1monw s1monw left a comment

Choose a reason for hiding this comment

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

skimmed it, thanks for doing this!!

@Tim-Brooks
Copy link
Contributor Author

run gradle build tests 2

@Tim-Brooks Tim-Brooks merged commit 3065300 into elastic:master Dec 14, 2018
@jasontedor
Copy link
Member

Good change, thanks @tbrooks8.

Tim-Brooks added a commit to Tim-Brooks/elasticsearch that referenced this pull request Dec 14, 2018
This commit updates our transport settings for 7.0. It generally takes a
few approaches. First, for normal transport settings, it usestransport.
instead of transport.tcp. Second, it uses transport.tcp, http.tcp,
or network.tcp for all settings that are proxies for OS level socket
settings. Third, it marks the network.tcp.connect_timeout setting for
removal. Network service level settings are only settings that apply to
both the http and transport modules. There is no connect timeout in
http. Fourth, it moves all the transport settings to a single class
TransportSettings similar to the HttpTransportSettings class.

This commit does not actually remove any settings. It just adds the new
renamed settings and adds todos for settings that will be deprecated.
Tim-Brooks added a commit that referenced this pull request Dec 17, 2018
This commit updates our transport settings for 7.0. It generally takes a
few approaches. First, for normal transport settings, it usestransport.
instead of transport.tcp. Second, it uses transport.tcp, http.tcp,
or network.tcp for all settings that are proxies for OS level socket
settings. Third, it marks the network.tcp.connect_timeout setting for
removal. Network service level settings are only settings that apply to
both the http and transport modules. There is no connect timeout in
http. Fourth, it moves all the transport settings to a single class
TransportSettings similar to the HttpTransportSettings class.

This commit does not actually remove any settings. It just adds the new
renamed settings and adds todos for settings that will be deprecated.
@Tim-Brooks Tim-Brooks deleted the cleanup_transport_settings branch December 18, 2019 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Distributed/Network Http and internode communication implementations >enhancement v6.6.0 v7.0.0-beta1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants