Description
Current TxnHandler and CompactionTxnHandler use System.currentTimeMillis() when they need to determine the time (such as heartbeating transactions). In situations where there are multiple Thrift metastore services or users are using an embedded metastore this will lead to issues. We should instead be using time from the RDBMS, which is guaranteed to be the same for all users.