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
Deprecate thrift and memcached transports #10166
Comments
The thrift and memcached transport layers were experimental, but in the end didn't buy us much. Memcached is very limited in scope, supporting only a portion of the REST API, and thrift has much the same throughput as HTTP. They are deprecated as of 1.5.0, and will be removed in 2.0. Document changes for #10166
The thrift and memcached transport layers were experimental, but in the end didn't buy us much. Memcached is very limited in scope, supporting only a portion of the REST API, and thrift has much the same throughput as HTTP. They are deprecated as of 1.5.0, and will be removed in 2.0. Document changes for #10166
The thrift transport is deprecated as of Elasticsearch v1.5.0, and will be removed in 2.0 Related to elastic/elasticsearch#10166
The memcached transport is deprecated as of Elasticsearch v1.5.0, and will be removed in 2.0 Related to elastic/elasticsearch#10166
http://build-eu-00.elastic.co/view/Clients/job/es-py_core/ thirft/memcached disabled |
I use memcached transport in production for storing log messages and I am able to achieve far more higher throughput than with HTTP REST API. Furthermore, memcached protocol can work in connectionless mode. This plugin can be fairly simple extended to allow binding to UDP and DGRAM sockets. Memcached client libraries already support that. This would make possible to use ES in connectionless mode. It will suit perfectly for storing log messages. Does ES team have another ideas how to provide connectionless operation? |
In theory TCP+thrift should provide better performance. What is the reason to drop this? Could you give us a more detailed explanation of why this is removed? |
yes, could you provide more detailed explanation? Thanks |
We've been investigating for a while and just decided to switch to thrift for transporting. |
Same thing with us. We've decided to build a new part of the architecture using thrift as default communication technology. Although we are not doomed when ES removes thrift, it is still a desirable piece in the puzzle. The Thrift TSocket communication is also much faster than Thrift over http (about 5 to 10 times in our tests). Have you taken the thrift socket communication option into consideration while benchmarking? |
The Thrift interface is 5 to 10 times faster than the HTTP interface and has been for 3 years now. What testing has shown otherwise? |
Same question about thrift. Any benchmarks about it? Any potential replacement so far? |
Hi all We have compared HTTP to Thrift on the officially supported clients in .net, python, ruby, and perl, (with fast http backends, persistent connections, good json encoders etc) and we all found that the performance difference was negligible. This is why we decided to stop supporting thrift. I'd be interested to see the code that you used where you found such large performance differences. |
The thrift and memcached transport layers were experimental, but in the end didn't buy us much. Memcached is very limited in scope, supporting only a portion of the REST API, and thrift has much the same throughput as HTTP. They are deprecated as of 1.5.0, and will be removed in 2.0. Document changes for elastic#10166
So we have tested the thrift interface to http interface and the thrift interface is 70% faster. Comparison of negligible means that you were only testing on the same host node. Really challenge you to prove the assertion. |
The thrift and memcached transport layers were experimental, but in the end didn't buy us much. Memcached is very limited in scope, supporting only a portion of the REST API, and thrift has much the same throughput as HTTP.
Deprecate in 1.5, and remove in 2.0
The text was updated successfully, but these errors were encountered: