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

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

                Author: ASF GitHub Bot
            Created on: 02/Dec/21 04:38
            Start Date: 02/Dec/21 04:38
    Worklog Time Spent: 10m 
      Work Description: dengzhhu653 commented on pull request #2808:
URL: https://github.com/apache/hive/pull/2808#issuecomment-984286215


   > Sorry @dengzhhu653 , was on vacation. Can you add some details on why this 
change is necessary? thanks.
   
   Thank you for the feedback. 
[HIVE-11586](https://issues.apache.org/jira/browse/HIVE-11586) has solved the 
problem that a uninitialized instance of ReflectionStructObjectInspector may be 
returned in case of multi threads trying to get it, npe would be thrown if we 
refer to some fields of the inspector. In order to make true that the 
ReflectionStructObjectInspector is fully inited, [others may wait for up to 3 
seconds](https://github.com/apache/hive/blob/master/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorFactory.java#L106-L121).
  The 
[ThriftStructObjectInspector](https://github.com/apache/hive/blob/7b3ecf617a6d46f48a3b6f77e0339fd4ad95a420/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ReflectionStructObjectInspector.java#L165-L178)
 will notify the monitor on finishing initialization, but 
[ThriftUnionObjectInspector](https://github.com/apache/hive/blob/master/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ThriftUnionObjectInspector.java#L95-L104)
 misses to do this in his own overriden `init` method.


-- 
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.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

    Worklog Id:     (was: 689042)
    Time Spent: 40m  (was: 0.5h)

> ThriftUnionObjectInspector should be notified when fully inited
> ---------------------------------------------------------------
>
>                 Key: HIVE-25729
>                 URL: https://issues.apache.org/jira/browse/HIVE-25729
>             Project: Hive
>          Issue Type: Bug
>          Components: Serializers/Deserializers
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> For thread safe purpose,  a ReflectionStructObjectInspector instance would 
> wait for 3 seconds to ensure the returning ObjectInspector is fully inited, 
> {code:java}
> synchronized (soi) {
>   while (!soi.isFullyInited(checkedTypes)) {
>     // ....  
>     soi.wait(3000);  
>   }
> } {code}
> It seems that we are missing to notify ThriftUnionObjectInspector when it has 
> been inited.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to