[ https://issues.apache.org/jira/browse/HIVE-5843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13874898#comment-13874898 ]
Brock Noland commented on HIVE-5843: ------------------------------------ bq. In the places where they were taking more than one argument or returning values I've put in structs. Thank you very much!! bq. But a number of the calls take a single long value, the transaction id. I don't want to wrap and unwrap this all the time, as I'd like this to be as fast as possible and it seems overkill. Sorry Alan, please excuse me for my ignorance. From HIVE-5317 "Agreed, this will fail badly in a one insert at a time situation.". Therefore do we see these methods being called in tight loops? It seems that the IO in this situation would dominate any unwrapping of objects? bq. The odds that methods like abortTransaction() will take more than a transactionId seem low. Please know that I am not trying to be obstinate here! :) My only concern is that we follow best practices for new thrift APIs. The number of times I have heard "we won't need to change X" and then X later needed to be changed is too numerous to count. API's always evolve and therefore I would suggest that every method take a single parameter and return a single response. Additionally I would not throw an exceptions as they are problematic as well and instead return a Status struct (code, message, stacktrace) which can contain an optional stack trace should an exception be thrown on the server side. > Transaction manager for Hive > ---------------------------- > > Key: HIVE-5843 > URL: https://issues.apache.org/jira/browse/HIVE-5843 > Project: Hive > Issue Type: Sub-task > Affects Versions: 0.12.0 > Reporter: Alan Gates > Assignee: Alan Gates > Fix For: 0.13.0 > > Attachments: HIVE-5843-src-only.patch, HIVE-5843.2.patch, > HIVE-5843.3-src.path, HIVE-5843.3.patch, HIVE-5843.patch, > HiveTransactionManagerDetailedDesign (1).pdf > > > As part of the ACID work proposed in HIVE-5317 a transaction manager is > required. -- This message was sent by Atlassian JIRA (v6.1.5#6160)