Skip to content

Remove Support for SOCKS Proxy #1223

Open
@jbaiera

Description

@jbaiera

ES-Hadoop currently supports connecting to and Elasticsearch cluster through a SOCKS proxy. The implementation is based on using a custom socket factory within the ES-Hadoop HTTPClient. Eventually, we would like to transition over to the Elasticsearch Low Level Rest Client inside of ES-Hadoop instead of our own implementation #932.

After investigating the changes needed for this, we found that the LLRC does not support connections over SOCKS, and likely will not in the near future. LLRC is built on top of the Asynchronous HTTP library from Apache HTTPComponents. The async http library performs connection establishment in the background and utilizes the java NIO library to do so in a non thread blocking manner. These library bindings for creating connections through NIO do not support specifying a Proxy instance to connect to. This is flat out a limitation with the java runtime libraries, and cannot be helped other than to break out the library dependencies into blocking and async models.

We feel that usage of the SOCKS features is fairly light in the community. In order to make progress in this portion of the project, starting in 6.6.0, the usage of SOCKS proxies for communicating with Elasticsearch is deprecated, with removal targeted in the 7.x line.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions