Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from facebook:main #18

Open
wants to merge 897 commits into
base: main
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Sep 7, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Sep 7, 2023
Open Source Bot and others added 29 commits August 12, 2024 09:32
Summary:
X-link: facebookincubator/zstrong#949

libgpiod is used by GpioLine.cpp but has never been needed in OSS before, adding this library to the CMake manifests to enable that.

Reviewed By: paulcruz74

Differential Revision: D60934748

fbshipit-source-id: 8c705b3ffd3eb611ef96a3df95bbb7d70dd7f86d
Summary:
X-link: facebookincubator/zstrong#950

Adds the ability to use GPIO lines for presence detection. Utilizes the GpioLine library from fboss lib.

Reviewed By: kimdo8736

Differential Revision: D60946559

fbshipit-source-id: ce52d96e8cdcb1aa3e0bb385f1ef502185aaa33f
Summary:
This benchmarks various functions that convert decimal values in string representation to IEEE-754 double representation.

These benchmarks `std::strtof`, `std::strtof` with a copy (needed for non-c-strings), `std::strtofl` with the C locale (for locale-indepent processing), `std::from_chars`, libdouble-conversion, and libfast_float.

The functions are benchmarked on different inputs. There is input that is hardcoded values in decimal and exponentional notation. There is randomly generated values in the double space range. There is also inputs for single and double digit ints. As well as percentages.

Note that `std::from_chars`, which on platform010/libstdc++ v11 uses `strtof` + `uselocale` [0]. libstdc++ v12 uses fast float[2].

0: gcc-mirror/gcc@932fbc8
1:  gcc-mirror/gcc@490e230#diff-d3c32d9c9c566f7f3888d150c6448428ea194170146a1a166917ba45b1252187

Reviewed By: yfeldblum, Orvid

Differential Revision: D61356955

fbshipit-source-id: 6ec21b602b08505d946551dda49a35402bee7dae
Summary:
X-link: facebookincubator/zstrong#944

https://github.com/facebook/mcrouter currently uses a legacy autotools-based build system, which forces third parties to rely on a collection of scripts hosted in the repository to build it with all required dependencies. This is brittle and has lead to many issue reports about build problems.

In facebook/mcrouter#449, I've prepared a working CMake-based build system for mcrouter that could replace the legacy autotools setup. This patch adds the necessary manifests for mcrouter and its ragel dependency so that fbcode_builder itself will be setup for the repo without having to do it in the PR.

X-link: facebook/folly#2268

Reviewed By: yfeldblum

Differential Revision: D60537337

Pulled By: Orvid

fbshipit-source-id: ed73693d4af93acc3b8e996a7c61d0090075949f
Summary:
libfast-float-dev only exists on Ubuntu 24.04 and newer, causing build failures on older releases.

X-link: facebook/folly#2283

Reviewed By: yfeldblum

Differential Revision: D61622213

Pulled By: Orvid

fbshipit-source-id: ea683431874d711f8e693b2dd6607cb36f5d8adf
Summary:
In the next diff we no longer have a valid reference to return. Gonna change
this to return by value.

The reason is that we are no longer gonna be able to return the value directly
from a stored future. We need to have a seperate future that we can block on
for each wait call. This means creating a new future for each call. And then
returning the value from the newly created future. This means the future we
return the value from might get destroyed after the call to this method. Thus
the value will outlive the future it's from.

There are maybe some things we could do to prevent having to return by value
instead of reference. But all the ideas I come up with are quite
complicated. This call expects to be "slow" anyways since it blocks waiting
for the pid info to be ready. So one extra copy on this path is not bad.

There are a few callers of this. We can remve a copy from these and replace them
with moves now that the returned value is owned.

Callers:
- [no update needed] https://www.internalfb.com/code/fbsource/[cc7496c5eba48918a08d7ac091ae154e75f9470e]/fbcode/eden/common/utils/test/ProcessInfoCacheTest.cpp?lines=123%2C131-132%2C135%2C138%2C171%2C201
- [updated] https://www.internalfb.com/code/fbsource/[cc7496c5eba48918a08d7ac091ae154e75f9470e]/fbcode/eden/fs/service/EdenServer.cpp?lines=2517
- [updated] https://www.internalfb.com/code/fbsource/[cc7496c5eba48918a08d7ac091ae154e75f9470e]/fbcode/watchman/Client.cpp?lines=285
- [no update needed] https://www.internalfb.com/code/fbsource/[cc7496c5eba48918a08d7ac091ae154e75f9470e]/fbcode/watchman/main.cpp?lines=117

Reviewed By: MichaelCuevas

Differential Revision: D61478484

fbshipit-source-id: fa3f82efb328b37ec7e19355ea835881b74948c2
Summary:
I wanna log the client for all requests so we can get a better understanding of
Watchman clients. So I am gonna want the pid for all clients not just daemon
clients.

Moving the pid into the generic client class (from the daemon client class
where it is now) so I can use the pid in all cases.

Reviewed By: MichaelCuevas

