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 Elasticsearch Network Settings #36652

Closed
6 tasks done
Tim-Brooks opened this issue Dec 14, 2018 · 2 comments
Closed
6 tasks done

Unify Elasticsearch Network Settings #36652

Tim-Brooks opened this issue Dec 14, 2018 · 2 comments
Assignees
Labels
:Distributed/Network Http and internode communication implementations >enhancement Meta

Comments

@Tim-Brooks
Copy link
Contributor

Tim-Brooks commented Dec 14, 2018

Currently, Elasticsearch network settings use inconsistent naming schemes. Additionally, there are some prefixes (ex: transport.tcp in the transport.tcp.compress setting) that no longer make sense now that we have one transport type. We would like to transition these settings to be consistent based on the follow rules:

  1. The network. prefixed settings are settings that can apply to both http and transport settings.
  2. Elasticsearch internal transport settings are only prefixed by transport.. No more transport.tcp.
  3. The tcp prefix is reserved for settings that are a proxy for OS socket settings (ex: tcp.no_delay).

Here is how this works out in practice:

Top-level settings:

network.host
transport.host
http.host

The network.host is the fallback setting option for both http and transport settings if their specific setting is not set.

Socket option settings:

network.tcp.no_delay
transport.tcp.no_delay
transport.profiles.profile_name.tcp.no_delay
http.tcp.no_delay

The network.tcp.no_delay is the fallback setting option for both http and transport settings if their specific setting is not set. The transport.tcp.no_delay is the fallback for the profile level setting if the profile level setting is not set.

With these rules the follow settings needs to be deprecated and replaced:

transport.tcp.port -> transport.port
transport.tcp.compress -> transport.compress
transport.tcp.connect_timeout -> transport.connect_timeout
transport.tcp_no_delay -> transport.tcp.no_delay
transport.profiles._.tcp_no_delay -> transport.profiles._.tcp.no_delay
transport.profiles._.tcp_keep_alive -> transport.profiles._.tcp.keep_alive
transport.profiles._. reuse_address -> transport.profiles._. tcp.reuse_address
transport.profiles._. send_buffer_size -> transport.profiles._. tcp.send_buffer_size
transport.profiles._. receive_buffer_size -> transport.profiles._. tcp.receive_buffer_size
http.tcp_no_delay -> http.tcp.no_delay
network.tcp.connect_timeout -> Completely remove. There are no connect timeouts for http.

@Tim-Brooks Tim-Brooks added >enhancement :Distributed/Network Http and internode communication implementations Meta labels Dec 14, 2018
@Tim-Brooks Tim-Brooks self-assigned this Dec 14, 2018
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-distributed

Tim-Brooks added a commit that referenced this issue Dec 18, 2018
This is related to #36652. In 7.0 we plan to deprecate a number of
settings that make reference to the concept of a tcp transport. We
mostly just have a single transport type now (based on tcp). Settings
should only reference tcp if they are referring to socket options. This
commit updates the settings in the docs. And removes string usages of
the old settings. Additionally it adds a missing remote compress setting
to the docs.
Tim-Brooks added a commit to Tim-Brooks/elasticsearch that referenced this issue Dec 20, 2018
This is related to elastic#36652. In 7.0 we plan to deprecate a number of
settings that make reference to the concept of a tcp transport. We
mostly just have a single transport type now (based on tcp). Settings
should only reference tcp if they are referring to socket options. This
commit updates the settings in the docs. And removes string usages of
the old settings. Additionally it adds a missing remote compress setting
to the docs.
Tim-Brooks added a commit that referenced this issue Dec 20, 2018
This is related to #36652. In 7.0 we plan to deprecate a number of
settings that make reference to the concept of a tcp transport. We
mostly just have a single transport type now (based on tcp). Settings
should only reference tcp if they are referring to socket options. This
commit updates the settings in the docs. Additionally it adds a missing
remote compress setting to the docs.
Tim-Brooks added a commit to Tim-Brooks/elasticsearch that referenced this issue Apr 3, 2019
This is related to elastic#36652. We intend to deprecate a number of transport
settings in 7.x and remove them in 8.0. This commit removes the string
usages of these settings.
Tim-Brooks added a commit to Tim-Brooks/elasticsearch that referenced this issue Apr 3, 2019
This is related to elastic#36652. We intend to remove a number of old transport
settings in 8.0. This commit deprecates those settings for 7.x.
Tim-Brooks added a commit that referenced this issue Apr 4, 2019
This is related to #36652. We intend to deprecate a number of transport
settings in 7.x and remove them in 8.0. This commit removes the string
usages of these settings.
Tim-Brooks added a commit that referenced this issue Apr 5, 2019
This is related to #36652. We intend to remove a number of old transport
settings in 8.0. This commit deprecates those settings for 7.x.
Tim-Brooks added a commit to Tim-Brooks/elasticsearch that referenced this issue Apr 5, 2019
This is related to elastic#36652. There are a number of transport settings that
were deprecated and replaced with new versions in 7.x. This commit
removes them from 8.0.
Tim-Brooks added a commit that referenced this issue Apr 12, 2019
This is related to #36652. There are a number of transport settings that
were deprecated and replaced with new versions in 7.x. This commit
removes them from 8.0.
Tim-Brooks added a commit to Tim-Brooks/elasticsearch that referenced this issue Apr 15, 2019
This is related to elastic#36652. We intend to deprecate a number of transport
settings in 7.x and remove them in 8.0. This commit removes the string
usages of these settings.
Tim-Brooks added a commit that referenced this issue Apr 15, 2019
This is related to #36652. We intend to deprecate a number of transport
settings in 7.x and remove them in 8.0. This commit removes the string
usages of these settings.
Tim-Brooks added a commit to Tim-Brooks/elasticsearch that referenced this issue Apr 15, 2019
This is related to elastic#36652. We intend to remove a number of old transport
settings in 8.0. This commit deprecates those settings for 7.x.
Tim-Brooks added a commit that referenced this issue Apr 16, 2019
This is related to #36652. We intend to remove a number of old transport
settings in 8.0. This commit deprecates those settings for 7.x.
@Tim-Brooks
Copy link
Contributor Author

This is complete.

gurkankaymak pushed a commit to gurkankaymak/elasticsearch that referenced this issue May 27, 2019
This is related to elastic#36652. We intend to deprecate a number of transport
settings in 7.x and remove them in 8.0. This commit removes the string
usages of these settings.
gurkankaymak pushed a commit to gurkankaymak/elasticsearch that referenced this issue May 27, 2019
This is related to elastic#36652. We intend to remove a number of old transport
settings in 8.0. This commit deprecates those settings for 7.x.
gurkankaymak pushed a commit to gurkankaymak/elasticsearch that referenced this issue May 27, 2019
This is related to elastic#36652. There are a number of transport settings that
were deprecated and replaced with new versions in 7.x. This commit
removes them from 8.0.
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 Meta
Projects
None yet
Development

No branches or pull requests

2 participants