Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1103 What you described is a failing in the original set of thread factories to provide common functionality (detached, policy, priority) in the base class. Only PosixThreadFactory has policy and priority, and yet it's quite likely that all of them would benefit from these. I moved the detached information into the base class as a first step. I could certainly add back setDetached into the base and mark it deprecated, however that breaks the contract that the servers require - that the detached disposition cannot change while the server is running, so it really doesn't belong... I still have no valid use case for changing detached disposition of a thread manager while it is in use. Now that said, I believe that Thread knows if it is detached or not; if Thread had a "joinIfJoinable()" method then that server requirement would go away since the TConnectedClient could just call that and it would do the right thing, and setDetached() could be added back in avoiding that particular breaking change. I don't find breaking changes to be a problem when they remove behavior that has no use case to support it, however. There's a lot of technical debt in the concurrency area that still could be addressed - this was a first pass as trying to shore it up and ensure functions provided are actually tested and work, and that tests don't take 100 seconds each.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---