mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-15 02:18:39 +08:00
add database options to bindingtester stack tester
This commit is contained in:
parent
148a21a31c
commit
4fff1f6756
@ -1542,6 +1542,26 @@ struct UnitTestsFunc : InstructionFunc {
|
||||
}
|
||||
API::selectAPIVersion(fdb->getAPIVersion());
|
||||
|
||||
const uint64_t locationCacheSize = 100001;
|
||||
const uint64_t maxWatches = 10001;
|
||||
const uint64_t timeout = 60*1000;
|
||||
const uint64_t noTimeout = 0;
|
||||
const uint64_t retryLimit = 50;
|
||||
const uint64_t noRetryLimit = -1;
|
||||
const uint64_t maxRetryDelay = 100;
|
||||
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_LOCATION_CACHE_SIZE, Optional<StringRef>(StringRef((const uint8_t*)&locationCacheSize, 8)));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_MAX_WATCHES, Optional<StringRef>(StringRef((const uint8_t*)&maxWatches, 8)));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_DATACENTER_ID, Optional<StringRef>(LiteralStringRef("dc_id")));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_MACHINE_ID, Optional<StringRef>(LiteralStringRef("machine_id")));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_TRANSACTION_TIMEOUT, Optional<StringRef>(StringRef((const uint8_t*)&timeout, 8)));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_TRANSACTION_TIMEOUT, Optional<StringRef>(StringRef((const uint8_t*)&noTimeout, 8)));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_TRANSACTION_MAX_RETRY_DELAY, Optional<StringRef>(StringRef((const uint8_t*)&maxRetryDelay, 8)));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_TRANSACTION_RETRY_LIMIT, Optional<StringRef>(StringRef((const uint8_t*)&retryLimit, 8)));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_TRANSACTION_RETRY_LIMIT, Optional<StringRef>(StringRef((const uint8_t*)&noRetryLimit, 8)));
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_SNAPSHOT_RYW_ENABLE);
|
||||
data->db->setDatabaseOption(FDBDatabaseOption::FDB_DB_OPTION_SNAPSHOT_RYW_DISABLE);
|
||||
|
||||
state Reference<Transaction> tr = data->db->createTransaction();
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_PRIORITY_SYSTEM_IMMEDIATE);
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_PRIORITY_SYSTEM_IMMEDIATE);
|
||||
@ -1551,11 +1571,8 @@ struct UnitTestsFunc : InstructionFunc {
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_READ_YOUR_WRITES_DISABLE);
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_READ_SYSTEM_KEYS);
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_ACCESS_SYSTEM_KEYS);
|
||||
const uint64_t timeout = 60*1000;
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_TIMEOUT, Optional<StringRef>(StringRef((const uint8_t*)&timeout, 8)));
|
||||
const uint64_t retryLimit = 50;
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_RETRY_LIMIT, Optional<StringRef>(StringRef((const uint8_t*)&retryLimit, 8)));
|
||||
const uint64_t maxRetryDelay = 100;
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_MAX_RETRY_DELAY, Optional<StringRef>(StringRef((const uint8_t*)&maxRetryDelay, 8)));
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_USED_DURING_COMMIT_PROTECTION_DISABLE);
|
||||
tr->setOption(FDBTransactionOption::FDB_TR_OPTION_TRANSACTION_LOGGING_ENABLE, Optional<StringRef>(LiteralStringRef("my_transaction")));
|
||||
|
@ -791,6 +791,15 @@ func (sm *StackMachine) processInst(idx int, inst tuple.Tuple) {
|
||||
case op == "UNIT_TESTS":
|
||||
db.Options().SetLocationCacheSize(100001)
|
||||
db.Options().SetMaxWatches(10001)
|
||||
db.Options().SetDatacenterId("dc_id")
|
||||
db.Options().SetMachineId("machine_id")
|
||||
db.Options().SetTransactionTimeout(100000)
|
||||
db.Options().SetTransactionTimeout(0)
|
||||
db.Options().SetTransactionMaxRetryDelay(100)
|
||||
db.Options().SetTransactionRetryLimit(10)
|
||||
db.Options().SetTransactionRetryLimit(-1)
|
||||
db.Options().SetSnapshotRywEnable()
|
||||
db.Options().SetSnapshotRywDisable()
|
||||
|
||||
if !fdb.IsAPIVersionSelected() {
|
||||
log.Fatal("API version should be selected")
|
||||
|
@ -475,6 +475,20 @@ public class AsyncStackTester {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
Database db = tr.getDatabase();
|
||||
db.options().setLocationCacheSize(100001);
|
||||
db.options().setMaxWatches(10001);
|
||||
db.options().setDatacenterId("dc_id");
|
||||
db.options().setMachineId("machine_id");
|
||||
db.options().setTransactionTimeout(100000);
|
||||
db.options().setTransactionTimeout(0);
|
||||
db.options().setTransactionMaxRetryDelay(100);
|
||||
db.options().setTransactionRetryLimit(10);
|
||||
db.options().setTransactionRetryLimit(-1);
|
||||
db.options().setSnapshotRywEnable();
|
||||
db.options().setSnapshotRywDisable();
|
||||
|
||||
tr.options().setPrioritySystemImmediate();
|
||||
tr.options().setPriorityBatch();
|
||||
tr.options().setCausalReadRisky();
|
||||
|
@ -429,6 +429,19 @@ public class StackTester {
|
||||
}
|
||||
}
|
||||
|
||||
Database db = tr.getDatabase();
|
||||
db.options().setLocationCacheSize(100001);
|
||||
db.options().setMaxWatches(10001);
|
||||
db.options().setDatacenterId("dc_id");
|
||||
db.options().setMachineId("machine_id");
|
||||
db.options().setTransactionTimeout(100000);
|
||||
db.options().setTransactionTimeout(0);
|
||||
db.options().setTransactionMaxRetryDelay(100);
|
||||
db.options().setTransactionRetryLimit(10);
|
||||
db.options().setTransactionRetryLimit(-1);
|
||||
db.options().setSnapshotRywEnable();
|
||||
db.options().setSnapshotRywDisable();
|
||||
|
||||
tr.options().setPrioritySystemImmediate();
|
||||
tr.options().setPriorityBatch();
|
||||
tr.options().setCausalReadRisky();
|
||||
|
@ -123,6 +123,20 @@ class Instruction:
|
||||
self.stack.push(self.index, val)
|
||||
|
||||
|
||||
def test_db_options(db):
|
||||
db.options.set_max_watches(100001)
|
||||
db.options.set_datacenter_id("dc_id")
|
||||
db.options.set_machine_id("machine_id")
|
||||
db.options.set_transaction_timeout(100000)
|
||||
db.options.set_transaction_timeout(0)
|
||||
db.options.set_transaction_timeout(0)
|
||||
db.options.set_transaction_max_retry_delay(100)
|
||||
db.options.set_transaction_retry_limit(10)
|
||||
db.options.set_transaction_retry_limit(-1)
|
||||
db.options.set_snapshot_ryw_enable()
|
||||
db.options.set_snapshot_ryw_disable()
|
||||
|
||||
|
||||
@fdb.transactional
|
||||
def test_options(tr):
|
||||
tr.options.set_priority_system_immediate()
|
||||
@ -528,6 +542,7 @@ class Tester:
|
||||
try:
|
||||
db.options.set_location_cache_size(100001)
|
||||
|
||||
test_db_options(db)
|
||||
test_options(db)
|
||||
test_watches(db)
|
||||
test_cancellation(db)
|
||||
|
@ -453,6 +453,16 @@ class Tester
|
||||
FDB::api_version(api_version)
|
||||
begin
|
||||
@db.options.set_location_cache_size(100001)
|
||||
@db.options.set_max_watches(10001)
|
||||
@db.options.set_datacenter_id("dc_id")
|
||||
@db.options.set_machine_id("machine_id")
|
||||
@db.options.set_transaction_timeout(100000)
|
||||
@db.options.set_transaction_timeout(0)
|
||||
@db.options.set_transaction_max_retry_delay(100)
|
||||
@db.options.set_transaction_retry_limit(10)
|
||||
@db.options.set_transaction_retry_limit(-1)
|
||||
@db.options.set_snapshot_ryw_enable()
|
||||
@db.options.set_snapshot_ryw_disable()
|
||||
|
||||
@db.transact do |tr|
|
||||
tr.options.set_priority_system_immediate
|
||||
|
Loading…
x
Reference in New Issue
Block a user