hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alejandro Abdelnur (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-10431) Change visibility of KeyStore KeyVersion/Metadata/Options constructor and methods to public
Date Tue, 08 Apr 2014 17:00:45 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-10431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13963171#comment-13963171
] 

Alejandro Abdelnur commented on HADOOP-10431:
---------------------------------------------

Larry,

What do you mean by separate databinding object? on the KMS server a metadata is being built
using querystring params, on the KMS client it is being build using values from a Json bean.

1. We could use JSON lib automatic binding, that requires public setters, so we are back to
square one, we need to change visibility.

2. We could create interface/impls of those classes, the API would use the interfaces, the
providers would use the impls. The impls would be in an spi package. It seems a bit overkilling
for simple beans.

3. We could annotate the constructors as @Private or @Limited.

4. We could make the constructors protected, forcing KeyProvider impls to implement dummy
subclasses to use them.

To be able to implement additional KeyProvider we need either an interface or a visibility
change.


> Change visibility of KeyStore KeyVersion/Metadata/Options constructor and methods to
public
> -------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-10431
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10431
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: security
>    Affects Versions: 3.0.0
>            Reporter: Alejandro Abdelnur
>            Assignee: Alejandro Abdelnur
>         Attachments: HADOOP-10431.patch
>
>
> Making KeyVersion/Metadata/Options constructor and methods public will facilitate {{KeyProvider}}
implementations to use those classes.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message