Update main branch to 7.4 (#10459)

* Update main branch to 7.4

* Update API version to 740

* Makes fdb_c_client_config_tests.py passing after API version update

* Remove from_7.3.0_until_7.4.0 and add from_7.3.0

* Update tests in fdb_c_client_config_tests.py
This commit is contained in:
Zhe Wu 2023-06-15 01:19:39 -07:00 committed by GitHub
parent b23dbd7105
commit 5c8a163c72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
52 changed files with 326 additions and 65 deletions

View File

@ -24,7 +24,7 @@ if(POLICY CMP0135)
endif()
project(foundationdb
VERSION 7.3.0
VERSION 7.4.0
DESCRIPTION "FoundationDB is a scalable, fault-tolerant, ordered key-value store with full ACID transactions."
HOMEPAGE_URL "http://www.foundationdb.org/"
LANGUAGES C CXX ASM Swift)
@ -111,10 +111,10 @@ configure_file(${CMAKE_SOURCE_DIR}/versions.target.cmake ${CMAKE_CURRENT_BINARY_
file(WRITE ${CMAKE_BINARY_DIR}/version.txt ${FDB_VERSION})
set(FDB_CURRENT_VERSION ${PROJECT_VERSION})
set(FDB_FUTURE_VERSION "7.4.0")
set(FDB_PREV_RELEASE_VERSION "7.1.33")
set(FDB_PREV2_RELEASE_VERSION "7.0.0")
set(FDB_PREV3_RELEASE_VERSION "6.3.25")
set(FDB_FUTURE_VERSION "7.5.0")
set(FDB_PREV_RELEASE_VERSION "7.3.3")
set(FDB_PREV2_RELEASE_VERSION "7.1.33")
set(FDB_PREV3_RELEASE_VERSION "7.0.0")
################################################################################
# Flow

View File

@ -76,6 +76,7 @@ API_VERSIONS = [
710,
720,
730,
740,
]
assert (

View File

@ -1,4 +1,4 @@
#define FDB_API_VERSION 730
#define FDB_API_VERSION 740
#include <foundationdb/fdb_c.h>
int main(int argc, char* argv[]) {

View File

@ -568,7 +568,7 @@ class ClientConfigPrevVersionTests(unittest.TestCase):
test.api_version = api_version_from_str(PREV_RELEASE_VERSION)
test.exec()
test.check_initialization_state("created")
test.check_healthy_status(False)
test.check_healthy_status(True)
test.check_available_clients([PREV_RELEASE_VERSION, CURRENT_VERSION])
test.check_current_client(PREV_RELEASE_VERSION)
@ -576,7 +576,7 @@ class ClientConfigPrevVersionTests(unittest.TestCase):
# Leaving an unsupported API version
test = ClientConfigTest(self)
test.create_external_lib_path(PREV_RELEASE_VERSION)
test.expected_error = 2204 # API function missing
test.expected_error = 2203 # api_version_not_supported
test.exec()
def test_external_client_unsupported_api_ignore(self):
@ -737,7 +737,7 @@ class ClientTracingTests(unittest.TestCase):
test.create_external_lib_dir([CURRENT_VERSION, PREV_RELEASE_VERSION])
test.api_version = api_version_from_str(CURRENT_VERSION)
test.disable_local_client = True
test.expected_error = 2204 # API function missing
test.expected_error = 2203 # api_version_not_supported
self.exec_test()
self.assertEqual(0, len(self.trace_files))
@ -773,7 +773,7 @@ class ClientTracingTests(unittest.TestCase):
test.api_version = api_version_from_str(CURRENT_VERSION)
test.disable_local_client = True
test.trace_initialize_on_setup = True
test.expected_error = 2204 # API function missing
test.expected_error = 2203 # api_version_not_supported
self.exec_test()
self.assertEqual(1, len(self.trace_files))

View File

@ -9,7 +9,7 @@ This package requires:
- [Mono](http://www.mono-project.com/) (macOS or Linux) or [Visual Studio](https://www.visualstudio.com/) (Windows) (build-time only)
- FoundationDB C API 2.0.x-6.1.x (part of the [FoundationDB client packages](https://apple.github.io/foundationdb/downloads.html#c))
Use of this package requires the selection of a FoundationDB API version at runtime. This package currently supports FoundationDB API versions 200-730.
Use of this package requires the selection of a FoundationDB API version at runtime. This package currently supports FoundationDB API versions 200-740.
To install this package, you can run the "fdb-go-install.sh" script (for versions 5.0.x and greater):

View File

@ -22,7 +22,7 @@
package fdb
// #define FDB_API_VERSION 730
// #define FDB_API_VERSION 740
// #include <foundationdb/fdb_c.h>
import "C"

View File

@ -46,7 +46,7 @@ A basic interaction with the FoundationDB API is demonstrated below:
func main() {
// Different API versions may expose different runtime behaviors.
fdb.MustAPIVersion(730)
fdb.MustAPIVersion(740)
// Open the default database from the system cluster
db := fdb.MustOpenDefault()

View File

@ -22,7 +22,7 @@
package fdb
// #define FDB_API_VERSION 730
// #define FDB_API_VERSION 740
// #include <foundationdb/fdb_c.h>
import "C"

View File

@ -22,7 +22,7 @@
package fdb
// #define FDB_API_VERSION 730
// #define FDB_API_VERSION 740
// #include <foundationdb/fdb_c.h>
// #include <stdlib.h>
import "C"
@ -110,7 +110,7 @@ func (opt NetworkOptions) setOpt(code int, param []byte) error {
// library, an error will be returned. APIVersion must be called prior to any
// other functions in the fdb package.
//
// Currently, this package supports API versions 200 through 730.
// Currently, this package supports API versions 200 through 740.
//
// Warning: When using the multi-version client API, setting an API version that
// is not supported by a particular client library will prevent that client from
@ -118,7 +118,7 @@ func (opt NetworkOptions) setOpt(code int, param []byte) error {
// the API version of your application after upgrading your client until the
// cluster has also been upgraded.
func APIVersion(version int) error {
headerVersion := 730
headerVersion := 740
networkMutex.Lock()
defer networkMutex.Unlock()

View File

@ -30,7 +30,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb"
)
const API_VERSION int = 730
const API_VERSION int = 740
func ExampleOpenDefault() {
var e error

View File

@ -23,7 +23,7 @@
package fdb
// #cgo LDFLAGS: -lfdb_c -lm
// #define FDB_API_VERSION 730
// #define FDB_API_VERSION 740
// #include <foundationdb/fdb_c.h>
// #include <string.h>
//

View File

@ -22,7 +22,7 @@
package fdb
// #define FDB_API_VERSION 730
// #define FDB_API_VERSION 740
// #include <foundationdb/fdb_c.h>
import "C"

View File

@ -28,5 +28,5 @@ public class TestApiVersion {
/**
* The current API version to be used by the tests
*/
public static final int CURRENT = 730;
public static final int CURRENT = 740;
}

View File

@ -36,7 +36,7 @@ module FDB
end
end
def self.api_version(version)
header_version = 730
header_version = 740
if self.is_api_version_selected?()
if @@chosen_version != version
raise "FDB API already loaded at version #{@@chosen_version}."

View File

@ -134,7 +134,7 @@ API versioning
Prior to including ``fdb_c.h``, you must define the ``FDB_API_VERSION`` macro. This, together with the :func:`fdb_select_api_version()` function, allows programs written against an older version of the API to compile and run with newer versions of the C library. The current version of the FoundationDB C API is |api-version|. ::
#define FDB_API_VERSION 730
#define FDB_API_VERSION 740
#include <foundationdb/fdb_c.h>
.. function:: fdb_error_t fdb_select_api_version(int version)

View File

@ -151,7 +151,7 @@
.. |atomic-versionstamps-tuple-warning-value| replace::
At this time, versionstamped values are not compatible with the Tuple layer except in Java, Python, and Go. Note that this implies versionstamped values may not be used with the Subspace and Directory layers except in those languages.
.. |api-version| replace:: 730
.. |api-version| replace:: 740
.. |streaming-mode-blurb1| replace::
When using |get-range-func| and similar interfaces, API clients can request large ranges of the database to iterate over. Making such a request doesn't necessarily mean that the client will consume all of the data in the range - sometimes the client doesn't know how far it intends to iterate in advance. FoundationDB tries to balance latency and bandwidth by requesting data for iteration in batches.

View File

@ -109,7 +109,7 @@ Opening a database
After importing the ``fdb`` module and selecting an API version, you probably want to open a :class:`Database` using :func:`open`::
import fdb
fdb.api_version(730)
fdb.api_version(740)
db = fdb.open()
.. function:: open( cluster_file=None, event_model=None )

View File

@ -94,7 +94,7 @@ Opening a database
After requiring the ``FDB`` gem and selecting an API version, you probably want to open a :class:`Database` using :func:`open`::
require 'fdb'
FDB.api_version 730
FDB.api_version 740
db = FDB.open
.. function:: open( cluster_file=nil ) -> Database

View File

@ -9,6 +9,14 @@ This document provides an overview of changes that an application developer may
For more details about API versions, see :ref:`api-versions`.
.. _api-version-upgrade-guide-740:
API version 740
===============
General
-------
.. _api-version-upgrade-guide-730:
API version 730

View File

@ -29,7 +29,7 @@ Before using the API, we need to specify the API version. This allows programs t
.. code-block:: go
fdb.MustAPIVersion(730)
fdb.MustAPIVersion(740)
Next, we open a FoundationDB database. The API will connect to the FoundationDB cluster indicated by the :ref:`default cluster file <default-cluster-file>`.
@ -78,7 +78,7 @@ If this is all working, it looks like we are ready to start building a real appl
func main() {
// Different API versions may expose different runtime behaviors.
fdb.MustAPIVersion(730)
fdb.MustAPIVersion(740)
// Open the default database from the system cluster
db := fdb.MustOpenDefault()
@ -666,7 +666,7 @@ Here's the code for the scheduling tutorial:
}
func main() {
fdb.MustAPIVersion(730)
fdb.MustAPIVersion(740)
db := fdb.MustOpenDefault()
db.Options().SetTransactionTimeout(60000) // 60,000 ms = 1 minute
db.Options().SetTransactionRetryLimit(100)

View File

@ -30,7 +30,7 @@ Before using the API, we need to specify the API version. This allows programs t
private static final Database db;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
}
@ -66,7 +66,7 @@ If this is all working, it looks like we are ready to start building a real appl
private static final Database db;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
}
@ -441,7 +441,7 @@ Here's the code for the scheduling tutorial:
private static final Database db;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
db.options().setTransactionTimeout(60000); // 60,000 ms = 1 minute
db.options().setTransactionRetryLimit(100);

View File

@ -23,7 +23,7 @@ Open a Ruby interactive interpreter and import the FoundationDB API module::
Before using the API, we need to specify the API version. This allows programs to maintain compatibility even if the API is modified in future versions::
> FDB.api_version 730
> FDB.api_version 740
=> nil
Next, we open a FoundationDB database. The API will connect to the FoundationDB cluster indicated by the :ref:`default cluster file <default-cluster-file>`. ::
@ -46,7 +46,7 @@ If this is all working, it looks like we are ready to start building a real appl
.. code-block:: ruby
require 'fdb'
FDB.api_version 730
FDB.api_version 740
@db = FDB.open
@db['hello'] = 'world'
print 'hello ', @db['hello']
@ -373,7 +373,7 @@ Here's the code for the scheduling tutorial:
require 'fdb'
FDB.api_version 730
FDB.api_version 740
####################################
## Initialization ##

View File

@ -30,7 +30,7 @@ Open a Python interactive interpreter and import the FoundationDB API module::
Before using the API, we need to specify the API version. This allows programs to maintain compatibility even if the API is modified in future versions::
>>> fdb.api_version(730)
>>> fdb.api_version(740)
Next, we open a FoundationDB database. The API will connect to the FoundationDB cluster indicated by the :ref:`default cluster file <default-cluster-file>`. ::
@ -48,7 +48,7 @@ When this command returns without exception, the modification is durably stored
If this is all working, it looks like we are ready to start building a real application. For reference, here's the full code for "hello world"::
import fdb
fdb.api_version(730)
fdb.api_version(740)
db = fdb.open()
db[b'hello'] = b'world'
print 'hello', db[b'hello']
@ -91,7 +91,7 @@ FoundationDB includes a few tools that make it easy to model data using this app
opening a :ref:`directory <developer-guide-directories>` in the database::
import fdb
fdb.api_version(730)
fdb.api_version(740)
db = fdb.open()
scheduling = fdb.directory.create_or_open(db, ('scheduling',))
@ -337,7 +337,7 @@ Here's the code for the scheduling tutorial::
import fdb
import fdb.tuple
fdb.api_version(730)
fdb.api_version(740)
####################################

View File

@ -69,7 +69,7 @@ Heres a basic implementation of the recipe.
private static final long EMPTY_ARRAY = -1;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
docSpace = new Subspace(Tuple.from("D"));
}

View File

@ -74,7 +74,7 @@ Heres a simple implementation of multimaps with multisets as described:
private static final int N = 100;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
multi = new Subspace(Tuple.from("M"));
}

View File

@ -74,7 +74,7 @@ Here's a basic implementation of the model:
private static final Random randno;
static{
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
pq = new Subspace(Tuple.from("P"));

View File

@ -73,7 +73,7 @@ The following is a simple implementation of the basic pattern:
private static final Random randno;
static{
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
queue = new Subspace(Tuple.from("Q"));
randno = new Random();

View File

@ -87,7 +87,7 @@ In this example, were storing user data based on user ID but sometimes need t
private static final Subspace index;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
main = new Subspace(Tuple.from("user"));
index = new Subspace(Tuple.from("zipcode_index"));

View File

@ -62,7 +62,7 @@ Heres a simple implementation of the basic table pattern:
private static final Subspace colIndex;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
table = new Subspace(Tuple.from("T"));
rowIndex = table.subspace(Tuple.from("R"));

View File

@ -77,7 +77,7 @@ Heres the basic pattern:
private static final Subspace vector;
static {
fdb = FDB.selectAPIVersion(730);
fdb = FDB.selectAPIVersion(740);
db = fdb.open();
vector = new Subspace(Tuple.from("V"));
}

View File

@ -1,6 +1,6 @@
# API Versions
set(FDB_AV_LATEST_VERSION "730")
set(FDB_AV_LATEST_BINDINGS_VERSION "730")
set(FDB_AV_LATEST_VERSION "740")
set(FDB_AV_LATEST_BINDINGS_VERSION "740")
# Features
set(FDB_AV_SNAPSHOT_RYW "300")

View File

@ -8,10 +8,10 @@
# used and should not be changed from 0.
# xyzdev
# vvvv
set(FDB_PV_DEFAULT_VERSION "0x0FDB00B073000000LL")
set(FDB_PV_FUTURE_VERSION "0x0FDB00B074000000LL")
set(FDB_PV_MIN_COMPATIBLE_VERSION "0x0FDB00B072000000LL")
set(FDB_PV_MIN_INVALID_VERSION "0x0FDB00B075000000LL")
set(FDB_PV_DEFAULT_VERSION "0x0FDB00B074000000LL")
set(FDB_PV_FUTURE_VERSION "0x0FDB00B075000000LL")
set(FDB_PV_MIN_COMPATIBLE_VERSION "0x0FDB00B073000000LL")
set(FDB_PV_MIN_INVALID_VERSION "0x0FDB00B076000000LL")
set(FDB_PV_LEFT_MOST_CHECK "0x0FDB00B100000000LL")
set(FDB_PV_LSB_MASK "0xF0FFFFLL")

View File

@ -29,7 +29,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb/tuple"
)
const API_VERSION int = 730
const API_VERSION int = 740
const CHUNK_SIZE int = 5

View File

@ -32,7 +32,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb/tuple"
)
const API_VERSION int = 730
const API_VERSION int = 740
func clear_subspace(trtr fdb.Transactor, sub subspace.Subspace) error {
_, err := trtr.Transact(func(tr fdb.Transaction) (interface{}, error) {

View File

@ -30,7 +30,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb/tuple"
)
const API_VERSION int = 730
const API_VERSION int = 740
func clear_subspace(trtr fdb.Transactor, sub subspace.Subspace) error {
_, err := trtr.Transact(func(tr fdb.Transaction) (interface{}, error) {

View File

@ -30,7 +30,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb/tuple"
)
const API_VERSION int = 730
const API_VERSION int = 740
func clear_subspace(db fdb.Transactor, ss subspace.Subspace) {
db.Transact(func(tr fdb.Transaction) (interface{}, error) {

View File

@ -31,7 +31,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb/tuple"
)
const API_VERSION int = 730
const API_VERSION int = 740
func clear_subspace(trtr fdb.Transactor, sub subspace.Subspace) error {
_, err := trtr.Transact(func(tr fdb.Transaction) (interface{}, error) {

View File

@ -30,7 +30,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb/tuple"
)
const API_VERSION int = 730
const API_VERSION int = 740
type EmptyQueueError struct{}

View File

@ -30,7 +30,7 @@ import (
"github.com/apple/foundationdb/bindings/go/src/fdb/tuple"
)
const API_VERSION int = 730
const API_VERSION int = 740
func clear_subspace(trtr fdb.Transactor, sub subspace.Subspace) error {
_, err := trtr.Transact(func(tr fdb.Transaction) (interface{}, error) {

View File

@ -407,14 +407,23 @@ if(WITH_PYTHON)
TEST_FILES restarting/to_7.2.0_until_7.3.0/CycleTestRestart-1.toml
restarting/to_7.2.0_until_7.3.0/CycleTestRestart-2.toml IGNORE)
add_fdb_test(
TEST_FILES restarting/to_7.3.0/BlobGranuleRestartCorrectness-1.toml
restarting/to_7.3.0/BlobGranuleRestartCorrectness-2.toml)
TEST_FILES restarting/to_7.3.0_until_7.4.0/BlobGranuleRestartCorrectness-1.toml
restarting/to_7.3.0_until_7.4.0/BlobGranuleRestartCorrectness-2.toml)
add_fdb_test(
TEST_FILES restarting/to_7.3.0/ConfigureStorageMigrationTestRestart-1.toml
restarting/to_7.3.0/ConfigureStorageMigrationTestRestart-2.toml)
TEST_FILES restarting/to_7.3.0_until_7.4.0/ConfigureStorageMigrationTestRestart-1.toml
restarting/to_7.3.0_until_7.4.0/ConfigureStorageMigrationTestRestart-2.toml)
add_fdb_test(
TEST_FILES restarting/to_7.3.0/CycleTestRestart-1.toml
restarting/to_7.3.0/CycleTestRestart-2.toml)
TEST_FILES restarting/to_7.3.0_until_7.4.0/CycleTestRestart-1.toml
restarting/to_7.3.0_until_7.4.0/CycleTestRestart-2.toml)
add_fdb_test(
TEST_FILES restarting/to_7.4.0/BlobGranuleRestartCorrectness-1.toml
restarting/to_7.4.0/BlobGranuleRestartCorrectness-2.toml)
add_fdb_test(
TEST_FILES restarting/to_7.4.0/ConfigureStorageMigrationTestRestart-1.toml
restarting/to_7.4.0/ConfigureStorageMigrationTestRestart-2.toml)
add_fdb_test(
TEST_FILES restarting/to_7.4.0/CycleTestRestart-1.toml
restarting/to_7.4.0/CycleTestRestart-2.toml)
add_fdb_test(TEST_FILES slow/ApiCorrectness.toml)
add_fdb_test(TEST_FILES slow/ApiCorrectnessAtomicRestore.toml)

View File

@ -0,0 +1,54 @@
# FIXME: also add downgrade
[configuration]
blobGranulesEnabled = true
allowDefaultTenant = false
tenantModes = ['optional', 'required']
injectTargetedSSRestart = true
injectSSDelay = true
[[knobs]]
bg_metadata_source = "tenant"
bg_key_tuple_truncate_offset = 1
enable_configurable_encryption = true
enable_rest_kms_communication = true
deterministic_blob_metadata = true
[[test]]
testTitle = 'BlobGranuleCorrectness'
clearAfterTest=false
[[test.workload]]
testName = 'BlobGranuleCorrectnessWorkload'
testDuration = 60.0
[[test.workload]]
testName = 'RandomClogging'
testDuration = 60.0
[[test.workload]]
testName = 'Rollback'
meanDelay = 30.0
testDuration = 60.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true
testDuration = 60.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true
testDuration = 60.0
[[test.workload]]
testName = 'BlobFailureInjection'
testDuration = 60.0
[[test.workload]]
testName='SaveAndKill'
restartInfoLocation='simfdb/restartInfo.ini'
testDuration=30.0

View File

@ -0,0 +1,49 @@
# FIXME: also add downgrade
[configuration]
blobGranulesEnabled = true
allowDefaultTenant = false
tenantModes = ['optional', 'required']
injectTargetedSSRestart = true
injectSSDelay = true
[[knobs]]
bg_metadata_source = "tenant"
bg_key_tuple_truncate_offset = 1
enable_configurable_encryption = true
enable_rest_kms_communication = true
deterministic_blob_metadata = true
[[test]]
testTitle = 'BlobGranuleCorrectness'
clearAfterTest=false
[[test.workload]]
testName = 'BlobGranuleCorrectnessWorkload'
testDuration = 120.0
[[test.workload]]
testName = 'RandomClogging'
testDuration = 60.0
[[test.workload]]
testName = 'Rollback'
meanDelay = 30.0
testDuration = 60.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true
testDuration = 60.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true
testDuration = 60.0
[[test.workload]]
testName = 'BlobFailureInjection'
testDuration = 60.0

View File

@ -0,0 +1,32 @@
[configuration]
extraMachineCountDC = 2
maxTLogVersion=6
disableHostname=true
storageEngineExcludeTypes=[4]
tenantModes=['disabled']
[[test]]
testTitle = 'CloggedConfigureDatabaseTest'
clearAfterTest = false
[[test.workload]]
testName = 'ConfigureDatabase'
testDuration = 30.0
allowTestStorageMigration = true
allowDescriptorChange = false
downgradeTest1 = true
[[test.workload]]
testName = 'RandomClogging'
testDuration = 30.0
[[test.workload]]
testName = 'RandomClogging'
testDuration = 30.0
scale = 0.1
clogginess = 2.0
[[test.workload]]
testName='SaveAndKill'
restartInfoLocation='simfdb/restartInfo.ini'
testDuration=30.0

View File

@ -0,0 +1,24 @@
[configuration]
extraMachineCountDC = 2
allowDefaultTenant = false
[[test]]
testTitle = 'CloggedConfigureDatabaseTest'
runSetup=false
waitForQuiescenceBegin=false
[[test.workload]]
testName = 'ConfigureDatabase'
testDuration = 300.0
waitStoreTypeCheck = true
storageMigrationCompatibleConf = true
[[test.workload]]
testName = 'RandomClogging'
testDuration = 300.0
[[test.workload]]
testName = 'RandomClogging'
testDuration = 300.0
scale = 0.1
clogginess = 2.0

View File

@ -0,0 +1,43 @@
[configuration]
maxTLogVersion = 6
disableTss = true
disableHostname = true
[[test]]
testTitle = 'Clogged'
clearAfterTest = false
[[test.workload]]
testName = 'Cycle'
transactionsPerSecond = 500.0
nodeCount = 2500
testDuration = 10.0
expectedRate = 0
[[test.workload]]
testName = 'RandomClogging'
testDuration = 10.0
[[test.workload]]
testName = 'Rollback'
meanDelay = 10.0
testDuration = 10.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true
testDuration = 10.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true
testDuration = 10.0
[[test.workload]]
testName = 'SaveAndKill'
restartInfoLocation = 'simfdb/restartInfo.ini'
testDuration = 10.0

View File

@ -0,0 +1,41 @@
[configuration]
maxTLogVersion = 6
disableTss = true
[[knobs]]
# testing that restart with writing recover at version to CSTATE.
record_recover_at_in_cstate = true
track_tlog_recovery = true
[[test]]
testTitle = 'Clogged'
runSetup = false
[[test.workload]]
testName = 'Cycle'
transactionsPerSecond = 2500.0
nodeCount = 2500
testDuration = 10.0
expectedRate = 0
[[test.workload]]
testName = 'RandomClogging'
testDuration = 10.0
[[test.workload]]
testName = 'Rollback'
meanDelay = 10.0
testDuration = 10.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true
testDuration = 10.0
[[test.workload]]
testName = 'Attrition'
machinesToKill = 10
machinesToLeave = 3
reboot = true