Commit Graph

2488 Commits

Author SHA1 Message Date
Matt Glazar
99dd3b54fd Reuse old build dir on Windows
Summary:
getdeps.py's find_existing_win32_subst_for_path function tries to reuse an existing build directory alias. (On Windows, the build directory is aliased to a drive letter to shorten paths.) If this function does not find and existing build directory alias, getdeps.py invalidates many of its caches.

On my Windows machine, find_existing_win32_subst_for_path always fails, so all of my builds are super slow. This happens because find_existing_win32_subst_for_path is given a path with a lower-case drive letter ("c:\users\..."), but the subst command returns paths with an upper-case drive letter ("C:\users\...").

When comparing paths, use ntpath.normpath. This makes the comparison case-insensitive for drive letters. (It also makes the comparison case-insensitive for other path components.)

On Linux and macOS, this diff should not change behavior.

Reviewed By: wez

Differential Revision: D15466096

fbshipit-source-id: 1669aa0a6eaeb6012154f3a9e24eba3f835262c6
2019-05-23 15:41:34 -07:00
Wez Furlong
a040bd25ea eden: remove the hg store tester program from cmake
Summary:
D15456687 didn't catch this due a problem with the CI
not showing the build failure in the code review tool.

Reviewed By: chadaustin

Differential Revision: D15472747

fbshipit-source-id: 5ad739926c0c01faaddd0d5c9631cdc8aafd33bd
2019-05-23 14:37:41 -07:00
svcscm
94eec81eb8 Updating submodules
Reviewed By: yns88

fbshipit-source-id: f4fcf1355821735cd8c6dd4883376bfc4e2ad823
2019-05-23 14:37:41 -07:00
svcscm
b38e6accbc Updating submodules
Reviewed By: yns88

fbshipit-source-id: be2204aaec30448b0800cb0082a9720dbebc6fb4
2019-05-23 12:54:59 -07:00
Adam Simpkins
b7f6cdaf41 stop reporting private memory bytes on Linux
Summary:
Computing the private memory usage from /proc/self/smaps is quite expensive.
On my system this takes around 90ms on opt mode builds, and 2s on
dev mode builds.  (I believe dev mode builds are much worse because they use
lots of small shared libraries.)

In practice the RSS memory usage tracks relatively closely to the private
bytes count, and should good enough for most performance investigation and
monitoring.

We do still report the private memory usage in the `getStatInfo()` thrift call
results.

Reviewed By: chadaustin

Differential Revision: D15466906

fbshipit-source-id: 80ebce25046dfb705e37f50d1ec0270698718576
2019-05-23 11:57:23 -07:00
svcscm
aed6f1f6ac Updating submodules
Reviewed By: yns88

fbshipit-source-id: b5893fc78fb7f930efdcdca45cb810602413b6d7
2019-05-23 11:57:23 -07:00
svcscm
3150fe8175 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 267d1831a445f8fbc993276992ae931d0586f205
2019-05-22 23:14:50 -07:00
svcscm
be5394641c Updating submodules
Reviewed By: yns88

fbshipit-source-id: 0e0725abbc162776e16fda955b71162493ea30b3
2019-05-22 23:14:50 -07:00
svcscm
d11daf6f6f Updating submodules
Reviewed By: yns88

fbshipit-source-id: 4f2cb905e806c20a3319ef4470efeda1d9f13549
2019-05-22 18:36:46 -07:00
Adam Simpkins
585e93f47c remove the hg store tester program
Summary:
This utility was initially used for testing flatmanifest and treemanifest
import.  It's less important now that we are planning to drop flatmanifest
import.

The recent changes to this code have mostly just been keeping up with changes
to Eden's initialization code.  I plan to continue making some additional
changes to Eden's config and local store initialization.  Rather than
continuing to keep this code up-to-date it seems simpler to just delete it.
We can always resurrect this later if we find a need for it again.

Reviewed By: chadaustin, strager

Differential Revision: D15456687

fbshipit-source-id: dd65f93012530392b399a353f5b092192666f102
2019-05-22 16:29:29 -07:00
Chad Austin
69d99f5bfc default test repos to treemanifest
Summary:
Some of our tests create Mercurial repositories with default settings
which means they don't support treemanifest. Flip treemanifest on for
them.

Reviewed By: wez

Differential Revision: D15302347

fbshipit-source-id: 34f98b88976b5de1bf2ad07c5272e217e3fe3b0a
2019-05-22 15:57:57 -07:00
svcscm
4cf8c33987 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: e7ee25c1739d6bf36ffaeb0bcf7881d37b0c1999
2019-05-22 15:05:14 -07:00
Wez Furlong
a96e312aa1 eden: eden doctor no longer fatals on macOS
Summary:
This diff just stubs out some functions that were either
not present or that were doing linux specific things that would
error out when attempted on macOS.

This diff doesn't implement macOS equivalents of the functions;
each of those can be tackled separately in follow up diffs.

Reviewed By: simpkins

Differential Revision: D15453050

fbshipit-source-id: 228044fc416d9170a4ba3aef6cd9b40194707f17
2019-05-22 14:46:37 -07:00
svcscm
54035867a0 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: b38820b1e0cb8fff33e8d4d3dfa700589926ddad
2019-05-22 14:46:37 -07:00
svcscm
8901f5a1b9 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 6e2e9c2cf98ca746b6667e9546bcb3c8bafdd938
2019-05-21 22:26:49 -07:00
svcscm
ab80f396f3 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 0c38aa2ae3101ba6b7589c48968d7ff4922ab4c0
2019-05-20 22:30:13 -07:00
Jingyi Yang
08fa3c9564 sigar + libzmq
Summary: Add lizmq and sigar in prepare for fbzmq oss build migration.

Reviewed By: wez

Differential Revision: D15387435

fbshipit-source-id: 1ec2057972bf801a1598af0a1ae87f958394d812
2019-05-20 21:39:24 -07:00
svcscm
9d2c1f7841 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 25eddc1ba7e9cbedc01777c525b12301e110a3f8
2019-05-20 21:39:24 -07:00
svcscm
17951f7ca7 Updating submodules
Reviewed By: yns88

fbshipit-source-id: e74da7df7975d6d70acaff60783850f25eaa79fe
2019-05-20 19:56:17 -07:00
Wez Furlong
b04ce1a181 watchman: fixup FB internal mac packaging
Summary:
with the reshuffling around getdeps.py, and changes in folly/thrift/wangle,
our internal package stopped building.  This diff brings it back to life.  It is
a little bit interwined:

* Introduce a `--facebook-internal` switch to getdeps that causes `fb` in the
  build context to be set to `on` rather than `off`.  This allows specifying
  options in the manifest that are FB specific.
* Introduce cmake options to control the WATCHMAN_STATE_DIR and whether cmake
  should attempt to create WATCHMAN_STATE_DIR when it is installed.
* For FB specific builds on macOS, set the state dir to match our existing location
  and disable creation of WATCHMAN_STATE_DIR because that will ultimately be
  handling during package installation and we don't have privs for that on
  the machine generating the package.
* Adjust Facebook CI scripts to use getdeps for building and testing watchman

Reviewed By: simpkins

Differential Revision: D15337970

fbshipit-source-id: 8ab3c1f810decf5f0b16337dc1cbe6dc73d26426
2019-05-20 19:32:38 -07:00
svcscm
67c95c5be6 Updating submodules
Reviewed By: yns88

fbshipit-source-id: d62a75b49797fb15dcd37bfda53623b0d5a88d95
2019-05-20 19:32:38 -07:00
svcscm
07cf91ec0f Updating submodules
Reviewed By: yns88

