diff --git a/HISTORY.md b/HISTORY.md index 9b094cf2c..5a6c9bf2c 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,8 @@ # Rocksdb Change Log ## Unreleased +### Public API Change +* Fix spelling so that API now has correctly spelled transaction state name `COMMITTED`, while the old misspelled `COMMITED` is still available as an alias. + ### Bug Fixes * Fix a bug where range tombstone blocks in ingested files were cached incorrectly during ingestion. If range tombstones were read from those incorrectly cached blocks, the keys they covered would be exposed. * Fix a data race that might cause crash when calling DB::GetCreationTimeOfOldestFile() by a small chance. The bug was introduced in 6.6 Release. diff --git a/include/rocksdb/utilities/transaction.h b/include/rocksdb/utilities/transaction.h index d6c6722c8..18e27844c 100644 --- a/include/rocksdb/utilities/transaction.h +++ b/include/rocksdb/utilities/transaction.h @@ -491,7 +491,8 @@ class Transaction { AWAITING_PREPARE = 1, PREPARED = 2, AWAITING_COMMIT = 3, - COMMITED = 4, + COMMITTED = 4, + COMMITED = COMMITTED, // old misspelled name AWAITING_ROLLBACK = 5, ROLLEDBACK = 6, LOCKS_STOLEN = 7, diff --git a/java/rocksjni/transaction.cc b/java/rocksjni/transaction.cc index ae98b868c..3b9123ed1 100644 --- a/java/rocksjni/transaction.cc +++ b/java/rocksjni/transaction.cc @@ -1605,7 +1605,7 @@ jbyte Java_org_rocksdb_Transaction_getState(JNIEnv* /*env*/, jobject /*jobj*/, case ROCKSDB_NAMESPACE::Transaction::TransactionState::AWAITING_COMMIT: return 0x3; - case ROCKSDB_NAMESPACE::Transaction::TransactionState::COMMITED: + case ROCKSDB_NAMESPACE::Transaction::TransactionState::COMMITTED: return 0x4; case ROCKSDB_NAMESPACE::Transaction::TransactionState::AWAITING_ROLLBACK: diff --git a/java/src/main/java/org/rocksdb/Transaction.java b/java/src/main/java/org/rocksdb/Transaction.java index d59be4c80..f176701fa 100644 --- a/java/src/main/java/org/rocksdb/Transaction.java +++ b/java/src/main/java/org/rocksdb/Transaction.java @@ -1788,11 +1788,17 @@ public class Transaction extends RocksObject { AWAITING_PREPARE((byte)1), PREPARED((byte)2), AWAITING_COMMIT((byte)3), - COMMITED((byte)4), + COMMITTED((byte)4), AWAITING_ROLLBACK((byte)5), ROLLEDBACK((byte)6), LOCKS_STOLEN((byte)7); + /* + * Keep old misspelled variable as alias + * Tip from https://stackoverflow.com/a/37092410/454544 + */ + public static final TransactionState COMMITED = COMMITTED; + private final byte value; TransactionState(final byte value) { diff --git a/java/src/test/java/org/rocksdb/TransactionTest.java b/java/src/test/java/org/rocksdb/TransactionTest.java index 57a05c9e3..725ff2cb5 100644 --- a/java/src/test/java/org/rocksdb/TransactionTest.java +++ b/java/src/test/java/org/rocksdb/TransactionTest.java @@ -209,7 +209,7 @@ public class TransactionTest extends AbstractTransactionTest { .isSameAs(Transaction.TransactionState.STARTED); txn.commit(); assertThat(txn.getState()) - .isSameAs(Transaction.TransactionState.COMMITED); + .isSameAs(Transaction.TransactionState.COMMITTED); } try(final Transaction txn = dbContainer.beginTransaction()) { diff --git a/utilities/transactions/pessimistic_transaction.cc b/utilities/transactions/pessimistic_transaction.cc index 5ae5fed08..b9ca2bb7b 100644 --- a/utilities/transactions/pessimistic_transaction.cc +++ b/utilities/transactions/pessimistic_transaction.cc @@ -95,7 +95,7 @@ PessimisticTransaction::~PessimisticTransaction() { if (expiration_time_ > 0) { txn_db_impl_->RemoveExpirableTransaction(txn_id_); } - if (!name_.empty() && txn_state_ != COMMITED) { + if (!name_.empty() && txn_state_ != COMMITTED) { txn_db_impl_->UnregisterTransaction(this); } } @@ -108,7 +108,7 @@ void PessimisticTransaction::Clear() { void PessimisticTransaction::Reinitialize( TransactionDB* txn_db, const WriteOptions& write_options, const TransactionOptions& txn_options) { - if (!name_.empty() && txn_state_ != COMMITED) { + if (!name_.empty() && txn_state_ != COMMITTED) { txn_db_impl_->UnregisterTransaction(this); } TransactionBaseImpl::Reinitialize(txn_db->GetRootDB(), write_options); @@ -156,7 +156,7 @@ Status PessimisticTransaction::CommitBatch(WriteBatch* batch) { txn_state_.store(AWAITING_COMMIT); s = CommitBatchInternal(batch); if (s.ok()) { - txn_state_.store(COMMITED); + txn_state_.store(COMMITTED); } } else if (txn_state_ == LOCKS_STOLEN) { s = Status::Expired(); @@ -209,7 +209,7 @@ Status PessimisticTransaction::Prepare() { s = Status::Expired(); } else if (txn_state_ == PREPARED) { s = Status::InvalidArgument("Transaction has already been prepared."); - } else if (txn_state_ == COMMITED) { + } else if (txn_state_ == COMMITTED) { s = Status::InvalidArgument("Transaction has already been committed."); } else if (txn_state_ == ROLLEDBACK) { s = Status::InvalidArgument("Transaction has already been rolledback."); @@ -307,7 +307,7 @@ Status PessimisticTransaction::Commit() { } Clear(); if (s.ok()) { - txn_state_.store(COMMITED); + txn_state_.store(COMMITTED); } } } else if (commit_prepared) { @@ -330,10 +330,10 @@ Status PessimisticTransaction::Commit() { txn_db_impl_->UnregisterTransaction(this); Clear(); - txn_state_.store(COMMITED); + txn_state_.store(COMMITTED); } else if (txn_state_ == LOCKS_STOLEN) { s = Status::Expired(); - } else if (txn_state_ == COMMITED) { + } else if (txn_state_ == COMMITTED) { s = Status::InvalidArgument("Transaction has already been committed."); } else if (txn_state_ == ROLLEDBACK) { s = Status::InvalidArgument("Transaction has already been rolledback."); @@ -423,7 +423,7 @@ Status PessimisticTransaction::Rollback() { } // prepare couldn't have taken place Clear(); - } else if (txn_state_ == COMMITED) { + } else if (txn_state_ == COMMITTED) { s = Status::InvalidArgument("This transaction has already been committed."); } else { s = Status::InvalidArgument(