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.
---

Reply via email to