@ -342,8 +342,10 @@ class WritePreparedTxnDBMock : public WritePreparedTxnDB {
class WritePreparedTransactionTestBase : public TransactionTestBase {
class WritePreparedTransactionTestBase : public TransactionTestBase {
public :
public :
WritePreparedTransactionTestBase ( bool use_stackable_db , bool two_write_queue ,
WritePreparedTransactionTestBase ( bool use_stackable_db , bool two_write_queue ,
TxnDBWritePolicy write_policy )
TxnDBWritePolicy write_policy ,
: TransactionTestBase ( use_stackable_db , two_write_queue , write_policy ) { } ;
WriteOrdering write_ordering )
: TransactionTestBase ( use_stackable_db , two_write_queue , write_policy ,
write_ordering ) { } ;
protected :
protected :
void UpdateTransactionDBOptions ( size_t snapshot_cache_bits ,
void UpdateTransactionDBOptions ( size_t snapshot_cache_bits ,
@ -518,26 +520,26 @@ class WritePreparedTransactionTestBase : public TransactionTestBase {
class WritePreparedTransactionTest
class WritePreparedTransactionTest
: public WritePreparedTransactionTestBase ,
: public WritePreparedTransactionTestBase ,
virtual public : : testing : : WithParamInterface <
virtual public : : testing : : WithParamInterface <
std : : tuple < bool , bool , TxnDBWritePolicy > > {
std : : tuple < bool , bool , TxnDBWritePolicy , WriteOrdering > > {
public :
public :
WritePreparedTransactionTest ( )
WritePreparedTransactionTest ( )
: WritePreparedTransactionTestBase ( std : : get < 0 > ( GetParam ( ) ) ,
: WritePreparedTransactionTestBase (
std : : get < 1 > ( GetParam ( ) ) ,
std : : get < 0 > ( GetParam ( ) ) , std : : get < 1 > ( GetParam ( ) ) ,
std : : get < 2 > ( GetParam ( ) ) ) { } ;
std : : get < 2 > ( GetParam ( ) ) , std : : get < 3 > ( GetParam ( ) ) ) { } ;
} ;
} ;
# ifndef ROCKSDB_VALGRIND_RUN
# ifndef ROCKSDB_VALGRIND_RUN
class SnapshotConcurrentAccessTest
class SnapshotConcurrentAccessTest
: public WritePreparedTransactionTestBase ,
: public WritePreparedTransactionTestBase ,
virtual public : : testing : : WithParamInterface <
virtual public : : testing : : WithParamInterface < std : : tuple <
std : : tuple < bool , bool , TxnDBWritePolicy , size_t , size_t > > {
bool , bool , TxnDBWritePolicy , WriteOrdering , size_t , size_t > > {
public :
public :
SnapshotConcurrentAccessTest ( )
SnapshotConcurrentAccessTest ( )
: WritePreparedTransactionTestBase ( std : : get < 0 > ( GetParam ( ) ) ,
: WritePreparedTransactionTestBase (
std : : get < 1 > ( GetParam ( ) ) ,
std : : get < 0 > ( GetParam ( ) ) , std : : get < 1 > ( GetParam ( ) ) ,
std : : get < 2 > ( GetParam ( ) ) ) ,
std : : get < 2 > ( GetParam ( ) ) , std : : get < 3 > ( GetParam ( ) ) ) ,
split_id_ ( std : : get < 3 > ( GetParam ( ) ) ) ,
split_id_ ( std : : get < 4 > ( GetParam ( ) ) ) ,
split_cnt_ ( std : : get < 4 > ( GetParam ( ) ) ) { } ;
split_cnt_ ( std : : get < 5 > ( GetParam ( ) ) ) { } ;
protected :
protected :
// A test is split into split_cnt_ tests, each identified with split_id_ where
// A test is split into split_cnt_ tests, each identified with split_id_ where
@ -549,15 +551,15 @@ class SnapshotConcurrentAccessTest
class SeqAdvanceConcurrentTest
class SeqAdvanceConcurrentTest
: public WritePreparedTransactionTestBase ,
: public WritePreparedTransactionTestBase ,
virtual public : : testing : : WithParamInterface <
virtual public : : testing : : WithParamInterface < std : : tuple <
std : : tuple < bool , bool , TxnDBWritePolicy , size_t , size_t > > {
bool , bool , TxnDBWritePolicy , WriteOrdering , size_t , size_t > > {
public :
public :
SeqAdvanceConcurrentTest ( )
SeqAdvanceConcurrentTest ( )
: WritePreparedTransactionTestBase ( std : : get < 0 > ( GetParam ( ) ) ,
: WritePreparedTransactionTestBase (
std : : get < 1 > ( GetParam ( ) ) ,
std : : get < 0 > ( GetParam ( ) ) , std : : get < 1 > ( GetParam ( ) ) ,
std : : get < 2 > ( GetParam ( ) ) ) ,
std : : get < 2 > ( GetParam ( ) ) , std : : get < 3 > ( GetParam ( ) ) ) ,
split_id_ ( std : : get < 3 > ( GetParam ( ) ) ) ,
split_id_ ( std : : get < 4 > ( GetParam ( ) ) ) ,
split_cnt_ ( std : : get < 4 > ( GetParam ( ) ) ) { } ;
split_cnt_ ( std : : get < 5 > ( GetParam ( ) ) ) { } ;
protected :
protected :
// A test is split into split_cnt_ tests, each identified with split_id_ where
// A test is split into split_cnt_ tests, each identified with split_id_ where
@ -568,81 +570,152 @@ class SeqAdvanceConcurrentTest
INSTANTIATE_TEST_CASE_P (
INSTANTIATE_TEST_CASE_P (
WritePreparedTransactionTest , WritePreparedTransactionTest ,
WritePreparedTransactionTest , WritePreparedTransactionTest ,
: : testing : : Values ( std : : make_tuple ( false , false , WRITE_PREPARED ) ,
: : testing : : Values (
std : : make_tuple ( false , true , WRITE_PREPARED ) ) ) ;
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite ) ) ) ;
# ifndef ROCKSDB_VALGRIND_RUN
# ifndef ROCKSDB_VALGRIND_RUN
INSTANTIATE_TEST_CASE_P (
INSTANTIATE_TEST_CASE_P (
TwoWriteQueues , SnapshotConcurrentAccessTest ,
TwoWriteQueues , SnapshotConcurrentAccessTest ,
: : testing : : Values ( std : : make_tuple ( false , true , WRITE_PREPARED , 0 , 20 ) ,
: : testing : : Values (
std : : make_tuple ( false , true , WRITE_PREPARED , 1 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 0 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 2 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 1 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 3 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 2 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 4 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 3 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 5 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 4 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 6 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 5 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 7 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 6 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 8 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 7 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 9 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 8 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 10 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 9 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 11 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 10 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 12 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 11 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 13 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 12 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 14 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 13 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 15 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 14 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 16 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 15 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 17 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 16 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 18 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 17 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 19 , 20 ) ) ) ;
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 18 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 19 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 0 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 1 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 2 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 3 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 4 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 5 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 6 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 7 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 8 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 9 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 10 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 11 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 12 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 13 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 14 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 15 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 16 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 17 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 18 , 20 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 19 , 20 ) ) ) ;
INSTANTIATE_TEST_CASE_P (
INSTANTIATE_TEST_CASE_P (
OneWriteQueue , SnapshotConcurrentAccessTest ,
OneWriteQueue , SnapshotConcurrentAccessTest ,
: : testing : : Values ( std : : make_tuple ( false , false , WRITE_PREPARED , 0 , 20 ) ,
: : testing : : Values (
std : : make_tuple ( false , false , WRITE_PREPARED , 1 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 0 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 2 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 1 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 3 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 2 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 4 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 3 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 5 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 4 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 6 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 5 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 7 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 6 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 8 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 7 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 9 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 8 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 10 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 9 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 11 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 10 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 12 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 11 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 13 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 12 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 14 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 13 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 15 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 14 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 16 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 15 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 17 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 16 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 18 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 17 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 19 , 20 ) ) ) ;
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 18 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 19 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 0 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 1 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 2 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 3 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 4 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 5 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 6 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 7 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 8 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 9 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 10 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 11 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 12 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 13 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 14 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 15 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 16 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 17 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 18 , 20 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 19 ,
20 ) ) ) ;
INSTANTIATE_TEST_CASE_P (
INSTANTIATE_TEST_CASE_P (
TwoWriteQueues , SeqAdvanceConcurrentTest ,
TwoWriteQueues , SeqAdvanceConcurrentTest ,
: : testing : : Values ( std : : make_tuple ( false , true , WRITE_PREPARED , 0 , 10 ) ,
: : testing : : Values (
std : : make_tuple ( false , true , WRITE_PREPARED , 1 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 0 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 2 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 1 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 3 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 2 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 4 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 3 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 5 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 4 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 6 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 5 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 7 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 6 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 8 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 7 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , 9 , 10 ) ) ) ;
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 8 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kOrderedWrite , 9 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 0 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 1 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 2 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 3 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 4 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 5 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 6 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 7 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 8 , 10 ) ,
std : : make_tuple ( false , true , WRITE_PREPARED , kUnorderedWrite , 9 , 10 ) ) ) ;
INSTANTIATE_TEST_CASE_P (
INSTANTIATE_TEST_CASE_P (
OneWriteQueue , SeqAdvanceConcurrentTest ,
OneWriteQueue , SeqAdvanceConcurrentTest ,
: : testing : : Values ( std : : make_tuple ( false , false , WRITE_PREPARED , 0 , 10 ) ,
: : testing : : Values (
std : : make_tuple ( false , false , WRITE_PREPARED , 1 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 0 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 2 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 1 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 3 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 2 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 4 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 3 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 5 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 4 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 6 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 5 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 7 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 6 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 8 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 7 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , 9 , 10 ) ) ) ;
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 8 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kOrderedWrite , 9 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 0 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 1 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 2 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 3 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 4 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 5 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 6 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 7 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 8 , 10 ) ,
std : : make_tuple ( false , false , WRITE_PREPARED , kUnorderedWrite , 9 , 10 ) ) ) ;
# endif // ROCKSDB_VALGRIND_RUN
# endif // ROCKSDB_VALGRIND_RUN
TEST_P ( WritePreparedTransactionTest , CommitMapTest ) {
TEST_P ( WritePreparedTransactionTest , CommitMapTest ) {