Commit Graph

104 Commits

Author SHA1 Message Date
Lukas Piatkowski
278ac5e1f9 mononoke: make mononoke_types OSS-buildable
Summary: (Note: this ignores all push blocking failures!)

Reviewed By: farnz

Differential Revision: D19948740

fbshipit-source-id: 9d0cfc4ccbcb3c08bb969f23229ed3096470fa86
2020-02-24 05:23:07 -08:00
Alex Hornby
87112798b7 mononoke: walker: add option to start from non-bookmarks
Summary:
Add option to start the roots of the walk from any graph node, rather than just bookmarks.

This is useful when reproducing issues loading a key,  validating a changeset/filenode etc,  or to get consistent results on things like sizing where specifying root by bookmark would result in changes between runs.

Reviewed By: farnz

Differential Revision: D19886707

fbshipit-source-id: b7361cbec894aba08b6f702ff0731b9b201224d3
2020-02-24 03:49:23 -08:00
Mark Thomas
70ffdc7293 add export
Summary:
Add `scsc export`.  Analogous to `svn export`, this exports the contents of a
directory within a commit to files on disk, without a local checkout.

Reviewed By: mitrandir77

Differential Revision: D20006307

fbshipit-source-id: 5870712172cd8a030e85dbff75273c28ab0c332c
2020-02-24 03:00:22 -08:00
Thomas Orozco
5b07c8285e mononoke: test-mononoke-admin.t: fixup replication lag match
Summary: It's not always 0! (sometimes it's 1)

Reviewed By: farnz

Differential Revision: D20065610

fbshipit-source-id: b546befbf824713811fd7c011bbf4c246d3c696d
2020-02-24 02:57:18 -08:00
Stanislau Hlebik
ec76ba93c6 mononoke: convert some fastlog functions to async/await
Reviewed By: farnz

Differential Revision: D20059447

fbshipit-source-id: fa4a70b238ebc85ad5e589b06ee8a1ca6c0ea509
2020-02-24 00:53:56 -08:00
Xavier Deguillard
33020829b1 lfs_protocol: remove dependency on mononoke_types
Summary:
Mercurial wishes to use this crate, but pulling in mononoke_types brings way
too many dependencies. Since the only reason mononoke_types is brought in is
for the Sha256 type, let's just hardcode it to [u8; 32].

Reviewed By: krallin

Differential Revision: D20003596

fbshipit-source-id: 53434143c61cd1a1275027200e1149040d30beae
2020-02-21 12:26:19 -08:00
Harvey Hunt
0ecac65ac4 mononoke: Remove restrict_users hook
Summary:
This hook was implemented to prevent incorrect users from moving a
bookmark. However, it doesn't work and the functionality is now implemented by
`is_allowed_user` in the pushrebase pipeline.

Remove the unused hook.

Reviewed By: johansglock

Differential Revision: D20030479

fbshipit-source-id: bcbc9508eebe77cffbc7936382ba4d345b76f74f
2020-02-21 09:46:38 -08:00
Thomas Orozco
8086dc29c7 mononoke: add a limit_commit_message_length hook
Summary:
We're working towards sharding Bonsais. Let's make them easier to cache by also
not allowing arbitrarily large commit messages.

Reviewed By: StanislavGlebik

Differential Revision: D20002994

fbshipit-source-id: b2319ac9d5709e968121d4299396e03a90df4a06
2020-02-21 07:18:15 -08:00
Mateusz Kwapich
42bfba7c99 add git mappings import option
Summary: Let's import the info about corresponding git commits on blobimport whenever possible.

Reviewed By: ikostia

Differential Revision: D19877929

fbshipit-source-id: ba03d5de8ae8a9bd80084a8e858cd05e8f621193
2020-02-21 05:41:46 -08:00
Mateusz Kwapich
6111067524 add git mapping pushrebase hook
Summary:
Let's populate the bonsai<->git mapping on pushrebase of the commits that are
coming from git. By this being a pushrebase hook we can have the accuare mappings
being available as soon as the bonsai commit is available.

Corresponding configerator change: D19951607

Reviewed By: krallin

Differential Revision: D19949472

fbshipit-source-id: b957cbcdd0f14450ceb090539814952db9872576
2020-02-21 05:41:45 -08:00
Mateusz Kwapich
38f7a24364 add a way to update git mappings inside SQL transaction
Summary: During the pushrebase hook phase we'll need to reuse existing transaction.

