GitHub user DaveBirdsall opened a pull request:
https://github.com/apache/incubator-trafodion/pull/1206
[TRAFODION-2617] Optionally push estimate row count logic into HBase
coprocessor
When HBase encryption is used, client-side logic to estimate row count in
encrypted Trafodion tables fails because the Trafodion ID lacks permission to
read the HBase key store file. This set of changes pushes the row count logic
down into a coprocessor, so the logic can run under the HBase ID.
The feature is turned on via CQD HBASE_ESTIMATE_ROW_COUNT_VIA_COPROCESSOR
'ON'. The default is set to 'OFF'. There is a small performance overhead when
using the coprocessor, so it is best to leave this set to 'OFF' unless HBase
encryption is employed.
Note that this change is not sufficient to support encrypted Trafodion
tables using HBase encryption. In order to specify at create time that a
Trafodion table should be encrypted, one needs an extension to the DDL
HBASE_OPTIONS (e.g., "ENCRYPTION = 'AES'"). This has not yet been implemented.
Nevertheless, one can still test these changes on a Trafodion instance by
using the HBase shell. After creating a table within Trafodion, one can use the
'alter' command in the HBase shell to turn encryption on. For example: alter
"TRAFODION.SEABASE.T1",NAME=>'#1',ENCRYPTION=>'AES'. That will come in a future
JIRA.
Other pitfalls to watch out for: Configure your instance for HBase
encryption as described in the HBase documentation. In addition, set the
hfile.format.version value to three. (In Trafodion, by default it is two.)
Oddly, HBase allows one to turn on encryption for format two tables, but it
does not work; you get file corruption errors.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/DaveBirdsall/incubator-trafodion
Trafodion2617a
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-trafodion/pull/1206.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1206
----
commit 8b93ad50673a1be3ca9ae0e21eb00bb5627cc03a
Author: Dave Birdsall <[email protected]>
Date: 2017-08-14T18:17:53Z
[TRAFODION-2617] Optionally push estimate row count logic into HBase coproc
----
---
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.
---