William Lo created GOBBLIN-1826:
-----------------------------------
Summary: Fix bug in Hive registration code where fields could be
miscasted in types
Key: GOBBLIN-1826
URL: https://issues.apache.org/jira/browse/GOBBLIN-1826
Project: Apache Gobblin
Issue Type: Bug
Components: gobblin-core
Reporter: William Lo
Assignee: Abhishek Tiwari
After the Guava 20 upgrade, there was a major bug in the Hive registration code
where fields could be casted as an unexpected type in HiveRegistrationUnit
{code:java}
protected static <T> Optional<T> populateField(State state, String key,
TypeToken<T> token) {
{code}
The field setter is returning an Optional generic, which allows the code to
compile but fail during runtime as the types are mismatched, leading to a
casting exception when reading the type e.g.
{code:java}
java.lang.ClassCastException: java.lang.String cannot be cast to
java.lang.Long at
org.apache.gobblin.hive.metastore.HiveMetaStoreUtils.getTable(HiveMetaStoreUtils.java:111)
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)