21286 Commits

Author SHA1 Message Date
Lukas Joswiak
40d403ed5f Reduce global configuration system key reads from proxy
Clients now poll the proxy for the latest global config for a specific
version. The proxy now periodically requests the latest global
configuration data and stores it in memory, enabling it to respond
immediately to clients with the appropriate version.
2022-07-22 10:37:29 -07:00
Lukas Joswiak
56dfdbda83 Add migration timeout 2022-07-22 10:37:29 -07:00
Lukas Joswiak
c32f3f8746 Update fdbclient/include/fdbclient/CommitProxyInterface.h
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-07-22 10:37:29 -07:00
Lukas Joswiak
e024db85a0 Update fdbserver/GrvProxyServer.actor.cpp
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-07-22 10:37:29 -07:00
Lukas Joswiak
7a48a53778 Perform migration automatically on proxy boot 2022-07-22 10:37:29 -07:00
Lukas Joswiak
2e99d5f6cc Batch global config refresh requests 2022-07-22 10:37:29 -07:00
Lukas Joswiak
c33e44b0f4 Proxy GlobalConfig reads through GRV proxies
Clients should avoid reading system keys unless authorized. Under global
config, each client reads from the system keyspace to check for new
global config keys. This commit moves these reads to a server role (the
GRV proxies) and sends the results back to GlobalConfig for an in-memory
update.
2022-07-22 10:37:29 -07:00
He Liu
7a8be255cd
Ss shard management (#7340)
* Storage server shard management with physical shards.

* Cleanup.

* Resolved comments.

* Added `UnlimintedCommitBytes`.

Co-authored-by: He Liu <heliu@apple.com>
2022-07-22 09:30:44 -07:00
Jingyu Zhou
c759357687
Merge pull request #7662 from xis19/databaseContext
Add TraceEvent to the construction/destruction of DatabaseContext
2022-07-22 09:29:56 -07:00
Xiaoge Su
25d9fa856c fixup! Update code per comments 2022-07-21 23:14:31 -07:00
Zhe Wu
5441eb4610 Add CommitDebug event after Commit Proxy reporting committed version to master 2022-07-21 21:29:53 -07:00
Xiaoge Su
32b4968835 Add TraceEvent to the construction/destruction of DatabaseContext
This is to figure out why huge databaseLogger related TraceEvents
generated after 7.1 released.
2022-07-21 19:38:59 -07:00
Andrew Noyes
89141d4b3a
Validate subrange reads in simulation (#7597)
* Add extra validation to special key space reads in simulation

* Fix bugs turned up by validating subrange reads

* Change to validateSpecialSubrangeRead

It is in general not safe to expect that a read from the special key
space returns the same results if performed again, since the
transaction may be being modified concurrently.

* Add comment

* Add comment
2022-07-21 14:42:08 -07:00
He Liu
257bab7311
Allow read range on null shard (#7654)
* Fixed ShardedRocks unit test.

* Removed `UNIT` from noSim/ShardedRocksDBTest.toml.

Co-authored-by: He Liu <heliu@apple.com>
2022-07-21 13:59:49 -07:00
Zhe Wu
bd99f4fa3b Log tlog initialization 2022-07-21 13:54:44 -07:00
Andrew Noyes
45c8a4e09d
Build fixes/improvements for sanitizers (#7657)
* Don't build fdb c shim with ubsan

This avoids duplicate symbols when linking. It doesn't really make sense
to assemble files with -fsanitize=undefined anyway, since it won't
insert instrumentation.

* Consolidate boost_asan with boost_target
2022-07-21 12:43:38 -07:00
Trevor Clinkenbeard
9d63a859b0
Merge pull request #7443 from sfc-gh-xwang/readaware
[Read-aware DD] Use KeyRangeStorageMetrics instead of StorageMetrics
2022-07-21 12:37:51 -07:00
A.J. Beamon
410f27412b
Merge pull request #7620 from sfc-gh-ajbeamon/make-tuple
Add a Tuple::makeTuple function to easily construct a tuple
2022-07-20 17:09:10 -07:00
A.J. Beamon
190711ccd8
Merge pull request #7622 from sfc-gh-ajbeamon/eat-and-connection-string-changes
Add some helper functions to ClusterConnectionString and an improvement to StringRef.eat
2022-07-20 16:10:24 -07:00
Xiaoxi Wang
cd13356964 solve review comments 2022-07-20 16:09:38 -07:00
A.J. Beamon
fee131f24d
Merge pull request #7591 from sfc-gh-ajbeamon/key-backed-types-range-read-more
Add support for returning a more flag from key backed types' range reads
2022-07-20 15:57:50 -07:00
A.J. Beamon
51204163df Some minor changes from code review 2022-07-20 15:29:34 -07:00
A.J. Beamon
4d036ae339
Merge pull request #7626 from sfc-gh-ajbeamon/tenant-metadata-change
Some changes to the tenant metadata
2022-07-20 14:50:00 -07:00
Ata E Husain Bohra
9a3e88df46
Fix ASAN build (#7629)
* Fix ASAN build

Description
  -diff-2: Fix Mac build issues
  -diff-1: Address review comments

Patch addresses the issue where ASAN build failed after introducing
BlobGranule compression.

Testing

ASAN build
2022-07-20 14:14:46 -07:00
A.J. Beamon
37b7666262 Add a comment to name the fold expression syntax in makeTuple. This should make it easier to look up for those unfamiliar with the syntax. 2022-07-20 13:57:55 -07:00
Zhe Wu
aa2740e21e Increase AllTags field length in TLogReady 2022-07-20 13:17:21 -07:00
A.J. Beamon
f6a47a18e9 Use a constexpr check for deserialization (from code review) 2022-07-20 13:01:36 -07:00
Josh Slocum
c066597af1
Merge pull request #7644 from sfc-gh-jslocum/granule_merging_converge
Granule merging converge
2022-07-20 15:00:19 -05:00
Trevor Clinkenbeard
1020d5b1ad
Merge pull request #7641 from harikb/upstream-clean
Backups, Azure, Issue 7570: Check existance of container before creation attempt
2022-07-20 12:43:54 -07:00
Josh Slocum
2a0381f44d
Merge pull request #7603 from sfc-gh-ahusain/ahusain-fix-test
Fix snapshotFormatUnitTest infinite loop
2022-07-20 14:17:39 -05:00
Josh Slocum
8ccf18f35c cleanup 2022-07-20 12:52:21 -05:00
Josh Slocum
316b7a5344 Merge branch 'main' into granule_merging_converge 2022-07-20 12:13:48 -05:00
Josh Slocum
cc5ba89fcf
Merge pull request #7612 from sfc-gh-jslocum/granule_merging_batch
Granule merging batch
2022-07-20 11:59:55 -05:00
Jingyu Zhou
fc8cf679a0
Merge pull request #7638 from jzhou77/main
Fix ScopeEventFieldTypeMismatch error for TLogMetrics
2022-07-20 09:50:12 -07:00
Hari Bhaskaran
3aec508aec Issue 7570: Check existance of container before creation attempt 2022-07-20 09:40:49 -07:00
Josh Slocum
12ccd3b146 typo 2022-07-20 09:35:57 -05:00
Josh Slocum
44885aa719 cleanup 2022-07-20 07:46:57 -05:00
Josh Slocum
78b6a96006 Merge branch 'main' into granule_merging_batch 2022-07-20 07:42:26 -05:00
Josh Slocum
4000682578 moving comment 2022-07-20 07:35:30 -05:00
Jingyu Zhou
0f094d2aa1 Fix ScopeEventFieldTypeMismatch error for TLogMetrics
Backport changes made to TLogServer in #4616 back to old TLog implementations.
Old implementations were using SpecialCounter, which is string. The new type
is int64_t. Without the change, we can have many events like:

<Event Severity="30" Time="1658165532.958152" DateTime="2022-07-18T17:32:12Z" Type="ScopeEventFieldTypeMismatch" ID="0000000000000000" EventType="TraceEvent.TLogMetrics" FieldName="QueueDiskBytesUsed" OldType="Int64" NewType="String" ThreadID="2451559325190099131" Machine="10.242.248.26:4703" LogGroup="xxxx" Roles="TL" />
2022-07-19 22:27:29 -07:00
Jingyu Zhou
a7469b925b
Merge pull request #7630 from jzhou77/main
Add getMappedRange latency metrics
2022-07-19 22:13:50 -07:00
Jingyu Zhou
e8baba8009
Merge pull request #7575 from xis19/lb
Notes on Load Balancer
2022-07-19 17:50:25 -07:00
Josh Slocum
12b6f386cb Refactoring granule flush to retry properly on granule rollback 2022-07-19 19:49:20 -05:00
Josh Slocum
166de4b704 Fixing merge convergence bugs 2022-07-19 18:44:40 -05:00
Jingyu Zhou
72e72f6d87 Add getMappedRange latency metrics 2022-07-19 16:31:24 -07:00
Jingyu Zhou
bc62b538b1
Merge pull request #7627 from jzhou77/remove-metrics
Remove unused "readQueueSizeMetric"
2022-07-19 15:55:52 -07:00
Dan Lambright
7e296c2367
simple replication (#7625) 2022-07-19 18:30:34 -04:00
Jingyu Zhou
fde5aeeb62 Remove unused "readQueueSizeMetric" 2022-07-19 14:38:10 -07:00
A.J. Beamon
537ceff8ac Remove the ability to configure a tenant subspace. Rename the prefixes used for tenant metadata. 2022-07-19 14:32:05 -07:00
A.J. Beamon
190ad8c7e9 Convert existing tuple usages to use Tuple::makeTuple() 2022-07-19 13:45:59 -07:00