Andrew Noyes
76262d74f1
Track whether an AndFuture has begun ( #8937 )
...
* Track whether an AndFuture has begun
Previously, for deciding whether or not it was legal to set
READ_YOUR_WRITES_DISABLE, it was allowed as long as no reads were
in-flight. It's possible that a read can have been initiated, but the
RYW caches are empty and no reads are in-flight. See #8925 for an
example.
Closes #8925
* Change began to futureCount
* Remove unused and incorrect assignment operators
* Remove bogus test expectation
It shouldn't be legal to set READ_YOUR_WRITES_DISABLE after reading if
there are currently no pending reads, but this test was expecting that
to work.
2022-12-05 10:32:02 -08:00
Markus Pilman
49f0cf5ab0
Force name and description of workloads to be the same
2022-10-13 20:53:48 -06:00
A.J. Beamon
c8bb15e8ee
Merge pull request #8216 from sfc-gh-ajbeamon/backup-support-for-tenants
...
Include tenant and metacluster metadata in backups
2022-09-28 12:00:24 -07:00
sfc-gh-tclinkenbeard
ce0ad38c94
Merge remote-tracking branch 'origin/main' into guard-gsimulator
2022-09-26 10:18:43 -07:00
A.J. Beamon
fda0d7223d
Update backup to include system key ranges needed for tenants. Run simulated backup tests with tenants.
2022-09-22 10:00:13 -07:00
sfc-gh-tclinkenbeard
0ec06f5675
Merge remote-tracking branch 'origin/main' into guard-gsimulator
2022-09-19 13:16:48 -07:00
A.J. Beamon
4fd64630e8
Convert literal string ref instances to use _sr suffix
2022-09-19 11:35:58 -07:00
sfc-gh-tclinkenbeard
82adc1e856
Make g_simulator a pointer
2022-09-15 09:00:33 -07:00
Dennis Zhou
80a0816157
flow: switch from hard coded to ApiVersion like ProtocolVersion ( #8071 )
...
* flow: add ApiVersion to replace hard coding api version
Instead of hard coding api value, let's rely on feature versions akin to
ProtocolVersion.
* ApiVersion: remove use of -1 for latest and use LATEST_VERSION
2022-09-02 09:28:13 +02:00
A.J. Beamon
279296c29f
Merge branch 'tenant-metadata-change' into feature-metacluster
...
# Conflicts:
# fdbclient/SystemData.cpp
# fdbclient/Tenant.cpp
# fdbclient/include/fdbclient/SystemData.h
# fdbclient/include/fdbclient/Tenant.h
# fdbclient/include/fdbclient/TenantManagement.actor.h
# fdbserver/TenantCache.actor.cpp
# fdbserver/storageserver.actor.cpp
# fdbserver/workloads/TenantManagementWorkload.actor.cpp
2022-07-20 09:18:27 -07:00
Markus Pilman
1de37afd52
Make TEST macros C++ only ( #7558 )
...
* proof of concept
* use code-probe instead of test
* code probe working on gcc
* code probe implemented
* renamed TestProbe to CodeProbe
* fixed refactoring typo
* support filtered output
* print probes at end of simulation
* fix missed probes print
* fix deduplication
* Fix refactoring issues
* revert bad refactor
* make sure file paths are relative
* fix more wrong refactor changes
2022-07-19 13:15:51 -07:00
A.J. Beamon
e1a93988ef
Merge branch 'main' into feature-metacluster
2022-06-28 14:58:07 -07:00
A.J. Beamon
4bafe77889
Some refactoring of tenant code:
...
* extract tenant management into its own file and namespace
* rename the tenant management workload source file
* extract tenant special keys functions to a separate file
* extract some helper functions to GenericTransactionHelper.h
* convert StringRef -> TenantNameRef
* move some TenantMapEntry implementation into the cpp file
* add some helper functions to decode/encode a tenant mode
2022-06-27 12:32:49 -07:00
A.J. Beamon
9f3819752f
Change the command to create a metacluster from using 'configure tenant_mode=management' to 'metacluster create <NAME>'. Distribute this name to all processes in a metacluster. Eliminate the tenant mode entirely from metacluster clusters, instead relying on a metacluster registration key.
2022-06-22 12:15:43 -07:00
Will Wilson
57534cc876
Guard a few uses of gsimulator.
2022-06-15 11:52:29 -04:00
A.J. Beamon
986dd67278
Add some basic support for running multiple extra clusters in simulation. Use this to simulate a metacluster in some tests.
2022-06-10 10:08:18 -07:00
Josh Slocum
aa20eefe7b
Fix for WriteDuringRead workload key sizes with useSystemKeys=true but writing to normal key space
2022-04-29 11:33:54 -05:00
A.J. Beamon
79063d5fc4
Better accounting for tenant prefixes when working with key size limits ( #6973 )
...
* Consider tenant prefix sizes when doing key size limit checks
* Fix formatting
2022-04-27 14:38:59 -07:00
A.J. Beamon
cf5d3c83a1
Fix formatting issues.
2022-04-14 12:03:39 -07:00
A.J. Beamon
19d78cf2a3
When clearing the database between tests, check that clearing the tenant left the entire normal key-space empty. Update the configuration of some tests. Disable a special key-space test that is invoking broken behavior.
2022-04-14 11:39:02 -07:00
Josh Slocum
f27475e2f4
Merge branch 'main' into blob_integration
2022-03-22 11:41:58 -05:00
sfc-gh-tclinkenbeard
a71099471b
Update copyright header dates
2022-03-21 13:36:23 -07:00
Josh Slocum
37e7c80f26
Merge branch 'main' into blob_integration
2022-03-17 18:45:42 -05:00
A.J. Beamon
4b521b38cb
Update various workloads to specify that they are expecting raw access. A couple other raw access related fixes. Disable tenant tests in backup and DR tests for now.
2022-03-17 12:10:18 -07:00
Josh Slocum
e71b3533f9
Merge branch 'main' into blob_integration
2022-03-09 08:59:56 -06:00
A.J. Beamon
ad792630aa
Fix formatting
2022-03-04 14:06:16 -08:00
A.J. Beamon
41d1e4b5d5
Fix several instances where we were converting keys, ranges, and key selectors into strings before passing them into trace events. This had the effect of double escaping certain characters.
2022-03-04 13:58:36 -08:00
A.J. Beamon
97aec45ce8
Fix formatting issues caused by clang-format
2022-03-01 08:51:50 -08:00
A.J. Beamon
250a88e682
Enforce that trace event suppression calls happen first when using trace event call chaining. Fix various instances where we weren't following this requirement.
2022-02-24 12:25:52 -08:00
Josh Slocum
b385db68a4
capped time and total data for BGVerifySmall tests to avoid OOM
2022-02-08 16:47:44 -06:00
Josh Slocum
dbf46c200f
disabling long keys and adding more debugging stuff
2021-10-28 13:53:54 -05:00
A.J. Beamon
e882eb33fc
Abstract the cluster file into a cluster connection record that can be backed by something other than the filesystem.
2021-10-22 11:05:18 -07:00
Xiaoge Su
abf73047ca
Enforce std:: specifier rather than using namespace
2021-09-16 19:40:28 -07:00
FDB Formatster
2c788c233d
apply clang-format to *.c, *.cpp, *.h, *.hpp files
2021-08-27 17:07:47 -07:00
Steve Atherton
507c1f11e3
Add .log() to bare TraceEvent() invocations without any .detail()s to avoid clang-tidy warning about immediate destruction of object without use.
2021-07-26 19:55:10 -07:00
sfc-gh-tclinkenbeard
8cc40e3a2b
Expand use of BOOLEAN_PARAM
2021-07-02 21:41:50 -07:00
Josh Slocum
522e16ae55
Not doing timeout check in WriteDuringRead if simulation is injecting arbitrary delays
2021-06-02 17:17:27 +00:00
sfc-gh-tclinkenbeard
5c2d7b6080
Create RangeResult type alias
2021-05-03 13:14:16 -07:00
FDB Formatster
df90cc89de
apply clang-format to *.c, *.cpp, *.h, *.hpp files
2021-03-10 10:18:07 -08:00
sfc-gh-tclinkenbeard
4669f837fa
Add uses of makeReference
2020-11-07 22:10:18 -08:00
sfc-gh-tclinkenbeard
d543082f33
Decrease maximumTotalData in WriteDuringRead workload
2020-10-28 22:49:24 -07:00
sfc-gh-tclinkenbeard
7f0d14c8e4
Modernize/refactor workloads directory
2020-10-04 22:29:07 -07:00
sfc-gh-tclinkenbeard
0814841827
Replace NULL with nullptr in fdbserver
2020-09-20 11:31:49 -07:00
Evan Tschannen
7cebe743f9
A number of bug fixes of rare correctness errors
2020-04-29 13:50:13 -07:00
Meng Xu
321b1b6ee7
Add RunRestoreWorkerWorkload into Parallel Restore WriteDuringReadAtomicRestore tests
2020-03-31 18:48:29 -07:00
Alex Miller
eb64eede8d
Make a smaller range inaccessable after writing a versionstamped key
...
A transaction's read version is the lower bound of what a transaction's
commit version could be. Thus, we can narrow the conflict range of a
versionstamped key, and thus reduce the amount of the keyspace that is
rendered inaccessable, by filling in the read version on the
versionstamped key and using that as the lower bound of the conflict
range.
This allows reads to still be done to versionstampled keys lower than
the read version of the current transaction.
2020-01-16 21:41:59 -08:00
A.J. Beamon
5f55f3f613
Replace g_random and g_nondeterministic_random with functions deterministicRandom() and nondeterministicRandom() that return thread_local random number generators. Delete g_debug_random and trace_random. Allow only deterministicRandom() to be seeded, and require it to be seeded from each thread on which it is used.
2019-05-10 14:01:52 -07:00
Andrew Noyes
ef04471a66
Fix more unused-variable warnings
2019-04-17 16:04:10 -07:00
A.J. Beamon
759c53a333
Add some very basic exercising of priority batch to simulation
2019-02-28 12:18:45 -08:00
mpilman
999ea09bfd
Use correct fwd decls in TesterInterface
...
Also TesterInterface.h -> TesterInterface.actor.h
2019-02-19 15:16:59 -08:00