You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2014/09/16 22:32:34 UTC

[jira] [Commented] (HDFS-7075) hadoop-fuse-dfs fails because it cannot find JavaKeyStoreProvider$Factory

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

Colin Patrick McCabe commented on HDFS-7075:
--------------------------------------------

The solution here seems to be to use the same classloader that was used to load the {{KeyProviderFactory}}.  For some reason, when libhfds uses the JNI "invocation API", the classloader default seems to be unhelpful compared with the default when using a pure java client.

> hadoop-fuse-dfs fails because it cannot find JavaKeyStoreProvider$Factory
> -------------------------------------------------------------------------
>
>                 Key: HDFS-7075
>                 URL: https://issues.apache.org/jira/browse/HDFS-7075
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.6.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HDFS-7075.001.patch
>
>
> hadoop-fuse-dfs fails complaining with:
> {code}
> java.util.ServiceConfigurationError: org.apache.hadoop.crypto.key.KeyProviderFactory: Provider org.apache.hadoop.crypto.key.JavaKeyStoreProvider$Factory not found
> {code}
> Here is an example of the hadoop-fuse-dfs debug output.
> {code}
> 14/09/04 13:49:04 WARN crypto.CryptoCodec: Crypto codec org.apache.hadoop.crypto.OpensslAesCtrCryptoCodec is not available.
> hdfsBuilderConnect(forceNewInstance=1, nn=hdfs://hdfs-cdh5-secure-1.vpc.cloudera.com:8020, port=0, kerbTicketCachePath=/tmp/krb5cc_0, userName=root) error:
> java.util.ServiceConfigurationError: org.apache.hadoop.crypto.key.KeyProviderFactory: Provider org.apache.hadoop.crypto.key.JavaKeyStoreProvider$Factory not found
> 	at java.util.ServiceLoader.fail(ServiceLoader.java:231)
> 	at java.util.ServiceLoader.access$300(ServiceLoader.java:181)
> 	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:365)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)