You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2019/09/11 08:03:00 UTC

[jira] [Work logged] (HIVE-22190) Class HiveMetaStoreClient fails to instantiate when running on Java 11

     [ https://issues.apache.org/jira/browse/HIVE-22190?focusedWorklogId=310382&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-310382 ]

ASF GitHub Bot logged work on HIVE-22190:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Sep/19 08:02
            Start Date: 11/Sep/19 08:02
    Worklog Time Spent: 10m 
      Work Description: frankgh commented on pull request #765: HIVE-22190: Class HiveMetaStoreClient fails to instantiate when runni…
URL: https://github.com/apache/hive/pull/765
 
 
   …ng on Java 11
   
   HiveMetaStoreClient fails to initialize in JDK with error:
   Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient with cause
   class [Ljava.lang.Object; cannot be cast to class [Ljava.net.URI; ([Ljava.lang.Object; and [Ljava.net.URI; are in module java.base of loader 'bootstrap')
   
   This commit refactors the code to convert a List to array
 
----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 310382)
    Remaining Estimate: 0h
            Time Spent: 10m

> Class HiveMetaStoreClient fails to instantiate when running on Java 11
> ----------------------------------------------------------------------
>
>                 Key: HIVE-22190
>                 URL: https://issues.apache.org/jira/browse/HIVE-22190
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>    Affects Versions: 2.3.6
>         Environment: Java Version: "11.0.3" 2019-04-16 LTS
>            Reporter: Francisco Guerrero
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> HiveMetaStoreClient fails to initialize in JDK with error:
> Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient with cause
> class [Ljava.lang.Object; cannot be cast to class [Ljava.net.URI; ([Ljava.lang.Object; and [Ljava.net.URI; are in module java.base of loader 'bootstrap')
> This is due the way toArray is being invoked. The compiles and runs well on Java 8. But when running in Java 11, the class instantiation fails. This is a snippet of code to reproduce the issue:
> {noformat}
> URI metastoreUris[] = new URI[2];
> try {
>     metastoreUris[0] = new URI("http://google.com");
> } catch (URISyntaxException e) {
>     e.printStackTrace();
> }
> List uriList = Arrays.asList(metastoreUris);
> Collections.shuffle(uriList);
> metastoreUris = (URI[]) uriList.toArray();
> {noformat}
> This is causing any client using HiveMetaStoreClient fail, because the constructor is unable to initialize. The type erasure is handled differently in Java 8 and Java 11.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)