Gary Helmling created HBASE-12578:
-------------------------------------
Summary: Change TokenProvider to a SingletonCoprocessorService
Key: HBASE-12578
URL: https://issues.apache.org/jira/browse/HBASE-12578
Project: HBase
Issue Type: Improvement
Components: security
Reporter: Gary Helmling
The {{TokenProvider}} coprocessor service, which is responsible for issuing
HBase delegation tokens, currently runs a region endpoint. In the security
documentation, we recommend configuring this coprocessor for all table regions,
however, we only ever address delegation token requests to the META region.
When {{TokenProvider}} was first added, region coprocessors were the only way
of adding endpoints. But, since then, we've added support for endpoints for
regionserver and master coprocessors. This makes loading {{TokenProvider}} on
all table regions unnecessarily wasteful.
We can reduce the overhead for {{TokenProvider}} and greatly improve it's
scalability by doing the following:
# Convert {{TokenProvider}} to a {{SingletonCoprocessorService}} that is
configured to run on all regionservers. This will ensure a single instance per
regionserver instead of one per region.
# Direct delegation token requests to a random running regionserver so that we
don't hotspot any single instance with requests.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)