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

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

                Author: ASF GitHub Bot
            Created on: 21/May/21 04:53
            Start Date: 21/May/21 04:53
    Worklog Time Spent: 10m 
      Work Description: nrg4878 commented on pull request #2303:
URL: https://github.com/apache/hive/pull/2303#issuecomment-845651545


   @belugabehr How does adding this annotation create AlreadyExistsException? I 
havent looked into this in a very long time but its my recollection that this 
annotation was used by either the RetryingHMSHandler or RetryingMetastoreClient 
to determine whether or not to retry this operation. I would have guess it was 
the RetryingHMSHandler but given this change, I suspect it is the latter.
   So how exactly does this result in a AlreadyExistsException? What if the 
failure was due to a DB_LOCK timeout (Where another transaction has the lock on 
the table). 
   Also, do the implementing classes inherit annotations from the interface? I 
thought it was limited to just the javadoc annotations.


-- 
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:
us...@infra.apache.org


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

    Worklog Id:     (was: 600172)
    Time Spent: 0.5h  (was: 20m)

> Add NoReconnect Annotation to Create AlreadyExistsException Methods
> -------------------------------------------------------------------
>
>                 Key: HIVE-25144
>                 URL: https://issues.apache.org/jira/browse/HIVE-25144
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: David Mollitor
>            Assignee: David Mollitor
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> I have recently seen an issue where a Hive {{CREATE TABLE}} method fails with 
> {{AlreadyExistsException}} even though the table does absolutely not exist.
>  
> I believe the issue is there there is a timeout/transient error with HMS and 
> the backend database.  So, the client submits the request to HMS, and the 
> request does eventually succeed, but only after the connection to the client 
> connects.  Therefore, when the HMS Client "retry" functionality kicks it, the 
> second time around, the table looks like it already exists.
>  
> If something goes wrong during a HMS CREATE operation, we do not know the 
> state of the operation and therefore it should just fail.
>  
> It would certainly be more transparent to the end-user what is going on.  An 
> {{AlreadyExistsException}}  is confusing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to