goncalotomas / FMKe

🛠️ Realistic benchmark for key value stores
Other
23 stars 8 forks source link

Client should probably just use httpc instead of hackney #105

Closed goncalotomas closed 7 years ago

goncalotomas commented 7 years ago

Since we only use the HTTP client with a keep alive option that is also available on the Erlang default HTTP client, there is probably no justification to keep using Hackney. This would remove a dependency and possibly some maintenance issues down the road.

goncalotomas commented 7 years ago

Reimplemented the client driver for Lasp Bench using httpc and it has some documented issues with weird termination errors. If something, I got the impression that we should not be using httpc for its unreliability. Alternatives that I found are of course hackney, shotgun and fusco, of which hackney is by far the most popular and recently updated.

All in all, it might not be a good thought to try to get rid of a dependency that is reliable. The problems that we have been having with the HTTP API are due to other implementation issues in the driver, and it needs some desperate attention.

At least we explored this option.

goncalotomas commented 7 years ago

The error that I was getting using httpc was {error, socket_closed_remotely}. There are some workarounds to this issue that involve modifying the connection header to Close, but this is out of the question since we need it to be set to Keep-alive.