Commit Graph

3375 Commits

Author SHA1 Message Date
Steve Atherton 8c90c0d69a Merge commit 'a93eb20bde57e334707cda64189dc969387825b4' into storageserver-pml 2022-11-01 17:21:49 -07:00
Josh Slocum 178e3bb700
Changing priority for not-at-latest change feed reads (#8651) 2022-11-01 10:59:04 -05:00
Trevor Clinkenbeard 39abc712b0
Merge pull request #8549 from sfc-gh-tclinkenbeard/expose-txn-cost
Create `fdb_transaction_get_total_cost` function
2022-11-01 08:14:57 -07:00
Yao Xiao e7e8c7ea19 Merge branch 'main' of github.com:apple/foundationdb into fix-deadline 2022-10-31 13:26:31 -07:00
Jingyu Zhou af7b434e51
Merge pull request #8593 from sfc-gh-jshim/fix-tls-circular-reference
Fix circular reference in SSLConnection
2022-10-31 09:21:43 -07:00
Steve Atherton af8934f213 Update PML comments and variable names to rename "launch limits" to "weights" to reflect the new scheduling logic. No logic changes, only renames. 2022-10-30 20:19:53 -07:00
sfc-gh-tclinkenbeard 0eb1598afa Merge remote-tracking branch 'origin/main' into expose-txn-cost 2022-10-30 09:36:37 -07:00
Steve Atherton 326d45819e Merge branch 'main' into storageserver-pml 2022-10-28 14:14:44 -07:00
Andrew Noyes 0a15f081a1
Proactively clean up idempotency ids for successful commits (#8578)
* Proactively clean up idempotency ids for successful commits

This change also includes some minor changes from my branch working on
an idempotency ids cleaner, that I'd like to get merged sooner rather
than later.

- Adding a timestamp to idempotency values
- Making IdempotencyId an actor file
- Adding commit_unknown_result_fatal
- Checking idempotencyIdsExpiredVersion in determineCommitStatus
- Some testing QOL changes

* Factor out decodeIdempotencyKey logic

* Fix formatting

* Update flow/include/flow/error_definitions.h

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

* Use KeyBackedObjectProperty for idempotencyIdsExpiredVersion

* Add IDEMPOTENCY_ID_IN_MEMORY_LIFETIME knob

* Rename ExpireIdempotencyKeyValuePairRequest

Also add a code probe for the case where an ExpireIdempotencyIdRequest is
received before the count is known, and add an assert

* Fix formatting and add TODO for nwijetunga

Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-10-28 09:07:54 -07:00
Steve Atherton d53ed6acae Merge branch 'main' into storageserver-pml 2022-10-28 00:14:01 -07:00
Jingyu Zhou 49645a7755 Revert "Clean up unused comment in flow.h"
This reverts commit 03b102d86a.
2022-10-27 19:46:05 -07:00
Jingyu Zhou 634bd529e7 Revert "Record the version of each watch"
This reverts commit 4bd24e4d64.
2022-10-27 19:46:05 -07:00
Steve Atherton f9ad7fb35b Merge origin/main into storageserver-pml 2022-10-27 18:00:11 -07:00
Yao Xiao f4bee6d2c5 Update error code. 2022-10-27 15:32:42 -07:00
Xiaoge Su 4bd24e4d64 Record the version of each watch
In the case
    1. A watch to key A is set, the watchValueMap ACTOR, noted as X, starts waiting.
    2. All watches are cleared due to connection string change.
    3. The watch to key A is restarted with watchValueMap ACTOR Y.
    4. X receives the cancel exception, and tries to dereference the counter. This causes Y gets cancelled.

the reference count will cause watch prematurely terminate. Recording
the versions of each watch would help preventing this issue
2022-10-27 12:42:05 -07:00
Xiaoge Su 03b102d86a Clean up unused comment in flow.h 2022-10-27 12:42:05 -07:00
Yao Xiao 7cf605a735 Add timeout to ReadRange. 2022-10-26 15:49:51 -07:00
Junhyun Shim 4600184a4d Fix circular reference in SSLConnection 2022-10-27 00:29:02 +02:00
Steve Atherton ee269ebfe9 Rewrote PriorityMultiLock::kill() to be simpler and fix destruction order and be safe to repeat. Destructor calls kill() to avoid lifetime issues. 2022-10-25 19:39:36 -07:00
sfc-gh-tclinkenbeard 1c119be26d Merge remote-tracking branch 'origin/main' into expose-txn-cost 2022-10-25 13:50:43 -07:00
sfc-gh-tclinkenbeard 49933375e1 Addressed review comments 2022-10-25 13:50:10 -07:00
sfc-gh-tclinkenbeard f339819758 Merge remote-tracking branch 'origin/main' into reject-tag-throttled-txns 2022-10-25 11:59:35 -07:00
Steve Atherton 27dc180b68 Merge commit '0ae568a872e474c8c755e648efbbe4524e63e445' into storageserver-pml
# Conflicts:
#	fdbserver/VersionedBTree.actor.cpp
2022-10-24 22:31:36 -07:00
Ankita Kejriwal 4f149b8705
Merge pull request #8545 from sfc-gh-tclinkenbeard/improve-fdbcli-quota-error
Improve error messages for `fdbcli` quota commands
2022-10-24 12:18:35 -07:00
Steve Atherton 90b17a937c
Merge pull request #8526 from sfc-gh-satherton/redwood-page-lifetimes
Bug fixes in IO buffer and class lifetimes in Redwood, DiskQueue, AsyncFileChaos, AsyncFileWriteChecker, BackupFile, AsyncFileEncrypted.   Generic actor improvements.
2022-10-24 09:54:58 -07:00
Steve Atherton 59254436ab Add more details in comment block about interface contract. 2022-10-23 01:08:53 -07:00
sfc-gh-tclinkenbeard 2a2d52ca50 Improve error messages for fdbcli quota commands 2022-10-22 18:24:48 -07:00
Steve Atherton fe696183fc Refactored quorum() to also accept an array instead of a vector and modified operator&&(Future, Future) to not create a temporary vector. 2022-10-22 00:48:26 -07:00
Steve Atherton 4c68bb0193 Added operator+ for Future + Future which waits for both futures in order and returns the result of the second. 2022-10-22 00:46:14 -07:00
Steve Atherton 9aad911001 Removed unnecessary instantiations of success(). 2022-10-22 00:44:50 -07:00
Hui Liu b27bdf1da8 remove zlib 2022-10-21 17:45:22 -07:00
Steve Atherton e5a5ec36a4 Merge commit '0872cbfb2f00886817f18584d95af217e28ad51d' into storageserver-pml
# Conflicts:
#	fdbserver/storageserver.actor.cpp
2022-10-19 13:25:31 -07:00
sfc-gh-tclinkenbeard dfc11001af Reject transactions that have been tag throttled for too long 2022-10-18 15:16:24 -07:00
Jingyu Zhou 14d13475db
Merge pull request #8437 from sfc-gh-tclinkenbeard/add-quota-clear-command
Add fdbcli "quota clear" command
2022-10-18 15:11:05 -07:00
sfc-gh-tclinkenbeard 142d46400b Reduce severity of trace events for local_config_changed 2022-10-18 13:46:52 -07:00
Xiaoxi Wang a6a53b40fd
Merge pull request #8477 from sfc-gh-xwang/feature/main/moveKey
Implement mock mode moveKeys in MockDDTxnProcessor and simulation test
2022-10-18 11:02:27 -07:00
Dennis Zhou 622f2a79db api: add TenantBlobRangeApi feature flag and use for purge tenant api 2022-10-17 11:41:02 -05:00
Steve Atherton d169875423 Add a knob for whether to allow guard pages in memory allocations done via mmapInternal(). The knob defaults to false. 2022-10-16 19:55:07 -07:00
Xiaoxi Wang e8e6f47e09 format code 2022-10-15 22:52:43 -07:00
Xiaoxi Wang 737350cc47 setShardStatus (not tested yet) 2022-10-15 22:52:42 -07:00
Jingyu Zhou e4752309a1
Merge pull request #8075 from liquid-helium/validate-data-consistency
Validate data consistency
2022-10-13 09:20:01 -07:00
Jingyu Zhou 1bfe00ca61
Merge pull request #8449 from sfc-gh-ahusain/ahusain-auth-token-cleanup
Remove MultiToken Encryption auth-token generation
2022-10-12 17:51:42 -07:00
Markus Pilman c143f1db33
Merge pull request #8455 from sfc-gh-mpilman/features/token-audit-logging
Audit all AuthZ token usages
2022-10-12 14:22:55 -06:00
He Liu a43e424d8a Merge branch 'main' of https://github.com/apple/foundationdb into validate-data-consistency 2022-10-12 13:01:07 -07:00
Jingyu Zhou a4050a30c5
Merge pull request #8409 from sfc-gh-huliu/usezstd
Use raw ZSTD API for compression
2022-10-12 12:30:37 -07:00
Hui Liu ec76f89d97 use raw ZSTD API 2022-10-12 08:23:15 -07:00
Ata E Husain Bohra 858d562fce Remove MultiToken Encryption auth-token generation
Description

The current code supports two modes for authentication encryption:
1. Single auth-token mode
2. Multi auth-token mode

The code currently uses SingleAuthToken mode only, the multi-auth
token mode was added to support large file (such as backup files)
encryption assisting encryption authentication by allowing reading
header independently from encrypted payload itself. However, the
backup files are organized as 'chunks' and every chunk is encrypted,
hence, MultiToken mode isn't used in the code.

Removing the usage saves 32 bytes per encryption header, which might
translate to decent storage saving, further, allows lesser encryption
header overhead when encrypting small Key-Value mutations.

Testing

BlobCipher unittests
EncryptionOps.toml
2022-10-11 22:49:53 -07:00
Kevin Hoxha ff1b2df8f6 fdbcli: Add options for knob management
- setknob <knob_name> <knob_value> [config_class]
- getknob <knob_name> [config_class]
- Added new option to begin to specify if it's a configuration txn. Syntax is begin [config-txn]
- Added utility function for converting tuples to string
- Added knobmanagment test in fdbcli_tests.py
2022-10-11 15:32:01 -07:00
Markus Pilman 5239c491c4 Audit all AuthZ token usages 2022-10-11 14:34:10 -06:00
He Liu 88c7304e04 Resolved comments. 2022-10-11 10:24:31 -07:00