fbshipit-source-id: a802526d720ab892dba6f456db9658b63b4808d8
2019-05-20 16:43:07 -07:00
Adam Simpkins
08d0e2879b add an option to open RocksDbLocalStore in read-only mode
Summary:
Add a mechanism to open the RocksDbLocalStore in read-only mode.  This is
primarily helpful to allow the `eden_store_util` process to examine a DB
without making many modifications, including automatic compactions that might
happen otherwise.

Note that this doesn't appear to be entirely read-only from a file contents
perspective: RocksDB does still rewrite the MANIFEST and OPTIONS files when
opening the DB in read-only mode, and does rotate the logs and write a new LOG
file.

Reviewed By: wez

Differential Revision: D15350216

fbshipit-source-id: 797498f9575a05334b741322654843d6545ca35c
2019-05-20 14:13:59 -07:00
svcscm
cdc6249feb Updating submodules
Reviewed By: yns88

fbshipit-source-id: 8360e4ed2f6b77c9572e4e66e0c36dbf5b3a4560
2019-05-20 14:03:50 -07:00
Adam Simpkins
02faf32c09 pretty-print the output of "eden_store_util show_sizes"
Summary: Use `folly::prettyPrint()` when printing the sizes.

Reviewed By: chadaustin

Differential Revision: D15398827

fbshipit-source-id: 17b1bee7b78f63c5b766aad8a65f1a8f776bf6b4
2019-05-20 11:54:26 -07:00
Adam Simpkins
1f2523ce3b increase the default send timeout on UnixSocket
Summary:
Increase the default send timeout from 100ms to 250ms.
Increse the timeout in the `UnixSocket.sendDataAndFiles` test to 10s.

We have seen some failures in the `UnixSocket.sendDataAndFiles()` test on
our continuous build infrastructure when testing debug builds on Mac OS.
These failed due to hitting the send timeout on the 4MB and 32MB sends.  Bump
up the timeout for this test to 10s.  (I initially tried 250ms, and this was
still not sufficient.)

I increased the default send timeout to 250ms just to help ensure that we
don't hit it unexpectedly during real production code when running on Mac OS.

Reviewed By: wez

Differential Revision: D15401154

fbshipit-source-id: c8be68a77231e90d37c9b5b4f349379bdf2b15ed
2019-05-20 11:49:24 -07:00
svcscm
457a46f10b Updating submodules
Reviewed By: yns88

