Commit Graph

58424 Commits

Author SHA1 Message Date
Durham Goode
823a1ca4a1 configs: prevent infinite loops in dynamicconfig generation
Summary:
There's an issue where hg foo could spawn hg dynamicconfig which could
spawn hg version (via the telemetry wrapper) which could spawn hg dynamicconfig.
If the config generation fails then this could enter an infiniteloop, since the
mtime of the file would not be updated appropriately, so we will always think we
need to regenerate.

Let's prevent this by setting an environment variable when spawning the
background process.

Reviewed By: quark-zju

Differential Revision: D21885363

fbshipit-source-id: ba4938c926d1219985813a521fec412097df4b4a
2020-06-10 19:29:15 -07:00
David Tolnay
cf412e0d6b rustfmt: Use use_try_shorthand default
Summary:
I observed that for whatever reason our setting of `use_try_shorthand = true` in rustfmt.toml was causing entire functions to not get processed by rustfmt. Even files that contain neither `try` nor `?`. Remove it and reformat fbsource.

Documentation of that config:

- https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#use_try_shorthand

We don't particularly care about the value anymore because nobody writes `r#try!(...)` in 2018 edition code.

Minimized:

```
fn f() {
    g(
        )
        // ...
        .h
}
```

This function gets formatted only if use_try_shorthand is not set.

The bug is fixed in the rustfmt 2.0 release candidate.

Reviewed By: jsgf

Differential Revision: D21878162

fbshipit-source-id: b028673c0eb703984d24bf0d2983453fc2a8c212
2020-06-10 19:29:15 -07:00
Mark Thomas
e988481250 config: sync from configerator
Reviewed By: HarveyHunt

Differential Revision: D21883625

fbshipit-source-id: 88fdaf3937bed68971a93308da01dedc413d180b
2020-06-10 19:29:14 -07:00
Katie Mancini
137b6d984f add OS release version to eden rage
Summary:
When I was debugging the multithreaded bug issue it came up that the issue would
only affect certain versions of macos. There may be other bugs that come up
affecting only certain os versions. Having the os version in eden rage could be
helpful to identify such issues.

Reviewed By: chadaustin

Differential Revision: D21776154

fbshipit-source-id: a493e7da1823075ca4a845bd73b21716ce884911
2020-06-10 19:29:14 -07:00
Mateusz Kwapich
11fbd214e5 add common-base subcommand to scsc
Summary: This will allow me to test it easily.

Reviewed By: StanislavGlebik

Differential Revision: D21840079

fbshipit-source-id: 1b3743da9c7908eb0dedd665aa24a4bf7aabd94f
2020-06-10 19:29:14 -07:00
Mateusz Kwapich
b73e82fe60 add commit_common_base_with method
Summary: This method is meant to replace SCMQuery's `mege_base` method.

Reviewed By: StanislavGlebik

Differential Revision: D21840080

fbshipit-source-id: 71336a4f378afc75a5643130cd58ebda88c3cb91
2020-06-10 19:29:13 -07:00
Mateusz Kwapich
9085d631e6 add common_base method
Summary: We need to thread it through this layer to get it to SCS

Reviewed By: StanislavGlebik

Differential Revision: D21840078

fbshipit-source-id: d3c16a4afd87aa844628dd0aab7f85b8d38dadf8
2020-06-10 19:29:13 -07:00
Mateusz Kwapich
0182412c37 add an LCA operatation
Summary:
We need a lowest common ancestor operation for `merge_base` call
implementation.

