Commit Graph

26069 Commits

Author SHA1 Message Date
Josh Slocum fb950a9c81
adding blob ranges to backup keys to not lose blobbification on restore (#10059) 2023-05-04 13:55:20 -05:00
Marian Dvorsky 394899ce7c
Fix heap use-after-free in validateRangeAgainstServer (#10132)
* Fix heap use-after-free in validateRangeAgainstServer
2023-05-04 11:45:21 -07:00
Xiaoge Su 467b9cdbde If no log file generated, report the stderr of the fdbserver process 2023-05-04 11:01:53 -07:00
Xiaoge Su 17487abb93 Add tag for a cherry-pick 2023-05-04 11:01:53 -07:00
Zhongxing Zhang 34569b0058
Merge pull request #10076 from apple/feature/overallBytesWritten
Enable MovingData to show overall moved bytes rather than just one copy
2023-05-04 10:20:03 -07:00
A.J. Beamon 9d647f827c
Merge pull request #10129 from sfc-gh-ajbeamon/require-reliable-coordinator-quorum
Do not allow changing the coordinators to a set that is unreliable in simulation
2023-05-04 08:18:29 -07:00
A.J. Beamon 589b95f821
Merge pull request #10126 from sfc-gh-ajbeamon/api-version-used-during-commit-default-option
Add API version protection to Java's used during commit option
2023-05-03 19:54:39 -07:00
Ankita Kejriwal cdef4523aa
Update a few Data Distribution code probes (#10110) 2023-05-03 18:26:51 -07:00
Jay Zhuang 3a37ed268f
Merge pull request #10053 from sfc-gh-satherton/random-kv-generator
Runtime configurable random KV generator classes
2023-05-03 17:57:49 -07:00
Jay Zhuang d0cb599c7a Fix a gcc build error
```
RandomKeyValueUtils.cpp:64:106: error: call of overloaded 'RandomKeyTupleGenerator(<brace-enclosed initializer list>)' is ambiguous
```
2023-05-03 16:33:04 -07:00
A.J. Beamon 95cf9948a1 Add API version protection for the change to use a default option for used during commit protection in Java 2023-05-03 16:18:11 -07:00
Jay Zhuang a18bb10bcf Merge branch 'main' into random-kv-generator 2023-05-03 15:39:37 -07:00
Zhe Wang d254fba6e5
Adding cleanup of audit progress metadata when audit complete (#10118)
* cleanup audit progress metadata and tester directly issue audit requests to DD instead of CC

* address comments and fix test dd issue request but dd not present
2023-05-03 15:39:22 -07:00
A.J. Beamon ccf61ac2e5 Do not allow changing the coordinators to a set that is unreliable, because otherwise we could delete our coordinated state 2023-05-03 15:03:03 -07:00
Jingyu Zhou dd25fae3d9
Add 7.1.32, 7.1.33 release notes (#10122) 2023-05-03 14:56:43 -07:00
zhongxing.zhang b31dce9f33 add comments to explain difference between completeSources and src 2023-05-03 14:48:22 -07:00
Xiaoxi Wang 91de1c880e remove PrepareBlobRestore waiting for inFlight moving 2023-05-03 14:43:23 -07:00
Xiaoxi Wang d7c089fd13 add timeout to blob migrator getReply to tackle recovery during preparation 2023-05-03 14:43:23 -07:00
Jingyu Zhou 64a6ab7122 Add ID to DEBUG_MUTATION in backup worker 2023-05-03 13:15:18 -07:00
Jingyu Zhou 9219ff51db Avoid double escaping for SSValidateRangeKeyOutOfRange events 2023-05-03 13:15:18 -07:00
Steve Atherton a263be37a6
Merge pull request #10109 from sfc-gh-satherton/btree-shutdown-fixes
AsyncFileWriteChecker false-positive bug fix and sim-only Redwood shutdown improvements found along the way.
2023-05-03 11:34:04 -07:00
Steve Atherton 95be00a8be Move AsyncFileWriteChecker to right above SimpleFile in the file stack in simulation, which is analogous to where it is created in production and prevents false positive errors caused by stacking it on top of AsyncFileNonDurable multiple times for different users of the same file. 2023-05-03 10:39:13 -07:00
Josh Slocum 22155c84f4
adding logic to disable splitting within a truncated tuple, and validating it in test (#10106) 2023-05-03 10:23:46 -05:00
Steve Atherton f3a5f434ee Fix for false positive AsyncFileWriteChecker errors. AsyncFileWriteChecker should not validate read checksums after the user has dropped all references to the file as the file could have been opened and written to via another file handle before the read completes. 2023-05-03 00:26:58 -07:00
Steve Atherton e72ea6b603 Restore original functionality of debug_printf_always. 2023-05-03 00:24:54 -07:00
Steve Atherton 18468b417c Fix divide by zero. 2023-05-03 00:20:46 -07:00
Ata E Husain Bohra 7e872c4a59
EaR: Avoid RESTKmsConnector code to use 'Type' in TraceEvents (#10108)
Description

'Type' is a reserved keywork for TraceEvent, RESTKmsConnector
was usng 'Type' to log CipherDetail or BlobMetadata type information.
It causes 'fdbserver' binary to crash/restart

Patch addresses the usage to ensure TraceEvent compatibility is
maintained. Further, it proposes following test improvements:
1. Fix existing unit-test that 'should' have caught this issue.
2. Add more test coverage.
3. Add CODE_PROBE to ensure relevant corner cases are validated.

Testing

RESTKmsConnectorUnit
2023-05-02 20:56:57 -07:00
Steve Atherton 9eaa829626 Make ICloseable()::close() implementations delete the object *before* triggering the onClosed() future. 2023-05-02 19:03:15 -07:00
Steve Atherton cdd7c410fe Sim-only bug fix which only affects BTree unit test. BTree destruction was not explicitly cancelling the lazy delete actor, so an immediate re-open of the instance could cause two AsyncFileWriteCheckers to exist on the same file at the same time. 2023-05-02 18:59:33 -07:00
Zhe Wu bc7b1d8d81
Merge pull request #10100 from halfprice/zhewu/update-ss-timeout
Increase MAX_STORAGE_COMMIT_TIME to be inline with LOW_PRIORITY_DURABILITY_LAG
2023-05-02 15:30:32 -07:00
Jon Fu 7c5de05cdb
Separate failed and excluded servers on fdbcli output (#10089)
* separate failed and excluded servers on fdbcli output

* change formatting
2023-05-02 14:22:17 -04:00
Zhe Wu fffdfa5b3d Increase MAX_STORAGE_COMMIT_TIME to be inline with LOW_PRIORITY_DURABILITY_LAG 2023-05-02 11:12:52 -07:00
Jingyu Zhou 60307a0d5c
Merge pull request #10096 from sfc-gh-ajbeamon/fix-pre-commit-config
Fix bad indentation in the pre-commit config
2023-05-02 11:12:30 -07:00
Xiaoxi Wang ea9a31b4d7 sameId(requesterId)->!sameId(requesterId) 2023-05-02 09:40:11 -07:00
Xiaoxi Wang f6da0480fc add comments to DDEnabledState and rename some methods 2023-05-02 09:40:11 -07:00
Xiaoxi Wang a958436bf5 force blob migrator's ssi to be undesired; remove TCServerInfo from prepareBlobMigrator parameter list 2023-05-02 09:40:11 -07:00
Xiaoxi Wang fdc576a938 force blob migrator's ssi to be undesired 2023-05-02 09:40:11 -07:00
Xiaoxi Wang f33a5a5f91 Remove unused function and rename some method 2023-05-02 09:40:11 -07:00
Xiaoxi Wang 880274ab48 add PrepareBlobRestoreRequest, and make DD handle the BlobRestore
prepare transactions

add DD Restore Preparing state; actor accept blob migrator requests

Refactor DDEnabledState and PrepareBlobRestoreReply

Improve the initialization, remove unused DDSharedContext method

move prepareBlobRestore to moveKeys

Make context->lock and DataDistributor.lock share the reference; change checkMoveKeysLock to checkPersistenMoveKeysLock; Add more debug trace

fix requestId assignment bug

Add DDEnabledState::sameId method

Throw movekeys_conflict after hybrid restore preparation to force reload
server list and shard mapping; format code; remove unused
methods,definition and comments

fix rebase conflicts

Make DD only load initial Data Distribution after enabled

use dd_config_changed error and throw it in serveBlobMigratorRequests

move empty range check before blob restore to the transaction lock database

Rename BlobRestore*
2023-05-02 09:40:11 -07:00
Dan Adkins aaa4860f76
Fix commit location accounting in DiskQueue. (#10075)
We encountered a situation in simulation where the disk queue was in the following state

    +------------+------------+
    | page 1     | page 2     |
    +------------+------------+
    |rec |.......|rec |.......|
    +------------+------------+
    0..85        4096..4181
    ^.   ^__             ^
    popped. committed    pushed

and we attempted to pop up to 4096, i.e. everything before page 2. This triggered
one of the assertions in the disk queue code which was meant to catch tlog logic
bugs where we pop too much.

The issue, though, is the accounting of the commit location in the disk queue.
While we only pushed records through position 85, we committed the entire page.
Attempts to pop everything before page 2 should have succeeded since we're not
attempting to pop any uncommitted data.

The solution is to fix the commit location accounting in the disk queue to round
up to the next page, to reflect the reality that we only commit entire pages.

This bug was discovered in the first place by introducing a delay into the commit
queue loop during simulation testing. That delay is included in this change.

We also noticed that getNextCommitLocation() was incorrect. Since there are no
users of that function, we've removed it entirely.
2023-05-02 12:33:29 -04:00
A.J. Beamon f7cc5c8ef8 Fix indentation in pre-commit config 2023-05-02 08:46:33 -07:00
A.J. Beamon 0035d9c519
Merge pull request #10074 from sfc-gh-ajbeamon/apply-black-format
Apply black format to most Python files
2023-05-02 08:20:47 -07:00
Josh Slocum d0c412b5e6
fixing incorrect uses of ThreadSafeAsyncVar (#10086) 2023-05-02 07:29:06 -05:00
Yanqin Jin 8b1fe728be
Add configuration option `auto_tenant_assignment` to data clusters (#10058)
This PR adds auto_tenant_assignment option to register/configure data clusters.
Setting auto_tenant_assignment to disabled means the data cluster is a dedicated one and won't be
used for auto tenant assignment. This option is enabled by default (allowing auto tenant assignment).

Test plan:
simulation tests and metacluster_fdbcli_tests.py
---------

Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2023-05-01 21:58:49 -07:00
Jingyu Zhou 8ff51af7fd
Merge pull request #10087 from apple/dependabot/pip/packaging/docker/samples/python/app/flask-2.3.2
Bump flask from 1.1.1 to 2.3.2 in /packaging/docker/samples/python/app
2023-05-01 21:40:17 -07:00
Xiaoxi Wang 5ea53a797e check storage metadata and storage server interface in the same transaction 2023-05-01 18:08:08 -07:00
Xiaoxi Wang 3a8bdcca3d add metadata check to quiesent consistency check 2023-05-01 18:08:08 -07:00
Xiaoxi Wang 3605d8c74c populate storage metadata for tss 2023-05-01 18:08:08 -07:00
dependabot[bot] a3fe347ae1
Bump flask from 1.1.1 to 2.3.2 in /packaging/docker/samples/python/app
Bumps [flask](https://github.com/pallets/flask) from 1.1.1 to 2.3.2.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/1.1.1...2.3.2)

---
updated-dependencies:
- dependency-name: flask
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 21:13:28 +00:00
A.J. Beamon 85f5e206a7
Merge pull request #10047 from sfc-gh-ajbeamon/add-metacluster-version
Add a metacluster version to the MetaclusterRegistrationEntry and validate it when loading the entry
2023-05-01 12:32:37 -07:00