You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2022/06/09 14:07:56 UTC

[GitHub] [accumulo] milleruntime commented on pull request #2197: Per table crypto + other crypto improvements

milleruntime commented on PR #2197:
URL: https://github.com/apache/accumulo/pull/2197#issuecomment-1151167566

   @ctubbsii I re-base'd my per-table crypto changes again with latest for 2.1. Did you want to take another look at this PR before I rewrite the tests? There are a lot of changes but I think the design is solid. Here is a summary of the big updates for this feature:
   
   1. New `CryptoFactoryLoader` class. This class replaces `CryptoServiceFactory`. It can create a new instance of CryptoFactory and has convenience methods to get the CryptoService directly.
   - `public static CryptoFactory newInstance(AccumuloConfiguration conf, ClassloaderType ct)`
   - `public static CryptoFactory none() `
   - `public static CryptoService getCryptoJavaTable(AccumuloConfiguration conf)` (Used by server code)
   - `public static CryptoService getCryptoFromTableProps(InstanceOperations instOps, Map<String,String> tableProps, TableId TableId)` (Used by client code)
   
   2. New `CryptoFactory` interface. Single method: `  CryptoService getService(CryptoEnvironment environment, Map<String,String> properties)`
   - Create 2 basic factory implementations: `PerTableCryptoFactory` and `NoCryptoFactory`
   
   3. Modifications to the current Crypto.
   - Drop the init method from `CryptoService`
   - Add TableId to `CryptoEnvironment`
   
   4. Disable Crypto in the `RFile` API. This is a stop gap until we figure out how to support crypto in the RFile API
   
   
   Classes with major changes:
   [Property](https://github.com/apache/accumulo/pull/2197/files#diff-6c2d215eebb1a6157a2b7d95f49496834bd91a150c8aedd97cca6b01aedc05cb)
   [CryptoFactoryLoader](https://github.com/apache/accumulo/pull/2197/files#diff-6bc04f7fde1143ced2a2ef3097baf6429467690b93557e44c0c9c2542b6d32e9)
   [PerTableCryptoFactory](https://github.com/apache/accumulo/pull/2197/files#diff-8a243847ef39a9dedc8daceaa1629aca85a4a550b2ff20ec3ec249c0bb917625)
   [CryptoFactory interface](https://github.com/apache/accumulo/pull/2197/files#diff-3ab2b08082155f62ed88ac1bb83d9456ece437b562425e255bc76170f3004e7f)
   [CryptoEnvironment interface](https://github.com/apache/accumulo/pull/2197/files#diff-e9b7d2e72ebd5675e60efb4646ae6cbe868199c557225ec18db0392d2368b300)
   [TableConfiguration](https://github.com/apache/accumulo/pull/2197/files#diff-c8804c4993551d0fc6f293963d664d4e35151f7639955f4c7e2b3a7bf2a694b1)
   [ServerContext](https://github.com/apache/accumulo/pull/2197/files#diff-44b9172cc16cdb9b671926c7aed1b0d57372715bc181dd79ef0be76828b708f3)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org