keith-turner commented on issue #402: ACCUMULO-4615: Updated get status for thread safety and with a per-task timeout URL: https://github.com/apache/accumulo/pull/402#issuecomment-379835988 I prototyped my half baked idea. The prototype can be found in commit keith-turner@5044241ca445a0bbc48e38931f09f77d8acb44b9 which is in the branch [keith-turner/ACCUMULO-4615](https://github.com/keith-turner/accumulo/tree/ACCUMULO-4615). I am not proposing we do this, just posting it for consideration. The concept needs to be tested on a busy cluster. I say this idea is half baked because I have never used the thrift send and recv method separately. I suspect it may work well, but I am not sure. I think in the case where a tablet server is using THsHaServer it may work really well because there is a dedicated thread to accept connections (even if all threads in the servers thread pool for processing connections are busy). However in the case where the tserver uses the TThreadPoolServer (this is used when Kerberos is used and it can also be configured) there is no dedicated thread to accept connections, so the send call from the master may block if all server threads are busy (I am not sure). A dedicated thrift server and port for getting status in tablet servers would solve this issue. A completely different way of solving this issue may be to use the thrift async client which uses non-blocking sockets for connections. However I Am not sure how well this would work with SSL and Kerberos and I have never used the thrift async client. I am interested in learning more about it though, but have not yet found the time to do so.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