Differential Revision: D61480179

fbshipit-source-id: b9f44209063bae373bf1e1f54b7354dd2f0c791c
Summary:
As we consider potential future options for Watchman, it's helpful to know
who the watchman clients are. And how many requests they are sending us.

Adds the command name of the client process so we can keep track of who is
calling us.

Planning to decrease retention on this column to 1 week, so we don't run out
of capacity.

Reviewed By: MichaelCuevas

Differential Revision: D61480221

fbshipit-source-id: 4b4aa3e44de5b0dbbfe49e753113ab3a92a7e465
Summary:
I added client logging to the Watchman `dispatch_command` event.

Watchman has a few different types of scuba events:
- query_execute
- sync_to_now
- full_crawl
- clock_test
- saved_state
- dropped
- age_out

Some of these events are associated with a specific client request, so I would
like to include client information there as well. There are a few that are not
related to a specific client event:
- full_crawl
- clock_test
- dropped
- age_out

So I only intend to add client information to
- query_execute
- sync_to_now
- saved_state

Going to move these client attributes to the more generically used
MetadataEventData instead of being on the event types for each event to avoid
copy paste.

Reviewed By: genevievehelsel

Differential Revision: D61684457

fbshipit-source-id: bf4765780cfd09c7ff5a0a3f0ef56dcc10f58dfd
Reviewed By: fanzeyi, dtolnay

Differential Revision: D61876827

fbshipit-source-id: 54223a5741114f76152c981ef2bce472970aa8a9
Summary:
forgot a move in D61684457 when I did the refactor to add tests so this is an
unnessecary copy.

Reviewed By: genevievehelsel

Differential Revision: D61881277

fbshipit-source-id: dc191a1f0425ed199ad28a2b08ea23609130a57c
Open Source Bot and others added 30 commits December 11, 2024 09:34
Summary: Remove facebook-hte-PortabilityInclude-{gtest,gmock} clang-tidy lints because they are no longer needed now that windows UCRT declares its own posix functions.

Reviewed By: Jason-M-Fugate

Differential Revision: D67056931

fbshipit-source-id: d57afba50577191c72b0cd07dc96a538e1ecc8c1
Summary:
Enable more features that are disabled by default and update call
sites.

Reviewed By: opsound, jasonwhite

Differential Revision: D66275420

fbshipit-source-id: 4969045de7751c7d16b6ed5c7411f04077eb0ddc
Summary:
X-link: facebookincubator/zstrong#1098

We have been manually syncing our builds when there is a change in builds of our dependencies (folly, thrift). This has been one of the major source of work in OSS maintenance. Migrating to getdeps will automatically sync the dependencies which means we only have to manage our own builds.

NOTE: There is a dependency of getdeps on zlib which requires us to first run sudo dnf install -y zlib-devel before we successfully run getdeps. I don't think this should affect the OSS build as it is a getdeps dependency.

Reviewed By: haowu14

Differential Revision: D65844211

fbshipit-source-id: 8e89e670cdec4a21ca7aba48ae58b5b72ddbf832
Summary:
GitHub commits:

facebook/fb303@eb8d4f7
facebook/fbthrift@ea577d5
facebook/proxygen@ed4dfc1
facebookexperimental/rust-shed@92a2ca3

Reviewed By: ajb85

fbshipit-source-id: 18528711e74e227d585dd498d4abbdc1c5648b76
Summary:
# Context

We are introducing EdenFS notifications to support scalable and ergonomic file system notifications for EdenFS mounts.

# This Diff

This diff introduces the concepts of included/excluded Suffixes to the getChangesV2 pipeline.

The files returned from the API will always match any defined included suffixes, and never have any excluded suffixes. If a suffix is both included and excluded, then it is excluded.

A suffix is defined as the substring that ends the string. As currently defined, a suffix could include content past the file extention, including the , eg for file.ext1.ext2, ex2, ext1.ext2, and file.ext1.ext2 are valid suffixes

# Technical Details
This diff creates the thrift definitions for the included/excluded suffix types

# Discussion Points

Reviewed By: jdelliot

Differential Revision: D67613986

fbshipit-source-id: f18957a490d3095324d46046f57233bba92565aa
Summary:
GitHub commits:

facebook/buck2-prelude@d11a72d
facebook/fbthrift@a22442c
facebook/folly@1392864
facebookexperimental/rust-shed@61d5f20

Reviewed By: ajb85

fbshipit-source-id: aba9df1752eb7a9a63852128f55a867183cf680e
Summary: Mainly due to the need to have [`Error::from_boxed`](https://docs.rs/anyhow/1.0.95/anyhow/struct.Error.html#method.from_boxed) and stop using less ergonomic alternatives. Thankfully, this API comes in the latest [1.0.95](https://github.com/dtolnay/anyhow/releases/tag/1.0.95)

Reviewed By: dtolnay

Differential Revision: D67775008

fbshipit-source-id: b9c0d3ff169dbb69d4c8b96e378334b37d200fd2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.