GCS Connector runs into StackOverflow while creating hadoop credential
Closed this issue · 2 comments
daichi-m commented
I'm trying to create a hadoop credential jceks file and trying to store it in a gs bucket. The command runs into a StackOverflowError.
Command:
hadoop credential create javax.jdo.option.ConnectionPassword \
-provider jceks://gs/${bucketName}/path/to/certs/hive.jceks
Stacktrace:
Exception in thread "main" java.lang.StackOverflowError
at java.net.URI$Parser.scanIPv4Address(URI.java:3292)
at java.net.URI$Parser.parseIPv4Address(URI.java:3332)
at java.net.URI$Parser.parseServer(URI.java:3234)
at java.net.URI$Parser.parseAuthority(URI.java:3155)
at java.net.URI$Parser.parseHierarchical(URI.java:3097)
at java.net.URI$Parser.parse(URI.java:3053)
at java.net.URI.<init>(URI.java:588)
at org.apache.hadoop.security.alias.CredentialProviderFactory.getProviders(CredentialProviderFactory.java:67)
at org.apache.hadoop.conf.Configuration.getPasswordFromCredentialProviders(Configuration.java:2143)
at org.apache.hadoop.conf.Configuration.getPassword(Configuration.java:2081)
at com.google.cloud.hadoop.repackaged.gcs.com.google.cloud.hadoop.util.ConfigurationEntriesAdapterSpecific.getPassword(ConfigurationEntriesAdapterSpecific.java:29)
at com.google.cloud.hadoop.repackaged.gcs.com.google.cloud.hadoop.util.HadoopCredentialConfiguration$ConfigurationEntriesAdapter.getPassword(HadoopCredentialConfiguration.java:39)
at com.google.cloud.hadoop.repackaged.gcs.com.google.cloud.hadoop.util.EntriesCredentialConfiguration.setConfiguration(EntriesCredentialConfiguration.java:295)
at com.google.cloud.hadoop.repackaged.gcs.com.google.cloud.hadoop.util.EntriesCredentialConfiguration$Builder.build(EntriesCredentialConfiguration.java:171)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.getCredential(GoogleHadoopFileSystemBase.java:1612)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.createGcsFs(GoogleHadoopFileSystemBase.java:1699)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.configure(GoogleHadoopFileSystemBase.java:1658)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.initialize(GoogleHadoopFileSystemBase.java:683)
at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.initialize(GoogleHadoopFileSystemBase.java:646)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3242)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:121)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3291)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3259)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:470)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:356)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider.initFileSystem(JavaKeyStoreProvider.java:89)
at org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider.<init>(AbstractJavaKeyStoreProvider.java:85)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:49)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:41)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory.createProvider(JavaKeyStoreProvider.java:100)
at org.apache.hadoop.security.alias.CredentialProviderFactory.getProviders(CredentialProviderFactory.java:73)
at org.apache.hadoop.conf.Configuration.getPasswordFromCredentialProviders(Configuration.java:2143)
at org.apache.hadoop.conf.Configuration.getPassword(Configuration.java:2081)</pre></code>
I'm using GCS Connector version hadoop2-1.9.17.jar in Cloud Dataproc version 1-4-10-debian9
medb commented
Thanks for report, I will take a look into this.
medb commented
Is this reproducible with GCS connector 2.2.4?