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

Replace Jersey HTTP client #737

Closed
jmakeig opened this issue May 3, 2017 · 2 comments
Closed

Replace Jersey HTTP client #737

jmakeig opened this issue May 3, 2017 · 2 comments

Comments

@jmakeig
Copy link
Contributor

jmakeig commented May 3, 2017

Our dependency on Jersey causes conflicts in downstream applications that rely on another, incompatible version of Jersey. Initial analysis indicates that we won’t be able to solve this with clever dependency isolation. This task is to swap in another HTTP client to address the customer dependency incompatibilities.

The priority for this update is for the 3.x branch. #738 tracks this for the 4.x branch.

  • Whichever library we chose, it must be possible for a client to use any different version of that same library in their application.
  • There should be no external interface changes as a result of the swap. In other words, an application should behave the same as it did before without modifying code. Our message to existing users should be that this change is the only change represented in this release and their application should behave just as it did before.
  • There should not be significant performance or resource usage degradations. We must document performance differences.
  • The security vulnerability surface area must not be significantly different than what we know about Jersey today. We should document a process for tracking and addressing new vulnerabilities.

In the interest of reducing complexity and simplifying upgrade, we should aspire to making this the only change in whichever release in which this gets rolled out.

Related Issues

Open Issues

  • Have we exhausted all of our “clever dependency isolation“ tricks?
  • We have advanced support for configuring the existing HTTP client. What will happen to that code? Document this as a known incompatibility? What are the knobs and levers that the new HTTP library affords for configuration?
@jmakeig jmakeig added this to the java-client-api-3.0.8 milestone May 3, 2017
@jmakeig jmakeig self-assigned this May 3, 2017
@jmakeig jmakeig mentioned this issue May 3, 2017
@sammefford sammefford assigned sammefford and unassigned jmakeig May 3, 2017
@sammefford sammefford added fix and removed new labels May 3, 2017
@sammefford
Copy link
Contributor

sammefford commented May 3, 2017

@georgeajit
Copy link
Contributor

Both functional and Stress Tests are working with OKHttp library.

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

No branches or pull requests

3 participants