nikita-sirohi commented on PR #2622: URL: https://github.com/apache/accumulo/pull/2622#issuecomment-1097029664
Re "What circumstance with that caused you to see this?": Trino is a distributed SQL query engine: https://trino.io/ . Essentially, trino will spawn a number of threads to execute tasks against whatever the backing database/APIs are. If a query is aborted (ctrl+c as you asked about, etc), or a separate task fails, etc, the thread will be interrupted. Most of the time I've seen this has been from ctrl+c called, but have seen this from queries failing/getting aborted in other ways as well (OOMs, or bad data). Trino has some out of the box plugins, including one for accumulo, which from looking at the code I _suspect_ will have this same problem, but have not tried it out. We (my employer) wrote an us-specific plugin that uses trino to talk to accumulo/do some other things; we found that over time, performance would degrade until eventually no queries were serviceable. We saw the endless loop of "WARN ThriftUtil: Failed to open transport..." and traced from there. Not at all surprised this is such an edge case -- was surprised to see that opening sockets while threads are interrupted works this way. ------- Re "wasn't sure if either createClientTransport or TTimeoutTransport.create had the appropriate information to special case this exception" -- it looked to me like these functions were doing very specific things, and not doing much "logic" with exceptions beyond wrapping them as TTransportExceptions and handing them to the caller. I also wasn't sure if every caller would want to see this exception handled the same way. I also wasn't sure if there were other such exceptions that would need special casing. ------ Re "I'll have to see where this pattern is being used elsewhere... it feels wrong, but if it's being done that elsewhere, I'm curious why." Honestly, beyond this and a bit of other debugging, I haven't spent a ton of time digging through accumulo internals. I saw the patch tracked in ACCUMULO-3030/77226b05bbfc204ec45e3aefb5ea580fb5b9b5af and did a best effort pattern match; not much more to it :) . Let me know and will adjust the PR as needed. Thanks for all the conversation! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