fbshipit-source-id: 78ac51bee4063446b3c1df6d88bdac591ccdf083
2019-05-20 11:30:15 -07:00
Wez Furlong
86c0aab8d2 getdeps: allow tagging a build with its schedule type
Summary:
The schedule type is used to differentiate between a build run during
code review (and thus runs code that isn't yet in the master branch),
from continuous or other types of run that operate on landed code.

This doesn't change any behavior yet; this diff just adds
the plumbing to pass down an optional arbitrary schedule type string
from the CI system.

In the future, we'll use the schedule type to influence the behavior
of running tests.

Reviewed By: strager

Differential Revision: D15300120

fbshipit-source-id: 3b46afef2ff171b3fa095763dd5006a54ea328b8
2019-05-20 11:06:43 -07:00
svcscm
542fb77651 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: d98894f2e946fdc94df510a5e822d6b71ee33e3d
2019-05-20 11:06:43 -07:00
svcscm
1de8701afe Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 4acf6896feb9857504b0d7656b348f734c45957b
2019-05-19 19:43:02 -07:00
Luca Niccolini
33ec8c8bfc enable CMake build (with HTTP/3)
Reviewed By: udippant

Differential Revision: D15368849

fbshipit-source-id: 5e101fc38417b807a531fa456b38234d6dd08b7a
2019-05-19 19:17:18 -07:00
svcscm
8f8d1c3e6d Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: bd6f006a4542e6abb3d7e9d55a83a8205dd88ec4
2019-05-19 19:17:18 -07:00
svcscm
2c743e3db5 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 629fe69e46f7f6862953260b6edccf2ac647eb0c
2019-05-19 17:25:00 -07:00
svcscm
956f565b10 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 7d46eb023b039d5d9039ad0248cd5b62b19d8c18
2019-05-18 20:25:18 -07:00
svcscm
fd4a7d0ed0 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: d9231df25576dc0a1c0c1cba4417de698a44d00e
2019-05-18 13:25:00 -07:00
svcscm
9811b8cc4b Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: e3239991ae70019270f345797319f5d36cf76167
2019-05-17 13:21:49 -07:00
Puneet Kaushik
d97ca252b6 Make Tree::getEntryPtr() do a case insensitive lookup on Windows
Summary: getEntryPtr() does a case sensitive lookup because of which few Ovrsource builds were failing. Ovrsource code is including header files with the wrong case.

Reviewed By: strager

Differential Revision: D15344850

fbshipit-source-id: 3d5d658a49cdafc07dc9a18a2f3d2073306e8f40
2019-05-17 11:48:37 -07:00
svcscm
514e0ad019 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 004262d046427b2f776ed5b39c26ff844a293ee8
2019-05-17 11:48:37 -07:00
svcscm
4f65904d70 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 1b3cc2cd6728cfea9896b6f0ac154701ce5d5d80
2019-05-17 10:53:48 -07:00
Chad Austin
42dcf78aad clang-format
Summary: Small parts of our code have diverged from our clang-format rules.

Reviewed By: strager

Differential Revision: D15380260

fbshipit-source-id: f668ac22d6c0c5f2468549f2a94dd1c9bb22ce3d
2019-05-17 10:19:02 -07:00
Zeyi (Rice) Fan
7dac9a4cc5 bump timeout for Mononoke
Summary: 2 seconds is apparently too short for some of the big directory and files we have in our repository.

Reviewed By: wez

Differential Revision: D15387381

fbshipit-source-id: 6ebf850c5fbad8d60c2e8c9f8cb19b1c28297d47
2019-05-17 09:57:23 -07:00
svcscm
3e1d96cfd2 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: c9ce2616e3bb920071709e6a0c9804bb2270d430
2019-05-17 09:57:23 -07:00
svcscm
3c1f145619 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 8277abfa10e0682c0b5f6e7143395a5c7cc88c9e
2019-05-16 17:22:34 -07:00
Wez Furlong
38525f5795 getdeps: add support for using ccache in cmake builds
Summary:
if we find ccache in the path, then we instruct cmake to use
it as the compiler launcher.

Reviewed By: pkaush

Differential Revision: D15375441

fbshipit-source-id: 602fe54742a5ec07b0533bd2cf63cb905b051e85
2019-05-16 16:55:09 -07:00
svcscm
2d69091122 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: cf0d2c992f104f2c573c90996ddb715d3b134086
2019-05-16 15:30:27 -07:00
svcscm
70fd415367 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: feb7619f7df233f909c94d520d8d71370621a060
2019-05-16 15:30:26 -07:00
svcscm
9ede5b6c0a Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 266e5ce8fc981249b1cf3fae0ec1d65e9e827b4e
2019-05-16 11:28:45 -07:00
Wez Furlong
e09f8a970e getdeps: correctly handle the install_dir value
Summary:
We were computing `SCRATCH/install` and hashing based on that value,
but the build stuff was later computing `SCRATCH/installed` and passing that
to the builders.

Fixup the mismatch.

Reviewed By: simpkins

Differential Revision: D15337969

fbshipit-source-id: 70288f2d9286aaacf4c1f6e0dac4680a55edac6d
2019-05-16 11:23:36 -07:00
svcscm
b00c108061 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: c039fd8f99e7dc9395aca49f95f5fe825602c201
2019-05-16 11:23:36 -07:00
svcscm
2dcc9817df Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 28617a25839a6eed95bea0b67a38eb88885bf37e
2019-05-15 19:30:06 -07:00