23721 Commits

Author SHA1 Message Date
A.J. Beamon
248d4e95dd Don't copy an empty string in keyAfter and singleKeyRange 2022-11-04 10:02:35 -07:00
Lukas Joswiak
cf97541135 Fix exclude status of machines in status json
Previously, `status json` would report a machine as excluded when any of
its processes were excluded. But a machine should only be reported as
excluded when all of its processes are excluded.

I tested this change by running a small, three process test cluster. I
excluded one machine, and verified `status json` reported the overall
machine as not excluded.
2022-11-04 09:55:51 -07:00
A.J. Beamon
4e7d41026b Merge branch 'main' into fix-config-change-during-quiescent-check 2022-11-04 08:51:13 -07:00
Ata E Husain Bohra
d853304b18
Refactor CP::WriteMutation to optimize ACTOR alloc/dealloc (#8677)
* Refactor CP::WriteMutation to optimize ACTOR alloc/dealloc

Description

WriteMutation routine is responsible for appending mutations to be persisted
in TLog, the operation isn't a 'blocking' operation, except for few cases
when Encryption is supported by the cluster such
as:
1. Fetch encryption keys to encrypt the mutation.
2. Split ClearRange mutation to respect Encryption domain boundaries.
3. Ensure sanity of already encrypted mutation - simulation limited check.

Patch optimizes the "fast" path by avoiding alloc/dealloc overhead
due to be ACTOR framework support, the penalty happens iff any of above
conditions are met.

Testing

devRunCorrectness - 100K
2022-11-04 07:40:41 -07:00
Jingyu Zhou
c80ec6f6da
Merge pull request #8693 from sfc-gh-tclinkenbeard/disable-throughput-quota
Disable throughput quota test
2022-11-03 18:49:35 -07:00
Jingyu Zhou
ec471aa63c
Merge pull request #8684 from jzhou77/fix
Fix ASan failure heap use after free in status json generation
2022-11-03 18:48:26 -07:00
Josh Slocum
cff99a64f6
Blob Granule Attrition fixes (#8682)
* Assert was incorrect in change feed destroy race with moved() clearing map

* fixing race between injected fault and granule revoke

* Handling race in sim2 blob worker attrition check
2022-11-03 18:48:10 -05:00
Josh Slocum
8b9e9fd7d9
Parallelize bg purge (#8687)
* parallelizing full granule purging

* Explicitly sorting full granule purges because they're not guaranteed to be queued in version order
2022-11-03 18:47:54 -05:00
A.J. Beamon
61172037c9 Merge branch 'main' into fix-config-change-during-quiescent-check 2022-11-03 15:13:55 -07:00
Xiaoxi Wang
aded047db1 add priority and read_lock options 2022-11-03 15:08:12 -07:00
sfc-gh-tclinkenbeard
92e21de362 Disable ThroughputQuota.toml test 2022-11-03 15:07:02 -07:00
A.J. Beamon
3efbade1be
Merge pull request #8688 from sfc-gh-ajbeamon/fix-uninitialized-string
Fix valgrind error in TransactionCost test
2022-11-03 15:02:11 -07:00
Josh Slocum
647c6487b4
add client cache size blob metadata latency metrics (#8484) 2022-11-03 16:43:30 -05:00
Josh Slocum
d68cd3493e
making read caching configurable for blob store (#8607) 2022-11-03 16:42:46 -05:00
Josh Slocum
494dd1c5ed
switch bg file data chunks to be serialized with binary writer instead of object writer (#8535) 2022-11-03 16:42:36 -05:00
Lukas Molleman
2b8c1845a2 C:/Program Files/Git/bindings/c/ Applied flake8 2022-11-03 22:08:13 +01:00
Lukas Molleman
859d1bf67a Temporary disabled flake8 W605 2022-11-03 22:05:30 +01:00
A.J. Beamon
614a37480d Merge branch 'main' into fix-config-change-during-quiescent-check 2022-11-03 14:02:44 -07:00
Lukas Molleman
ced2557be5 C:/Program Files/Git/bindings/bindingtester/ Applied flake8 2022-11-03 22:01:34 +01:00
Jingyu Zhou
928be563a2 Add braces 2022-11-03 13:59:00 -07:00
Andrew Noyes
87b591bc21 Disallow uniform initialization syntax for state variables
The actor compiler does not handle this correctly, so disallow it for
now. We could probably support this someday if someone is sufficiently
motivated.

Previously this would miscompile and hopefully cause some kind of syntax
error in the generated code. Now it issues a helpful diagnostic.

Tested by adding an actor with a state variable that tries to use
uniform initialization syntax and observing the error message looks
good. We don't have any infrastructure for testing that the
ActorCompiler rejects something, so I'm not including a test in this
change. We could probably add that relatively easily though.
2022-11-03 13:47:43 -07:00
A.J. Beamon
b02e3cbd0e Initialize the contents of an unused value to make valgrind happy with serializing it. 2022-11-03 13:26:56 -07:00
Trevor Clinkenbeard
f68d3e69bc
Merge pull request #8676 from sfc-gh-akejriwal/monitorusage
Enable `DD_TENANT_AWARENESS_ENABLED` randomly in testing to add test coverage
2022-11-03 13:18:25 -07:00
Jingyu Zhou
2a5ff5bba5 Update 7.1 release notes 2022-11-03 12:45:01 -07:00
Andrew Noyes
ecb5b5a9ca
Improve keyAfter, singleKeyRange, and an arena usage (#8674)
* Fix a potential memory error

The returned KeyRef should live at least as long as the supplied arena

* Improve keyAfter and singleKeyRange

Avoid duplicating the keyAfter implementation, and share memory between
begin and end for singleKeyRange returning a standalone

* Avoid creating and destroying an arena in a loop

This defeats some of the purposes of Arena's, namely to amortize the
cost of calling malloc and free and to improve cache locality.

* Improve Arena usage

Avoid an arena allocation in keyAfter - instead return a string with
static lifetime. I made sure to return the same memory as was just
brought into cache to inspect whether key == \xff\xff.

Also avoid creating and destroying an arena in a loop for encrypting
idempotency id sets.
2022-11-03 12:33:48 -07:00
Jingyu Zhou
b02509e356 Fix ASan failure heap use after free
"incomplete_reasons" may already be destroyed.
2022-11-03 12:21:09 -07:00
Ankita Kejriwal
412d237761 Merge branch 'main' of github.com:apple/foundationdb into monitorusage 2022-11-03 11:55:38 -07:00
sfc-gh-tclinkenbeard
d68de2b1ca Merge remote-tracking branch 'origin/main' into increase-suppression-interval 2022-11-03 11:35:31 -07:00
Ata E Husain Bohra
a7d123643d
Extend Tlog persistentStorage to persist encryption state (#8344)
* Extend Tlog persistentStorage to persist encryption state

Description

 diff-3: Address review comment.
 diff-2: Extend ClusterController endpoints to allow query
         cluster's encryptionAtRest status
         Update Tlog recovery to ensure on-disk encryption
         status matches with cluster's cstate persisted
         encryptionAtRest
 diff-1: Store encryptionAtRestMode state in Coordinators

Major changes proposed are:
1. Extend TLog persistentStorage to persist encryption state
2. Encryption state persisted is derived from corresponding
db-config and relevant SERVER_KNOBS. In near future, knobs
shall be removed.
3. On TLog startup, the persisted encryption state is compared
against cluster configuration, if mismatch, the TLog is killed
and not allowed to rejoin the cluster.

Testing

devRunCorrectness - 100K
2022-11-03 11:16:50 -07:00
Aaron Molitor
ffe024244e skip proxy when fetching kubectl 2022-11-03 13:01:41 -05:00
neethuhaneesha
1daa346cb4
Adding boundaries to rocksdb read iterator pool. (#8584) 2022-11-03 10:26:47 -07:00
Hui Liu
15625da4ce
Merge pull request #8662 from sfc-gh-huliu/advanceversion
BlobMigrator: Advance version and Report data copy progress
2022-11-03 10:02:53 -07:00
Dan Adkins
d262f73770
Merge pull request #8666 from sfc-gh-dadkins/sfc-gh-dadkins/disk-queue-int32
DiskQueue: use explicitly sized int32_t instead of int in on-disk format.

It was assumed that the payloadSize field in the page header was 32 bits. This was checked by a static_assert on the size of the PageHeader struct.

This change makes that field size explicit, rather than assuming that sizeof(int) == sizeof(int32_t).
2022-11-03 12:01:53 -04:00
A.J. Beamon
3dc43976e4
Merge pull request #8669 from sfc-gh-ajbeamon/fix-tenant-not-found-on-locked-database
Fix tenant not found on locked database
2022-11-03 08:52:44 -07:00
Jon Fu
ad3794c768
Merge pull request #8673 from sfc-gh-ajbeamon/fix-grv-error-in-tenant-workload
Fix tag_throttled failure in TenantManagement workload
2022-11-03 08:47:09 -07:00
A.J. Beamon
304747d387 The simulator was changing the configuration of the cluster while the consistency check was expecting a quiescent database 2022-11-03 08:35:34 -07:00
Vaidas Gasiunas
18b852c4e4
Improving troubleshooting of stopping the FDB client thread (#8629)
* Upgrade tests: dump thread call stacks of the tester process if it fails to terminate

* ApiTester: log before and after stopping the network thread

* Catch and print exceptions in closeTraceFile; Close trace file at the end of MVC runNetwork

* Change trace event name for MVC runNetwork termination

Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>

Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-11-03 13:20:21 +01:00
Vaidas Gasiunas
423049f0f8 Merge remote-tracking branch 'apple/main' into vgasiunas-fdbmonitor-in-python 2022-11-03 10:56:54 +01:00
Jingyu Zhou
9de72eb675
Merge pull request #8670 from jzhou77/fix
Add 7.1.24, 7.1.25, and 6.3.25 release notes
2022-11-02 19:24:29 -07:00
Ankita Kejriwal
e20d0946f9 Enable DD_TENANT_AWARENESS_ENABLED randomly in testing to add test coverage. 2022-11-02 17:37:15 -07:00
Andrew Noyes
7335926960 Explain mysterious 4.3 factor 2022-11-02 17:27:48 -07:00
A.J. Beamon
1fca108506 The tenant management workload was not properly handling errors from GRV calls made in the delete tenant operation 2022-11-02 16:50:41 -07:00
Hui Liu
f09e995ebb blob migrator: advance version and report data copy progress 2022-11-02 16:00:22 -07:00
Jingyu Zhou
80afd5e449 Add 6.3.25 release notes
Documentation only change.
2022-11-02 15:52:43 -07:00
Jingyu Zhou
81e0e7c4df Add 7.1.24, 7.1.25 release notes 2022-11-02 15:16:19 -07:00
A.J. Beamon
93142e2c29 In try commit, wait for the read version future before waiting for the commit cost estimate. This allows us to give precedence to the database_locked error over errors thrown by the commit cost estimation. 2022-11-02 14:47:24 -07:00
Ankita Kejriwal
ccfef328af
Merge pull request #8621 from sfc-gh-akejriwal/monitorusage
Fix tenant-related error handling in metrics functions
2022-11-02 13:50:47 -07:00
Dan Adkins
f99277f45c DiskQueue: use explicitly sized int32_t instead of int in on-disk format.
It was assumed that the payloadSize field in the page header was 32 bits.
This was checked by a static_assert on the size of the PageHeader struct.

This change makes that field size explicit, rather than assuming that
sizeof(int) == sizeof(int32_t).
2022-11-02 13:49:58 -07:00
Ankita Kejriwal
18652d30cf Merge branch 'main' of github.com:apple/foundationdb into monitorusage 2022-11-02 12:20:30 -07:00
A.J. Beamon
e098428ebb
Merge pull request #8619 from sfc-gh-ajbeamon/handle-out-of-order-restore-tenant-mutations
Handle out-of-order tenant map mutations during restore
2022-11-02 12:07:40 -07:00