Reviewed By: krallin

Differential Revision: D19949473

fbshipit-source-id: 7c53308724bec6df6d40933405f703c86be15a7a
2020-02-21 05:41:45 -08:00
Mateusz Kwapich
c2be00c45e add git mappings to blobrepo
Summary:
By having it in blobrepo we can ensure that all parts of mononoke can access it
easily

Reviewed By: StanislavGlebik

Differential Revision: D19949474

fbshipit-source-id: ac3831d61177c4ef0ad7db248f2a0cc5edb933b1
2020-02-21 05:41:44 -08:00
Mateusz Kwapich
5a53415bcb add git mapping crate
Summary:
We need a table to store git<->bonsai mappings and a crate that would abrstract operations on it:
 * it's going to be useful immediately to store git hashes for configerator
   commits and doing the hash translations via SCS.
 * it's going to be useful further down the line for real git support.

NOTE: I'm explicitly using the name `SHA1` all over the place to minimize the
confusion if we'll ever want to support other hashing schemes for git commits.
(Git Community is working on SHA256 support nowdays).

The corresponding AOSC diff: D19835975

Reviewed By: krallin

Differential Revision: D19835974

fbshipit-source-id: 113640f4db9681b060892a8cedd93092799ab732
2020-02-21 05:41:44 -08:00
Mark Thomas
a9490441b2 add blame --parent
Summary:
Add the `--parent` flag to `scsc blame`.  This runs blame against the first
parent of the specified commit, rather than the commit itself.  This allows
users to copy and paste commit hashes from previous blame output in order to
skip the commit, rather than having to look up the parent commit hash
themselves.

Reviewed By: StanislavGlebik

Differential Revision: D20006308

fbshipit-source-id: d1c25aad8f236fe27e467e29f6a96c957b6c8c8f
2020-02-20 13:03:54 -08:00
Thomas Orozco
4a29fe400d mononoke/blobstore_healer: migrate replication lag polling to async / await
Summary:
The former implementation here was a little difficult to work with, and
resulted in a whole lot of cloning of closures, etc.

This updates the implementation to be a little simpler on the whole (async /
await is nicer for while loops, since you can use, well, loops)

It does slightly change a few parts of the behavior:

- The old implementation would wait for the replication lag duration. That's
  not really correct. As we've observed several time this weeks, replication
  lag usually drops quickly once it starts dropping. I.e. if the replication
  lag is 10 seconds, it doesn't take 10 seconds to catch up. This gets more
  important with big lag durations.
- I updated replication lag to be u64 instead of usize. usize doesn't really
  make sense for something that has absolutely nothing to do with our pointer
  size.

