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

Async Http Client #74

Open
kevin-mcgoldrick opened this issue Oct 6, 2019 · 3 comments
Open

Async Http Client #74

kevin-mcgoldrick opened this issue Oct 6, 2019 · 3 comments

Comments

@kevin-mcgoldrick
Copy link
Collaborator

kevin-mcgoldrick commented Oct 6, 2019

Existing State

Tank currently supports two blocking httpClients (apache httpclient 3.1 and 4.5). These httpclients make a request and wait for the response and parse the response before continuing on the the next call.

Issue

The existing state fails to produce conistent TPS, as the server endpoint changes performance. Faster RT equals higher TPS, and vise-versa. A completely non-blocking solution would not work because certain calls rely on the response data from a previous call.

Solution Stage 1

Include a Non-blocking Async http client like netty that would execute requests with a non-blocking futures form. This is a backward compatible state.

Solution Stage 2

Add an extra boolean to the request data_model, xml, gui, etc. So that requests can be marked async or not. The ultimate outcome would allow may flow events to be blocking, while beaconing/uilogger calls would be sent off and processes the responses when ever, without blocking the primary flow.

@lucifercr07
Copy link

@kevin-mcgoldrick can you please share more details on it?

sbcd90 added a commit to sbcd90/Tank that referenced this issue Oct 29, 2019
sbcd90 added a commit to sbcd90/Tank that referenced this issue Oct 29, 2019
@sojanmathew
Copy link

@kevin-mcgoldrick Can you please assign to me?

@rohitdumbre86
Copy link

Is this already assigned @kevin-mcgoldrick

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

4 participants