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 [email protected] or file a JIRA ticket
with INFRA.
---