I also split out the logic for calculating how long we wait in a part that
cares about whether we are busy and one that cares about replication lag
(whereas the older one kinda mixed the two together). We wait for our own
throttling (i.e. sleep for a sec if we didn't do anything) before we wait for
replication lag, so the new behavior should have the desired behavior of:

- If we don't have much work to do, we sleep 1 second between each iteration
  (but if we do have work, we don't).
- No matter what, if we have replication lag, we wait until that passes before
  doing any work.

The old one did that too, but it mixed the two calculations together, and was
(at least in my opinion) kinda hard to reason about as a result.

Reviewed By: StanislavGlebik

Differential Revision: D19997587

fbshipit-source-id: 1de6a9f9c1ecb56e26c304d32b907103b47b4728
2020-02-20 12:26:51 -08:00
Thomas Orozco
be5d7343ce mononoke/blobstore_healer: check for replication lag _before_ starting work
Summary:
We had crahsloops on this (which I'm fixing earlier in this stack), which
resulted in overloading our queue as we tried to repeatedly clear out 100K
entries at a time, rebooted, and tried again.

We can fix the root cause that caused us to die, but we should also make sure
crashloops don't result in ignoring lag altogether.

Also, while in there, convert some of this code to async / await to make it
easier to work on.

Reviewed By: HarveyHunt

Differential Revision: D19997589

fbshipit-source-id: 20747e5a37758aee68b8af2e95786430de55f7b1
2020-02-20 12:26:51 -08:00
Thomas Orozco
6da3dc939a mononoke/blobstore_sync_queue: delete in smaller batches
Summary:
Our blobstore_sync_queue selects entries with a limit on the number of unique
keys it's going to load. Then, it tries to delete them. However, the number of
entries might be (much) bigger than the number of keys. When we try to delete
them, we time out waiting for MySQL because deleting 100K entries at once isn't
OK.

This results in crashlooping in the healer, where we start, delete 100K
entries, then time out.

This is actually double bad, because when we come back up we just go wihhout
checking replication lag first, so if we're crashlooping, we disregard the
damage we're doing in MySQL (I'm fixing this later in this stack).

So, let's be a bit more disciplined, and delete keys 10K at a time, at most.

Reviewed By: HarveyHunt

Differential Revision: D19997588

fbshipit-source-id: 2262f9ba3f7d3493d0845796ad8f841855510180
2020-02-20 12:26:50 -08:00
Thomas Orozco
ef1ffa31e8 mononoke/sql_ext: log which shard we are waiting for in myrouter
Summary:
MyRouter needs to be told which shards to watch. Since I'm adding a new shard,
it'll be easier for everyone to know that they need to update their MyRouter
configuration if we start logging the shard name we're trying to hit.

Reviewed By: ikostia

Differential Revision: D20001704

fbshipit-source-id: 8a9ff3521bc7e3c9b7ed39c6ae33d0ddc1d467b7
2020-02-20 07:55:04 -08:00
Thomas Orozco
614fa33af2 mononoke: add a limit_path_length hook
Summary:
This adds a file hook to limit the file length we are willing to allow in
commits. This is necessary for now since Mercurial does have a limit on its
end, and we shouldn't allow commits that we cannot sync to Mercurial.

Reviewed By: HarveyHunt

Differential Revision: D19969689

fbshipit-source-id: 1da8a62d54e98b047d381a9d073ac148c9af84b0
2020-02-20 02:49:38 -08:00
Thomas Orozco
58126d90d6 mononoke: log input size
Summary:
This adds some basic logging for input size for Gettreepack and Getpack. This
might make it easier to understand "poison pill" requests that take out the
host before it has a chance to finish the request.

Reviewed By: StanislavGlebik

Differential Revision: D19974661

fbshipit-source-id: deae13428ae2d1857872185de2b6c0a8bcaf3334
2020-02-20 02:24:10 -08:00
Stanislau Hlebik
74a8eb4968 fastlog: convert derive_parents to async/await
Summary:
I'm going to modify it in the next diff, so let's make it async.

Note that we used `spawn_future()` before which I replaced with tokio::spawn()
here. It's not really clear if we need it at all - I'll experiment with later.
Removing it will make the code cleaner.

Reviewed By: krallin

Differential Revision: D19973315

fbshipit-source-id: cbbb9a88f4424e6e717caf1face6807ab6c32438
2020-02-19 21:28:21 -08:00
Kostia Balytskyi
02cafa9997 mononoke: fix blake2 error formatting
Summary: Not very valuable, if it just prints the constant name.

Reviewed By: StanislavGlebik

Differential Revision: D19978690

fbshipit-source-id: ae2b648f50098b479cb3719fd9b9d4b82bac3d3c
2020-02-19 15:22:06 -08:00
Thomas Orozco
c899ed7249 test-gitimport-octopus: don't expect a specific number of commits to verify
Summary:
bonsai_verify occasionally visits the same commit twice (I found out by adding
logging and noting that it occasionally visits the same commit twice). Let's
allow this here.

Reviewed By: StanislavGlebik

Differential Revision: D19951390

fbshipit-source-id: 3e470476c6bc43ffd62cf24c3486dfcc7133de6c
2020-02-19 10:16:38 -08:00
Arun Kulshreshtha
9ec04f9639 edenapi_server: move handlers to submodule
Summary: We're about to start adding more handlers to the server. Rather than putting them all in the same file, let's create a submodule for them.

Reviewed By: krallin

Differential Revision: D19957012

fbshipit-source-id: 38192664371f0b0ef5eadb4969739f7cb6e5c54c
2020-02-19 09:59:14 -08:00
Arun Kulshreshtha
44ded80beb edenapi_server: Add request context middleware
Summary: Add a `RequestContext` type that stores per-request state, along with a `Middleware` implementation that injects a `RequestContext` into Gotham's `State`  object for each request. This is essentially a stripped-down version of the `RequestContextMiddleware` used in the LFS server. Given that the RequestContext contains application-specific functionality, this Middleware lives alongside the rest of the EdenAPI server code rather than in the `gotham_ext` crate (where all of the generic Middleware lives).

Reviewed By: krallin

Differential Revision: D19957013

fbshipit-source-id: 6fad2b92aea0b3662403a69e6a6598e4cd26f083
2020-02-19 09:59:14 -08:00
Mark Thomas
a8f06f75c0 derived_data: add DeriveError for when derivation is disabled
Summary:
Currently if derivation of a particular derived data type is disabled, but a
client makes a request that requires that derived data type, we will fail with
an internal error.

This is not ideal, as internal errors should indicate something is wrong, but
in this case Mononoke is behaving correctly as configured.

Convert these errors to a new `DeriveError` type, and plumb this back up to
the SCS server.  The SCS server converts these to a new `RequestError`
variant: `NOT_AVAILABLE`.

Reviewed By: krallin

Differential Revision: D19943548

fbshipit-source-id: 964ad0aec3ab294e4bce789e6f38de224bed54fa
2020-02-19 09:28:09 -08:00
Johan Schuijt-Li
91ef68fa49 configs: make configerator configs easier to use in dev
Summary:
Prepare configs locally that can be passed to any Mononoke binary where things
/just work/.

Reviewed By: HarveyHunt

Differential Revision: D19952512

fbshipit-source-id: 14a3b520972b0bdf4fa7810805066ba746bbef1a
2020-02-19 08:08:08 -08:00
Lukas Piatkowski
d1f8ed1806 mononoke: make blobstore OSS-buildable
Summary: Adds the Cargo.toml files for blobstore, this is a step towards covering mononoke-types, so only the blobstore traits are covered by this diff.

Reviewed By: aslpavel

Differential Revision: D19948739

fbshipit-source-id: c945a9ca16ccceb0e50a50d941dec65ea74fe78f
2020-02-19 05:15:18 -08:00
Lukas Piatkowski
72c1a6c0d4 common/rust: remove unused asyncmemo from the codebase
Reviewed By: aslpavel

Differential Revision: D19948742

fbshipit-source-id: 43ecb4885f4385adb7598bdec875171e69bb2ffa
2020-02-19 05:15:17 -08:00
David Tolnay
91cb486949 rust: Begin upgrading to bytes 0.5
Summary:
This upgrade is complicated because Tokio's codecs are coupled to a specific version of bytes.

- 0.1 codecs use bytes 0.4
    - https://docs.rs/tokio-codec/0.1/tokio_codec/trait.Encoder.html
    - https://docs.rs/tokio-codec/0.1/tokio_codec/trait.Decoder.html

- 0.2 codecs use bytes 0.5
    - https://docs.rs/tokio-util/0.2/tokio_util/codec/trait.Encoder.html
    - https://docs.rs/tokio-util/0.2/tokio_util/codec/trait.Decoder.html

Since we can't possibly do a coordinated atomic upgrade of tokio, we'll be straddling bytes versions during the migration period. This relies on the adapters added in D19919402.

Reviewed By: jsgf

Differential Revision: D19919403

fbshipit-source-id: 18c5f66efa587bc53ab13c9aab95c7098bfbce4e
2020-02-18 21:20:09 -08:00
Jerry Liang
8c34859329 Push compat down one level in fbcode/eden/mononoke/benchmark/benchmark.rs
Summary:
- Pushing .compat down from main into run function and switch to 0.3 timed function

Note: Possible next level of pushing down: pushing .compact into derive_fn and get rid of BoxFuture run's signature.

Reviewed By: ikostia

Differential Revision: D19943392

fbshipit-source-id: 65bd84492855d3e2e560299a586af6dd4fe9c3ea
2020-02-18 11:01:12 -08:00
Doug Neal
8e684cfda7 mononoke: lfs_server: add jitter field to ratelimit struct
Summary: Add the max_jitter_ms field to the rate limiting config struct, and to the integration test.

Reviewed By: HarveyHunt

Differential Revision: D19905068

fbshipit-source-id: b44251c456a45bc494d1080e405f2d009becc0d2
2020-02-18 07:47:09 -08:00
Thomas Orozco
49808a4410 mononoke/hg_sync_job: use 0.2 runtime
Summary:
This is required for 0.2 timers or runtime reliant code to work within the sync
job. To achieve this, we need to get of Tokio 0.1 fs code, which is
incompatible with Tokio 0.2 because it uses `blocking()`.

Reviewed By: ikostia

Differential Revision: D19909434

fbshipit-source-id: 58781e858dd55a9a5fc10a004e8ebdace1a533a4
2020-02-18 07:42:41 -08:00
Thomas Orozco
b451a97878 mononoke/warm_bookmarks_cache: use the repo's configuration
Summary:
This update the warm_bookmarks_cache's constructor to use the passed in
blobrepo's derived data configuration (instead of whatever the caller is
passing in), since we now have that information.

Reviewed By: HarveyHunt

Differential Revision: D19949725

fbshipit-source-id: 575a1b9ff48f06003dbf9e0230b7cca723ad68f5
2020-02-18 07:40:25 -08:00
Mateusz Kwapich
69089c1c57 mononoke: Add hash::GitSha1 as a pure hash-only key for git Aliases
Summary: Add hash::GitSha1 as a pure hash-only key for git Aliases, so one no longer needs to know the size or type to load by Alias::GitSha1.

Reviewed By: krallin

Differential Revision: D19903578

fbshipit-source-id: bf919b197da2976bf31073ef04d12e0edfce0f9b
2020-02-18 05:02:52 -08:00
Mateusz Kwapich
f6e5098f7b mononoke: rename GitSha1 to RichGitSha1
Summary:
Rename GitSha1 to RichGitSha1 in preparation for introducing hash::GitSha1 as a pure sha1 without extra fields in next in stack.

Motivation for this is that currently one can't load content aliased by Alias::GitSha1 give just the hash, one has to know the type and size as well.

Once the next couple stack are done we will be able to load via just the git hash.

Reviewed By: krallin

Differential Revision: D19903280

fbshipit-source-id: ab2b8b841206a550c45b1e7f16ad83bfef0c2094
2020-02-18 05:02:51 -08:00
Thomas Orozco
cf4d9c9f1f mononoke/fastreplay: fix off-by-one in load tracking
Summary:
When max concurrency is 1, we should process at most one request concurrently,
not 2!  This had resulted in a flaky test since we're processing traffic out of
order there.

Reviewed By: HarveyHunt

Differential Revision: D19948594

fbshipit-source-id: 00268926095fdbbfdfd5a23366aafcfb763580f4
2020-02-18 04:24:11 -08:00
Liubov Dmitrieva
1e50a66174 prefix look up - use fast path for the full hashes
Summary:
It would be better to make the underlying implementation faster for full hash
cases than check when it is used.

Reviewed By: krallin

Differential Revision: D19905033

fbshipit-source-id: 2d9a77099dc614e80fdb1c0ee715c576a56ba09c
2020-02-18 04:15:03 -08:00
Thomas Orozco
182b50f25e mononoke/apiserver: run Mononoke code on a tokio-compat runtime
Summary:
Right now, Mononoke code in apiserver executes on Actix's runtime. That's a 0.1
runtime, which means that we're calling into code that might just fail if e.g.
it uses Tokio 0.2 timers.

This is a pretty big footgun, so let's fix it. As it turns out, we already have
a Tokio compat runtime in process, which is (was — this is mostly in SCS now)
used for Thrift calls.

So, let's use that runtime to call into Mononoke code. This ensures we don't
get any nasty surprises of the panicky kind at runtime.

Reviewed By: markbt

Differential Revision: D19902538

fbshipit-source-id: d9d7307b8cf75c3e7e1ecf04c0e10076b3eaef3d
2020-02-18 01:55:01 -08:00
Thomas Orozco
16384599a8 mononoke (+ rust/shed/async_unit): update async_unit to expect async fn's
Summary:
This allows code that is being exercised under async_unit to call into code
that expects a Tokio 0.2 environment (e.g. 0.2 timers).

Unfortunately, this requires turning off LSAN for the async_unit tests, since
it looks like LSAN and Tokio 0.2 don't work very well together, resulting in
LSAN reporting leaked memory for some TLS structures that were initialized by
tokio-preview (regardless of whether the Runtime is being dropped):
https://fb.workplace.com/groups/rust.language/permalink/3249964938385432/

Considering async_unit is effectively only used in Mononoke, and Mononoke
already turns off LSAN in tests for precisely this reason ... it's probably
reasonable to do the same here.

The main body of changes here is also about updating the majority of our
changes to stop calling wait(), and use this new async unit everywhere. This is
effectively a pretty big batch conversion of all of our tests to use async fns
instead of the former approaches. I've also updated a substantial number of
utility functions to be async fns.

A few notable changes here:

- Some pushrebase tests were pretty flaky — the race they look for isn't
  deterministic. I added some actual waiting (using pushrebase hooks) to make
  it more deterministic.  This is kinda copy pasted from the globalrev hook
  (where I had introduced this first), but this will do for now.
- The multiplexblob tests don't work at all with new futures, because they call
  `poll()` all over the place. I've updated them to new futures, which required
  a bit of reworking.
- I took out a couple tests in async unit that were broken anyway.

Reviewed By: StanislavGlebik

Differential Revision: D19902539

fbshipit-source-id: 352b4a531ef5fa855114c1dd8bb4d70ed967dd55
2020-02-18 01:55:00 -08:00
Thomas Orozco
777b7aff07 mononoke: fix a number of broken tests
Summary:
Those tests broke after D19830033 landed, which removed the functionality that
generates the logs they were capturing. This fixes that.

Reviewed By: farnz

Differential Revision: D19941478

fbshipit-source-id: 2b422b1d2252e92bb75ae688962fdd66ed33910c
2020-02-17 11:04:15 -08:00
Mark Thomas
3690e8ab44 debugmutation: add time range limiting
Summary:
Make it possible to limit the time range of mutation info being displayed by hg
debugmutation.

Reviewed By: DurhamG

Differential Revision: D19904000

fbshipit-source-id: 365f54fdd861661961bba1a0ea96fce772623a23
2020-02-17 06:41:03 -08:00
Liubov Dmitrieva
719f949026 mononoke: add scuba logging for prefix lookup in SCS Server
Reviewed By: krallin

Differential Revision: D19879329

fbshipit-source-id: 3edac196b7a9e0c09f5ae98f13f539f10dfde660
2020-02-17 02:34:01 -08:00
Liubov Dmitrieva
5f4da0d6e0 mononoke: improve return error for invalid hashes in scs service
Summary: The error should be request error, not internal error

Reviewed By: krallin

Differential Revision: D19856120

fbshipit-source-id: fc66ac4eaeb27941de3b4ba769fe123b28685d14
2020-02-17 02:34:01 -08:00
Stanislau Hlebik
ee7c0a8d26 backfill_derived_data mononoke: fail if derived data disabled
Summary:
Now let's fail if we try to derive data that's not enabled in the config.
Note that this diff also adds `derive_unsafe()` method which should be used in backfiller.

Reviewed By: krallin

Differential Revision: D19807956

fbshipit-source-id: c39af8555164314cafa9691197629ab9ddb956f1
2020-02-16 04:56:34 -08:00
Eden Zik
7cd7770eb4 Move cache name to allocator, instead of CacheAdmin
Summary: See title. We want the name of the cache to live in `Allocator` - and be used in Open Source as well.

Reviewed By: sathyaphoenix

Differential Revision: D19663603

fbshipit-source-id: 2abef67b56a37cb551e925121813f4b4c8c6e9db
2020-02-14 14:13:11 -08:00
Pavel Aslanov
f91d6f6b29 conditionally enable warmup chache based on derived data configuration
Summary:
- Conditionally enable warmup cache based on derived data configuration
- Blame is temporarily disabled for ovrsource, it is currently not used, and will be enabled again once new blame is generated for this repository

Reviewed By: StanislavGlebik

Differential Revision: D19902902

fbshipit-source-id: 7b782a32f7bfd76024686aea027bb15223079b9d
2020-02-14 12:07:25 -08:00
Stanislau Hlebik
3d64ea8b50 mononoke: always prefer replica even if it's no the closest
Reviewed By: farnz

Differential Revision: D19906883

fbshipit-source-id: 6eadd7fc7e9b8f1bdce311e9beda1d185c72f94c
2020-02-14 11:03:55 -08:00
Lukas Piatkowski
186573f329 mononoke: cover server/context with OSS build
Summary: The load_limiter was extracted from server/context into its own crate and the server/context itself was refactored into multiple modules, one of which contains facebook-specific code.

Reviewed By: StanislavGlebik

Differential Revision: D19902972

fbshipit-source-id: d577492b4fe01ccfe11b3e092e0521b190516268
2020-02-14 04:51:49 -08:00
Lukas Piatkowski
0ccc5f678a mononoke: move facebook/scuba_ext to common/scuba_ext
Summary: common/sql_ext will now be buildable in OSS

Reviewed By: krallin

Differential Revision: D19876764

fbshipit-source-id: 0f51abd1169f6b8108e7e4cab85b5f193c28e2cd
2020-02-14 01:29:39 -08:00