* Remove boundaryAndExist
Client knows whether an entry is a boundary, and client also can
see whether the record for that entry exist by checking whether
the rangeResult is empty. This field is useless.
This field breaks backward compatibility, need to remove it.
* MVC: Keep track of database initialization state; some refactoring of database update for better readability
* Do not create unused temp directory in old binaries downloader
* MVC: Fail transactions with an error code on database initialization errors
* Exit client config tester immediately on errors
* Fail database operations for incompatible clients and database initialization errors
* Some tests for database initialization errors
* local_cluster: reopen fdbmonitor.log in append mode, close it before reopening
* Introduce an option ignore_incompatible_client restoring the behavior of indefinite wait when there is no client matching a cluster version
* Multi-Version API: remove atomics from initializationError
* Update GO bindings: adding option ignore_incompatible_client
* MVC to fail on incompatible clients: addressing review comments
* MVC: An option to fail in case of an incompatible client
* fdb_c_client_config_tester: update help text
Add atomic op functions to the tenant object in Python.
Fix a Python tester bug for tenant operations.
Fix a build error with the binding tester package.
* Auto-formatting fdb_c_shim_tests.py
* Define the old release versions used for testing in one place; Using PYTHONPATH to find python modules from other project directories
* Remove obsolete upgrade tests; add direct upgrade tests from older versions
* Trigger tests
* blob/apitester: rename tenantDebugString() -> debugTenantStr()
* blob/apitester: fix int64_t initialization to -1
* blob/apitester: add missing override for randomOperation()
* blob/cpp: cpp blob tenant operations
* apitester: add tenant to execution context
* apitester: DatabaseOps abstraction
This creates a base abstract class for Database and Tenant operations to
share.
* blob/apitester: add setup phase to verifyRange() prior to operations
This let's us ensure blob storage is setup prior to running apitester
against the cluster.
* apitester: expand execOperation() to take a tenant
Now that db operations can be transparently applied to tenants or
databases through the IDatabaseOps interface, allow execOperation() to
take a tenant accordingly.
* blob/testerapi: blobbify in TesterApiWorkload setup
Before we were blobbifying wholesale through TestRunner. This makes the
change to blobbifying and verifying in setup, so the workload can
properly test database and tenant scope functions.
* Mako: Add Timeout Support
* Mako: Change log levels, do not count timeouts as errors, and add function that checks if error is expected for async run mode
* Mako: Fix formatting
* Network setup to fail on the initialization failures of external clients
* MVC: A more intuitive error when failing to load an API function
* Testing initializing FDB client with different configuration options
* Enable strict external client configuration check only for new API versions
* Upgrade FDB package version to 7.3.0; Update upgrade tests
* run_c_api_tests an option to disable log dump
* ApiTester: Utility for self-conflicting transactions
* ApiTester: A reusable code for making write transactions self-conflicting; Make atomic operation transactions self-conflicting
* Fix errors statistic in sync mode
* Fix error statistics and restart behavior in async mode
* Fix #iterations stopping criterion
* Prevent edge cases with regards to target tps and iteration specification
* Fix mistake in async logic
* fix throttling and add one more case to validation
* small changes
* Mako: Remove unnecessary force_inline's and small change to header include statement
* Mako: Replace `auto err = fdb::Error{}`
* Mako: Move error statistics updates into future.hpp
* Mako: Async: Rename restartIteration -> onIterationEnd
* Mako: Move transaction creation in sync mode
* Mako: Clean up future.hpp by moving stats updates out of it