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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to