The `lca` function returns only one of many possible ancestors in some
situation (multiple merges of the same branches). This is done to:
simplify the implementation and hide the complexity from our API users
(people don't really expect to receive more than one node from such APIs).
Mercurial arbitrarily chooses the commit with smallest hash in those situations.

Reviewed By: StanislavGlebik

Differential Revision: D21840081

fbshipit-source-id: 2dfc95a4cf549d8941fc5166e878bfee4b6b2ece
2020-06-10 19:29:13 -07:00
Lukas Piatkowski
ad896878b5 mononoke: add Cargo.toml files for code previously depending on identity_ext
Reviewed By: farnz

Differential Revision: D21864833

fbshipit-source-id: 782175af73f5937534566c99e6dc1e7fcf319f6c
2020-06-10 18:16:04 -07:00
Lukas Piatkowski
f3753fd0bd permission_checker: add methods to parse MononokeIdentity from json and x509
Summary: This methods will replace the fbcode_build provided functions. Also add Cargo files for crates that are now thanks to that buildable in OSS.

Reviewed By: farnz

Differential Revision: D21549860

fbshipit-source-id: 69f4179aa7a9081d33fac1f2f88aa3b32cd31e17/
2020-06-10 18:16:04 -07:00
Stanislau Hlebik
15341a5da2 mononoke add test for get_file_history
Summary: I will modify in the next diffs, it's nice to have some test coverage

Reviewed By: krallin

Differential Revision: D21880996

fbshipit-source-id: 266622982e5d7d6d19ab3ac921ddc51079e51457
2020-06-04 06:42:11 -07:00
Stanislau Hlebik
964832f97e mononoke: rename max_depth to max_legth parameter in get_file_history_using_prefetched
Summary:
The max_depth parameter was confusing - one might have thought that it returns
all entries that are `max_depth` hops away from `startnode`. This is not the
case - in reality it just limits what's the total number of entries can be
returned.
In fact, I think it can be replaced with Stream::take() method, however that's
a larger refactoring, and I'm not going to do it now.

It doesn't matter much because usually we have linear histories, but I think
it's still worth to make it clearer.

Reviewed By: krallin

Differential Revision: D21880220

fbshipit-source-id: d209e1e129383f9181ae11b489992dc4c3ce2d5c
2020-06-04 03:16:22 -07:00
Kostia Balytskyi
6100864f43 thrift: sync changes to repos.thrift from configerator
Summary: This adds changes, introduced by markbt in D21766109.

Reviewed By: markbt

Differential Revision: D21844915

fbshipit-source-id: e8816634b0edb9c5191467e2d105956ddce59538
2020-06-04 01:38:01 -07:00
Thomas Orozco
cb48ff2092 mononoke/revset: buffer loading generations
Summary:
In the hg sync job, we need to load up the ancestors for all bookmarks known to
the server we are pushhing to, and for e.g. fbsource that might be > 10K
bookmarks. If we fetch those 1 by 1 (because e.g. cold cache), that will take a
very long time.

Unfortunately, we don't currently have a way of buffering access to changesets,
so for now let's mitigate by buffering.

Reviewed By: ikostia, HarveyHunt

Differential Revision: D21860228

fbshipit-source-id: 90977a9e00689c1df5ae53d149c267de9b2f973e
2020-06-04 01:24:08 -07:00
Thomas Orozco
1f030cf603 mononoke/revset: don't poll() things manually
Summary:
When you call poll() from within an async context (as opposed to calling
await), awkward things happen, like this:

```
thread 'validation::test::slow_ready_validates' panicked at 'no Task is currently running',
```

So, let's stop doing that by instead checking that our stream eventually
yields. We can't count the polls this way, but that feels a bit immaterial so
that's probably OK. Also, let's clean up the code a little bit by removing a
bunch of conditional compilation.

Reviewed By: ahornby

Differential Revision: D21862830

fbshipit-source-id: 3eb49575d940ca85f59c49295dd6b0dcfb2e5d15
2020-06-04 01:24:08 -07:00
Stanislau Hlebik
ad514c1e2a mononoke: rename filenodes tunables to sql_timeout_knobs
Summary:
We are going to start using tunables in Mononoke in the next diffs, and the
name clash between "tunables" and "newfilenodes::tunables" makes it confusing.
Let's rename newfilenodes::tunables to sql_timeout_knobs

Reviewed By: krallin

Differential Revision: D21879093

fbshipit-source-id: ab0bae4be3c319dcb6afeecdd1c13df395e79e3b
2020-06-04 01:18:18 -07:00
Genevieve Helsel
2dba19bf43 refactor eden stop during graceful takeover request to remove usage of some thrift functions
Summary: The thrift team is looking to retire `stopWorkers()` and `stopListening()`, so this refactors our code to stop using both of those methods.

Differential Revision: D21851442

fbshipit-source-id: 6d63d435cbd4a51c855bf71a3b2165e35431a4d7
2020-06-03 20:07:29 -07:00
svcscm
967f470a0d Updating submodules
Summary:
GitHub commits:

497c217e5e
299eaebd83
02df00d97b

Reviewed By: yns88

fbshipit-source-id: 4f7646ea9fcfafeb1e830d42b8e2eb4a87016f73
2020-06-03 20:07:29 -07:00
svcscm
a86f8cc844 Updating submodules
Summary:
GitHub commits:

1a1331297a
b4eaa7af5e
c8485be99f
7e3d8669da
0f85d163e6
faeee0bc01
cac6c0637e
b4543b41b9
bc86eab205
22b9848fac
96fb88cc1e

Reviewed By: yns88

fbshipit-source-id: 385b768a1fd4bb318324c0f5fb643d71110b3808
2020-06-03 16:12:03 -07:00
Jun Wu
d3791fe721 revlogindex: do not use mmap to read .i on Windows
Summary: The `.i` file might get truncated. `mmap` prevents truncation on Windows.

Reviewed By: DurhamG

Differential Revision: D21869321

fbshipit-source-id: 18d6186954c6fb4c757d571b97fe620eed0731ea
2020-06-03 15:23:57 -07:00
svcscm
f8a161ddae Updating submodules
Summary:
GitHub commits:

f4ff91b572
b7e5c5e872
1bc38ed155
3ee93a0f73
eac0aa51dd
1487609050
f005dac2d9
b42e00f815
48035598b8
95309c66eb
2106eb376a
96aac90264
8a62a522d7

Reviewed By: yns88

fbshipit-source-id: f6149680139e8fcec69a33c292d04620b69ebc37
2020-06-03 15:19:58 -07:00
Mateusz Kwapich
0184270052 add option to rebuild skiplists
Summary: we need an option to rebuild skiplists from scratch in case of corruptions.

Reviewed By: farnz

Differential Revision: D21863639

fbshipit-source-id: 56d8360a6c2c38aeb35f534758f5cde410fef421
2020-06-03 14:24:16 -07:00
Martin Thomas Fleischer
a8b76ca8e3 Fix shell builders (#50)
Summary:
In 0ae204a978c11ddefafd81bd319a078239a44c1c the 'projects_dir' option
became a required constructor argument since it is called within the
constructor. However, it has not been adjusted in the subclasses that
used to set the option after instantiation. This commit fixes the
'shell_builder' and the 'debian_system_builder'.
Pull Request resolved: https://github.com/facebook/openr/pull/50

Test Plan:
1. Go to build directory: `cd build`
2. Run the `shell_builder` & `debian_system_builder`:
    - `python fbcode_builder/shell_builder.py`
    - `python debian_system_builder/debian_system_builder.py`

`shell_builder` output before:
```
Traceback (most recent call last):
  File "fbcode_builder/shell_builder.py", line 102, in <module>
    builder = ShellFBCodeBuilder()
  File "/home/butjar/tu/ma/openr/build/fbcode_builder/fbcode_builder.py", line 93, in __init__
    self._github_dir = self.option('projects_dir')
  File "/home/butjar/tu/ma/openr/build/fbcode_builder/fbcode_builder.py", line 108, in option
    raise RuntimeError('Option {0} is required'.format(name))
RuntimeError: Option projects_dir is required
```

`shell_builder` output after:
```
set -exo pipefail
export CCACHE_DIR='/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr/.ccache' CC="ccache ${CC:-gcc}" CXX="ccache ${CXX:-g++}"
### Diagnostics ###

# Builder ShellFBCodeBuilder(google/googletest:cmake_defines={u'BUILD_GTEST': u'ON', u'BUILD_SHARED_LIBS': u'OFF'}, google/googletest:git_hash=u'release-1.8.1', facebook/openr:local_repo_dir='/home/butjar/tu/ma/openr', facebook/zstd:git_hash=ShellQuoted(u'$(git describe --abbrev=0 --tags origin/master)'), openr/build:cmake_defines={u'ADD_ROOT_TESTS': u'OFF'}, thom311/libnl:git_hash=u'libnl3_2_25', projects_dir=u'/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr', fmtlib/fmt:git_hash=u'5.3.0', wangle/wangle/build:cmake_defines={u'BUILD_TESTS': u'OFF'}, prefix=u'/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr/installed', fizz/fizz/build:cmake_defines={u'BUILD_TESTS': u'ON'}, ccache_dir=u'/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr/.ccache', zeromq/libzmq:git_hash=u'v4.2.2', make_parallelism=4, jedisct1/libsodium:git_hash=u'stable')
hostname
cat /etc/issue || echo no /etc/issue
g++ --version || echo g++ not installed
cmake --version || echo cmake not installed

### Check out fmtlib/fmt, workdir build ###

mkdir -p '/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr' && cd '/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr'
git clone  https://github.com/'fmtlib/fmt'
mkdir -p '/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr'/'fmt'/'build' && cd '/home/butjar/.fbcode_builder-sZshomesZsbutjarsZstusZsmasZsopenr'/'fmt'/'build'
git checkout '5.3.0'

### Build and install fmtlib/fmt ###

...
```

Reviewed By: steven1327

Differential Revision: D21865881

Pulled By: saifhhasan

fbshipit-source-id: dfd78127d3b2c78721f84a3ecafe0b7198c38f06
2020-06-03 14:19:29 -07:00
Martin Thomas Fleischer
6dd3dfdadb Fix shebang in shell_builder (#51)
Summary:
Typo in python shebang introduced by 0d19e27, probably by accident.

Found while skimming the code.
Pull Request resolved: https://github.com/facebook/openr/pull/51

Reviewed By: steven1327

Differential Revision: D21865922

Pulled By: saifhhasan

fbshipit-source-id: 5f2c2c2fac82078070920915812139f5fef1c7fe
2020-06-03 13:48:23 -07:00
Jun Wu
954d1ce8e4 renderdag: make render API accept trait objects
Summary: This makes the API more flexible.

Reviewed By: sfilipco

Differential Revision: D21626196

fbshipit-source-id: d0d28ba075ee3321a1a757f848fb72592827d75d
2020-06-03 13:26:27 -07:00
Jun Wu
fc4c73a7cf revlogindex: implement DagAlgorithm trait
Summary: This allows DAG algorithms to be executed on revlog.

Reviewed By: sfilipco

Differential Revision: D21626217

fbshipit-source-id: e9fd61ad62f95be7b055a0ef8879c59cbeeb60b9
2020-06-03 13:26:26 -07:00
Jun Wu
de8b085e6e revlogindex: port gca and range algorithms from bindag
Summary:
Mostly copy-paste from code added in D19503373 and D19511574. Adjusted to match
the revlog index interface.

Reviewed By: sfilipco

Differential Revision: D21626201

fbshipit-source-id: 05d160e4c03d7e2482b6a4f2d68c3688ad78f568
2020-06-03 13:26:26 -07:00
Jun Wu
234147239a dag: add ToIdSet trait
Summary: The trait converts NameSet to IdSet. It'll be used by the revlog index.

Reviewed By: sfilipco

Differential Revision: D21795869

fbshipit-source-id: 55f7a238158442db9d8bdfe84e64438be504f618
2020-06-03 13:26:25 -07:00
Jun Wu
45d6b00593 dag: add InverseDag
Summary: Add a way to inverse the DAG (swap parent / children relations).

Reviewed By: sfilipco

Differential Revision: D21795870

fbshipit-source-id: 2d076f4ae491141aa758faa5f5f303c97f7e56dc
2020-06-03 13:26:25 -07:00
Jun Wu
a3b663735e dag: add IdLazySet
Summary:
Similar to LazySet, but the iterator is using Ids. This will be useful for
lazy calculations that are cheaper with Ids.

Reviewed By: sfilipco

Differential Revision: D21626208

fbshipit-source-id: 9a34fbf18f0039caeb4f6e698294c4d335354093
2020-06-03 13:26:24 -07:00
Jun Wu
223faebe5f dag: rename DagSet to IdStaticSet
Summary:
The NameSet is not really about Dag. It is about using Id and is static.
Rename it to clarify. In an upcoming change we'll have IdLazySet.

Reviewed By: sfilipco

Differential Revision: D21626204

fbshipit-source-id: 84f25008f7032f6e26a26fc656ccbcd2a5880ecf
2020-06-03 13:26:24 -07:00
Jun Wu
bf90003c24 dag: implement NameIter automatically
Summary:
This makes it possible to use NameIter without manually specifying out iterator
types, which might be quite long.

Reviewed By: sfilipco

Differential Revision: D21626202

fbshipit-source-id: 67b338765c09629645794cf73a9b496271524f9d
2020-06-03 13:26:24 -07:00
Jun Wu
6292253ef8 dag: add fast paths using hints
Summary: Take advantage of Hints and add fast paths.

Reviewed By: sfilipco

Differential Revision: D21626216

fbshipit-source-id: 6d43666bd6cdec7ff4b93032c1064cafd8de85cf
2020-06-03 13:26:23 -07:00
Jun Wu
d3878732f8 dag: set hints with existing hints
Summary: Update hints if they are easy to obtain or calculate.

Reviewed By: sfilipco

Differential Revision: D21626206

fbshipit-source-id: 453b7db2444406ce51d574c688fe536316fb9b0f
2020-06-03 13:26:23 -07:00
Lukas Piatkowski
8efc16b157 common/rust/identity_ext: unify identity parsing into a single crate
Summary: The `secure_utils` crate from common/rust/secure_utils was moved to rust-shed, the remaining crates in that folder are being refactored here into a single crate `identity_ext` for clarity.

Reviewed By: StanislavGlebik

Differential Revision: D21549861

fbshipit-source-id: 4da6566a09ba7a772e8062632f9d7520af2e09e6
2020-06-03 13:16:24 -07:00
Lukas Piatkowski
3d1587c3da rust-shed: add secure_utils to the shed
Reviewed By: StanislavGlebik

Differential Revision: D21549859

fbshipit-source-id: 0e143354a60578732ae1eed8c3c71b9f859e3958
2020-06-03 13:16:23 -07:00
svcscm
5dfc002377 Updating submodules
Summary:
GitHub commits:

519a07cfb6
31a8928a32
8639ca9194
19443ec091
d03e3b7fb5
0f41388773
ffe08ffcc2
7d7a5c2009
a1183f94c8
8d40a7c34c
99736471c8
6d7396f7d3
a024b0947c

Reviewed By: yns88

fbshipit-source-id: f8561a4b63578967f2e05838be4a115212a4b1ad
2020-06-03 13:08:14 -07:00
Zhengxu Chen
2905f6dbf2 Specify error handler for text encoding in logging functions.
Summary: Currently output from build command is decoded with "surrogateescape" error handler, but when writing to log files/stdout we don't specify error handlers to be also "surrogateescape" according to https://docs.python.org/3/library/codecs.html#error-handlers, which could cause exception when there's surrogate characters logged in message.

Reviewed By: yfeldblum

Differential Revision: D21850411

fbshipit-source-id: 21c51d1ab2132171ae29f2d1fbe42655ebee94c5
2020-06-03 11:27:46 -07:00
Zeyi (Rice) Fan
39583bb2e3 be graceful when trying to fix dir permission
Summary:
In some rare cases, we would have hgcache that contains broader permission than we are expecting. We shouldn't be fixing it if that's the case.

We also might be in situations where hgcache directory isn't entirely created by Mercurial, and the owner of the directory will be different than the process. This will cause the `chmod` call to fail with permission error. In that case, this will cause EdenFS to panic. This is undesirable. We should be handling this case more gracefully and let the original error populate.

Reviewed By: xavierd

Differential Revision: D21854542

fbshipit-source-id: e9d11399aeb40b375725b49f4bcd54050afdcbad
2020-06-03 10:25:03 -07:00
Victor Zverovich
f9c4acfa84 Update fmt version to 6.2.1
Summary:
Update fmt version to 6.2.1 for better compatibility with the version used in fbcode. Among other things this fixes fbthrift build failure on Travis:

```
/home/fbthrift/thrift/lib/cpp2/async/RocketClientChannel.cpp:70:67:   required from here
/home/install/include/fmt/core.h:492:3: error: static assertion failed: don't know how to format the type, include fmt/ostream.h if it provides an operator<< that should be used
```
which is caused by trying to format an enum class without a formatter - only supported as of 6.0.

Reviewed By: stevegury, avalonalex

Differential Revision: D21860076

fbshipit-source-id: 1857ab65822956b005980b8dfff7a967508f507c
2020-06-03 09:48:54 -07:00
svcscm
932a4dd6e1 Updating submodules
Summary:
GitHub commits:

f2bdd2f1da

Reviewed By: yns88

fbshipit-source-id: d7632eeb47ff2cd8f6186ea70aa9482a796ece45
2020-06-03 05:55:05 -07:00
Stanislau Hlebik
a4b21e589f mononoke: return dummy FilenodesOnlyPublic value if filenodes are disabled
Summary:
In the next diffs we'll make it possible to disable filenodes in Mononoke. See
D21787848 and attached task for more details, but TL;DR is that if xdb is down
we still want to serve "hg update" traffic.

If filenodes are disabled we obviously can't generate filenodes for new
commits. So one option would be to just return an error from
FilenodesOnlyPublic::derive(...) call. But that would mean that any attempt to
call derivation would fail, and e.g. Mononoke servers won't be able to start up
- (see https://fburl.com/diffusion/roau028d). We could change callers to always
process errors from FilenodesOnlyPublic, but I think it would be harder to
enforce and easier to forget.

So this diff changes FilenodesOnlyPublic to be an enum, and
FilenodesOnlyPublic::Disabled is returned immediately if filenodes are
disabled. For callers it means that they can't rely on filenodes being present
in db even after FilenodesOnlyPublic were derived. That's the whole of the
stack, and the next diffs will update the callers to properly deal with missing
filenodes.

One caveat is that when we re-enable filenodes back we might need to derive
them for a lot of commits.
I don't expect it to happen often (i.e. if xdb is down then we probably can't
commit anyway), but if somehow it happened, then we should be a bit more
careful with re-enabling them after the problem was fixed. For example, we can
first derive all the filenodes locally by e.g. running backfill_derived_data,
and only after that has finished successfully we can re-enable them.

Reviewed By: krallin

Differential Revision: D21840328

fbshipit-source-id: ce9594d4a21110a5cb392c3049ccaede064c1e66
2020-06-03 04:21:23 -07:00
svcscm
afcc4f8582 Updating submodules
Summary:
GitHub commits:

5426462841
4584299ad1

Reviewed By: yns88

fbshipit-source-id: 5870af19bc87a81672603c6a81eef746754ca193
2020-06-03 04:21:22 -07:00
svcscm
777c519fd6 Updating submodules
Summary:
GitHub commits:

24bccacfd9

Reviewed By: yns88

fbshipit-source-id: 8600bfbffca48b054e25a3211a28cee2dfb71bd7
2020-06-03 00:36:59 -07:00
Ailin Zhang
c44c95441f update eden du to look at all mounts by default
Summary: This diff made `eden du` able to run under any directory and gives statistics for every EdenFS mount on disk by default.

Reviewed By: fanzeyi

Differential Revision: D21846894

fbshipit-source-id: 2d421db8a4a0202419aa7a41e620d92f6ebdea2e
2020-06-02 21:12:27 -07:00
svcscm
716af75014 Updating submodules
Summary:
GitHub commits:

0268a536a9
1e2c3e4011

Reviewed By: yns88

fbshipit-source-id: fb9013c64c4d6ebea74eb4fdaf256dc45bd87248
2020-06-02 19:34:17 -07:00
Stefan Filip
da6a88756e mononoke: add IdMap::insert_many
Summary: Bulk insertion to the SQL backed IdMap.

Reviewed By: StanislavGlebik

Differential Revision: D21655847

fbshipit-source-id: 937cb910edbe399fed4e6b0c4013e18378cea82f
2020-06-02 19:17:53 -07:00
Stefan Filip
134a7a425c mononoke: update SegmentedChangelog building to pick up where it left off
Summary:
Instead of always building from scratch, continue assiging Vertexes and
Segments from the last commit that was processed.

Reviewed By: StanislavGlebik

Differential Revision: D21634699

fbshipit-source-id: 9f8b890dcf65c59a66651343f0ccc1487efc2394
2020-06-02 19:17:53 -07:00
svcscm
d73bbe077d Updating submodules
Summary:
GitHub commits:

5a189ae9db
6647e5c591

Reviewed By: yns88

fbshipit-source-id: 97475849c3f7f3722c410a8689f7ed42ae129fd5
2020-06-02 19:17:52 -07:00
svcscm
4e127097cb Updating submodules
Summary:
GitHub commits:

2f396fc8e0
f4740f0fd5
60e07c2ee4
2adb7e3768
50c868242b
bd689dc721
6799467cb7

Reviewed By: yns88

fbshipit-source-id: 3496c537c7cec32b1d34dbdda692f037609d3339
2020-06-02 16:44:49 -07:00