  Highly-available datastores are widely deployed for online applications.
However, many online applications are not contented with the simple data access
interface currently provided by highly-available datastores. Distributed
transaction support is demanded by applications such as large-scale online
payment used by Alipay or Paypal. Current solutions to distributed transaction
can spend more than half of the whole transaction processing time in
distributed commit. An efficient atomic commit protocol is highly desirable.
This paper presents the HACommit protocol, a logless one-phase commit protocol
for highly-available systems. HACommit has transaction participants vote for a
commit before the client decides to commit or abort the transaction; in
comparison, the state-of-the-art practice for distributed commit is to have the
client decide before participants vote. The change enables the removal of both
the participant logging and the coordinator logging steps in the distributed
commit process; it also makes possible that, after the client initiates the
transaction commit, the transaction data is visible to other transactions
within one communication roundtrip time (i.e., one phase). In the evaluation
with extensive experiments, HACommit outperforms recent atomic commit solutions
for highly-available datastores under different workloads. In the best case,
HACommit can commit in one fifth of the time 2PC does.
