3504 Commits

Author SHA1 Message Date
Xiaoge Su
50de69c897 Extract IConnection and NetworkAddress out from network.h 2023-01-24 14:48:31 -08:00
Xiaoge Su
c11c48fa3f Extract ChaosMetrics out from network.h 2023-01-24 14:47:48 -08:00
Xiaoge Su
3f03a6b12d Extract out IPAddress and IUDPSocket 2023-01-24 14:47:39 -08:00
Xiaoge Su
ea16cd9c25 Extract Optional to its own header file 2023-01-24 14:47:21 -08:00
Xiaoge Su
890e578fe9 Extract TaskPriority to its own header file 2023-01-24 14:41:13 -08:00
Xiaoge Su
a42f00da86 Do not include <boost/asio.hpp> in network.h 2023-01-24 14:41:03 -08:00
Xiaoge Su
6701abf09f Remove <regex> from Hostname.h
Wall time: 924.729
Clang time: 13005.9
2023-01-23 21:07:51 -08:00
Jingyu Zhou
507aeb9f5c
Merge pull request #9158 from sfc-gh-tclinkenbeard/mark-code-probe-nosim
Mark code probe as non-simulation only
2023-01-23 09:29:05 -08:00
Xiaoge Su
d7e3b1b301 Replace the lambda function by an inlined function 2023-01-19 14:00:21 -08:00
Xiaoge Su
0f695e8e6c Update flow/include/flow/serialize.h
Co-authored-by: Simon Giesecke <simon.giesecke@snowflake.com>
2023-01-19 14:00:21 -08:00
Xiaoge Su
94a9424ec7 fixup! Fix test failures 2023-01-19 14:00:21 -08:00
Xiaoge Su
0b79843213 fixup! Fix the initialization 2023-01-19 14:00:21 -08:00
Xiaoge Su
672f3fc079 fixup! Reformat source 2023-01-19 14:00:21 -08:00
Xiaoge Su
5005ebb1fe Add documents for ObjectWriter's change on std::function 2023-01-19 14:00:21 -08:00
Xiaoge Su
5f3e38a7e8 Remove SaveContext
Wall time 1012.5, clang time 13998.9
2023-01-19 14:00:21 -08:00
Xiaoge Su
8ec3ba22e1 Remove the std::function in ObjectWriter
wall time 1020.0, clang time 14127.9
2023-01-19 14:00:21 -08:00
Xiaoge Su
51603aad39 Remove unused utility from FastRef.h 2023-01-19 14:00:21 -08:00
Junhyun Shim
e3c3922cc5
Merge pull request #9114 from sfc-gh-vgasiunas/vgasiunas-client-status-report
API for Client Status Report
2023-01-17 11:49:34 +00:00
He Liu
00203c8732
Validate Storage part II (#8471)
* Implemented AuditUtils.actor.cpp

Moved AuditUtils to fdbserver/

* Persist AuditStorageState.

* Passed persisted AuditStorageState test.

* Added audit_storage_error to indicate a corruption is caught.

Throw/Send audit_storage_error when there is a data corruption.

Added doAuditStorage() for resuming Audit.

* Load and resume AuditStorage when DD restarts.

* Generate audit id monotonically.

* Fixed minor issue AuditId/Type was not set.

* Adding getLatestAuditStates.

* Improved persisted errors and added AuditStorageCommand.actor.cpp for
fdbcli.

* Added `audit_storage` fdbcli command.

* fmt.

* Fixed null shared_ptr issue.

* Improve audit data.

* Change DDAuditFailed to SevWarn.

* Sev.

* set SERVE_AUDIT_STORAGE_PARALLELISM to 1.

* Moved AuditUtils* to fdbclient/.

* Added getAuditStatus fdbcli command.

* Refactor audit storage fdb cli commands.

* Added auditStorage in sim.

* Cleanup.

* Resolved comments.

* Resolved comments.

* Test disabling audit for sims.

* Cleanup.

Co-authored-by: He Liu <heliu@apple.com>
2023-01-15 21:46:14 -08:00
sfc-gh-tclinkenbeard
72906f3bbe Mark code probe as non-simulation only 2023-01-15 21:20:22 -08:00
Xiaoxi Wang
f0fd84e9f1 merge upstream/main; solve conflicts 2023-01-12 13:49:19 -08:00
A.J. Beamon
811593e093 Merge branch 'main' into add-tenant-lookup-interface 2023-01-12 09:56:17 -08:00
sfc-gh-tclinkenbeard
5a1a969343 Trace data hall id in MachineMetrics events 2023-01-11 10:02:31 -08:00
Xiaoxi Wang
c00c631ffb Merge branch 'main' of https://github.com/apple/foundationdb into feature/main/watchTenant 2023-01-09 13:26:06 -08:00
Vaidas Gasiunas
f14f2ccc0d Introducing API function get_client_status; Exposing and testing database initialization state 2023-01-09 16:09:58 +01:00
Xiaoxi Wang
ef17634174 change watchCheck to coinflip; rename noDestroy 2023-01-06 15:56:22 -08:00
A.J. Beamon
f999623bb1 Add a tenant lookup interface and use it when starting transactions 2023-01-06 15:51:12 -08:00
Xiaoxi Wang
c6c34ba1d2 add sendError method to AsyncMap 2023-01-05 12:06:51 -08:00
A.J. Beamon
62604bcc28 Merge branch 'main' into expand-optional-erroror-map 2023-01-04 15:46:23 -08:00
A.J. Beamon
e72a1332af Use const& for functor arguments 2023-01-04 14:56:09 -08:00
He Liu
34b3172e34
Improved SHARD_ENCODE_LOCATION_METADATA migration. (#9077)
* Improved SHARD_ENCODE_LOCATION_METADATA migration.

* Cleanup.

* Cancel itself if a data move finds a conflicting data move. Fixed
transaction reset issue.

* Cancel data move in a retry loop to avoid corrupted mutations.

Co-authored-by: He Liu <heliu@apple.com>
2023-01-04 12:57:33 -08:00
Yi Wu
17fdbc46a5
EaR: Add page checksum to Redwood pages in no-auth mode (#8965)
Previously with EaR we always enable authentication (e.g. we encrypt Redwood pages). The authentication is a form of checksum, so dedicated page checksum was not needed. This PR adds back xxhash page checksum when authentication is disabled. Also change the knob to default disable authentication.
2023-01-03 10:30:07 -08:00
Meng Xu
e6b2254726 Resolve review comments: No functional change 2022-12-19 15:28:01 -08:00
Meng Xu
a1d513b355 Fix:Exclusion stuck because DD cannot build new teams
Bug behavior:
When DD has zero healthy machine teams but more unhealthy machine teams
than the max machine teams DD plans to build, DD will stop building
new machine teams. Due to zero healthy machine team (and zero healthy
server team), DD cannot find a healthy destination team  to relocate data.
When data relocation stops, exclusion stops progressing and stuck.

Bug happens when we *shrink* a k-host cluster by
first adding k/2 new host;
then quickly excluding all old hosts.

Fix:
Let DD build temporary extra teams to relocate data.
The extra teams will be cleaned up later by DD's remove extra teams logic.

Simulation test:
There is no simulation test to cover cluster expansion scnenario.
To most closely simulate this behavior, we intentionally overbuild all possible
machine teams to trigger the condition that unhealthy teams is larger than
the maximum teams DD wants to build later.
2022-12-19 15:28:01 -08:00
A.J. Beamon
d18c40f94d Use std::decay_t instead of std::remove_reference_t and std::remove_const_t 2022-12-19 10:03:07 -08:00
A.J. Beamon
31f34b28df
Merge pull request #9053 from sfc-gh-ajbeamon/improve-map-async
Make mapAsync usable without specifying template parameters
2022-12-19 09:35:54 -08:00
Junhyun Shim
77e523ce91 Merge remote-tracking branch 'origin/main' into mako-authz-token-generation 2022-12-15 17:02:19 -08:00
A.J. Beamon
985bbe66d4 Add support for flatMap in optional and erroror. Allow calling map with a lambda without specifying the return type template parameter. 2022-12-15 15:32:02 -08:00
A.J. Beamon
f1c5eb55ba Add overloads of the Optional::map and ErrorOr::map functions that allow you to more easily convert to a value's members. Add a similar mapRef function if the wrapped type is a pointer-type. 2022-12-14 15:22:54 -08:00
A.J. Beamon
0a686719d8 Make mapAsync usable without specifying template parameters 2022-12-14 14:33:59 -08:00
Kevin Hoxha
a05649c620 metrics: Add knob to control emission of DDSketch buckets 2022-12-14 14:33:39 -08:00
Xiaoxi Wang
d0ca0a863b
Merge pull request #9048 from sfc-gh-xwang/fix/main/NumberDataPoint
fix uninitialised byte(s) field in NumberDataPoint
2022-12-14 13:28:57 -08:00
Xiaoxi Wang
0f3ae0ccd0 fix uninitialised byte(s) field NumberDataPoint 2022-12-14 12:07:35 -08:00
Sam Gwydir
833f2f9f5a TLS error messages are non-fatal
To avoid confusing users, TLS error messages should reflect the fact
that they are non-fatal and thus note that they are warnings.
2022-12-13 13:17:59 -08:00
Sreenath Bodagala
774fc1168e - Log FoundationDB version as part of "ProcessMetrics". 2022-12-12 21:16:30 +00:00
Junhyun Shim
4882fa590f Merge remote-tracking branch 'origin/main' into mako-authz-token-generation 2022-12-09 16:48:59 -08:00
sfc-gh-tclinkenbeard
68f14f017c Fix clang 15 compiler warnings 2022-12-08 13:59:37 -08:00
Junhyun Shim
e4c83c8913 Merge remote-tracking branch 'origin/main' into mako-authz-token-generation 2022-12-08 10:33:38 -08:00
Kevin Hoxha
f32281bdce metrics: Break down OTELSum into smaller chunks to avoid UDP max packet size 2022-12-08 10:07:11 -08:00
Kevin Hoxha
5dc40d04fe metrics: Make NumberDataPoint contain a variant<int, double> of the value
Gauges tend to be double while counters are int, so we need to support both.
2022-12-08 10:07:11 -08:00