trafodion-codereview mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DaveBirdsall <...@git.apache.org>
Subject [GitHub] incubator-trafodion pull request #1206: [TRAFODION-2617] Optionally push est...
Date Mon, 14 Aug 2017 18:33:37 GMT
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 <dbirdsall@apache.org>
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message