pkumarsinha commented on a change in pull request #1232:
URL: https://github.com/apache/hive/pull/1232#discussion_r455721742



##########
File path: ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManager.java
##########
@@ -186,6 +186,18 @@ void replTableWriteIdState(String validWriteIdList, String 
dbName, String tableN
    */
   ValidTxnList getValidTxns() throws LockException;
 
+ /**
+  * Get the transactions that are currently valid.  The resulting
+  * {@link ValidTxnList} object can be passed as string to the processing
+  * tasks for use in the reading the data.  This call should be made once up
+  * front by the planner and should never be called on the backend,
+  * as this will violate the isolation level semantics.
+  * @return list of valid transactions.
+  * @param  txnTypes list of transaction types that should be excluded.
+  * @throws LockException
+  */
+  ValidTxnList getValidTxns(List<TxnType> txnTypes) throws LockException;

Review comment:
       Currently txnTypes is set of 5 enum values, but that could change. Also, 
imagine if someone wants to get a single type, he will have to pass n-1 type in 
exclude list. Since it is exposed as HMS api, it could be used outside of 
replication cases as well. Since these are public interfaces, it is important. 
with this interface in place, if someone wants to add additional api to get txn 
with matching types, how will that extension look like? 




----------------------------------------------------------------
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:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to