Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
0.17.0
-
None
-
None
-
Incompatible change, Reviewed
-
Changed DataNode protocol version without impact to clients other than to compel use of current version of client application.
Description
The number of threads are currently limited on datanodes. Once these threads are occupied, DataNode does not accept any more requests (DOS). Recently we saw a case where most of the 256 threads were waiting in DataXceiver.replaceBlock() trying to acquire balancingSem. Since rebalancing is (heavily) throttled, I would think this would be the common case.
These operations waiting for active rebalancing threads to finish need not take up a thread.