Commit Graph

2956 Commits

Author SHA1 Message Date
svcscm
5171b28d11 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: fa0a8ae3a212f7220580025fb05d3113dcb9822c
2019-09-03 11:29:18 -07:00
Chad Austin
89d0c3dcf0 add inodemap. prefix to InodeMap counters
Summary:
We are probably going to add more inodemap counters, so add a prefix
now.

Reviewed By: fanzeyi

Differential Revision: D17142015

fbshipit-source-id: 4bd3cd4fd9234d8766864f364fef0b0d963f03b6
2019-09-03 11:08:36 -07:00
svcscm
7aec1c2b35 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: c83eb880e04257727f0de31fd2014cf60c846dd6
2019-09-03 11:08:36 -07:00
svcscm
20a01ba560 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 135094a1282a99aa48a874323c0a61cc496f027a
2019-09-03 10:07:11 -07:00
Luca Niccolini
ebdaad98a9 BUILD_SHARED_LIBS=OFF for CI build
Summary: fixes the CI build

Reviewed By: dddmello

Differential Revision: D17158685

fbshipit-source-id: 44ea871eab4d8c964b8372fb8d84879fa823ca50
2019-09-03 09:32:58 -07:00
Wez Furlong
f09c488a03 eden: stop reporting user.sha1 in listxattr
Summary:
This was causing problems on macos where various tools
would enumerate and helpfully try to preserve attributes across
copies.  On macos this would result in appledouble metadata files
being created to track the metadata in the destination file,
which clutters up the repo and has surprising secondary effects
such as being picked up by glob operations in cmake build rules.

This diff simply stops enumerating the extended attribute.

Reviewed By: fanzeyi

Differential Revision: D17140414

fbshipit-source-id: 2924657dc75b900baf70595edfa72e5d0521a697
2019-09-03 08:04:15 -07:00
svcscm
41b48b2d32 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 3da26995a154a60bd3026b62fd13854d5cba2c90
2019-09-03 08:04:15 -07:00
svcscm
c5e93773c1 Updating submodules
Reviewed By: cdelahousse

fbshipit-source-id: 6503db1fb6fcc3a0081835df449ffb8d74fe3582
2019-09-02 19:21:49 -07:00
svcscm
ac77fd099f Updating submodules
Reviewed By: yns88

fbshipit-source-id: d217abe63e6027134c5cfc2ffbaae478918a72f6
2019-09-02 09:22:09 -07:00
svcscm
1400d1928f Updating submodules
Reviewed By: yns88

fbshipit-source-id: 9f3c7b1cb30b8e29d5f21af226c8e065307daaab
2019-09-01 12:21:50 -07:00
svcscm
289ed6d5bb Updating submodules
Reviewed By: yns88

fbshipit-source-id: c2d294e5a44a8d5cd9cf7f19cf70b76a56485dc7
2019-08-31 17:22:58 -07:00
svcscm
d19bcdd449 Updating submodules
Reviewed By: yns88

fbshipit-source-id: ddbe558238c33cbd59ff36c071808232c0555cd2
2019-08-30 16:39:51 -07:00
Adam Simpkins
c6071efda3 fix make-client.py to find fb303_core.thrift properly
Summary:
D17005381 changed where `fb303_core.thrift` gets installed.  The
`make-client.py` script needs to be updated to take the new location into
account.

I have some diffs in progress that will enable building the `edenfsctl` with
CMake, which will then remove the need for `make-client.py` entirely.  (The
file move done in D17005381 was part of the work to enable building
`edenfsctl` with CMake.)

Reviewed By: wez

Differential Revision: D17128434

fbshipit-source-id: 22042ba9ad51b1c0d9d869370e549bcf0caed0dd
2019-08-30 15:48:38 -07:00
svcscm
cb0f4ea56d Updating submodules
Reviewed By: yns88

fbshipit-source-id: f031a56fcb96a2f5bd9338e2fe3111ee5c1162b2
2019-08-30 14:07:22 -07:00
generatedunixname89002005289445
13e683608d Update pyre version for eden
Summary: Automatic upgrade to remove `version` override and silence errors.

Reviewed By: sinancepel

Differential Revision: D17135557

fbshipit-source-id: 07afef940271a277c75834892733901d070bfa5f
2019-08-30 13:37:34 -07:00
svcscm
de54a53932 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 57e0c03a82dbb17daad7c853de82942a7ded8d20
2019-08-30 13:37:33 -07:00
svcscm
97f749226c Updating submodules
Reviewed By: yns88

fbshipit-source-id: ed9c979746e3d7de5cf0d1aa0b99c00cc2e0929c
2019-08-30 11:15:45 -07:00
Wez Furlong
75ad139034 fbzmq: disable build on darwin and windows
Summary:
boost.fiber is not available on macos and is required by fbzmq,
so disable the build on darwin.

In D17128935 I tried to make libzmq build with cmake to build
on windows, but there's a problem with its cmake and it fails
to configure.

So let's just nop out the build for !linux for now.

Reviewed By: jstrizich

Differential Revision: D17129362

fbshipit-source-id: db89010d18707a4105b8d395b1758f738336495d
2019-08-30 10:48:04 -07:00
svcscm
ebba323fcc Updating submodules
Reviewed By: yns88

fbshipit-source-id: 776b0dda3929e5b66a716ce37ccb2e7c3d7e5bd3
2019-08-30 10:48:03 -07:00
svcscm
9ce1e6b2fc Updating submodules
Reviewed By: yns88

fbshipit-source-id: ebf75b38d338867af7d01545de29450c0cc70635
2019-08-29 23:46:18 -07:00
Paul O'Shannessy
6996f4f497 Adopt Contributor Covenant
Summary:
In order to foster healthy open source communities, we're adopting the
[Contributor Covenant](https://www.contributor-covenant.org/). It has been
built by open source community members and represents a shared understanding of
what is expected from a healthy community.

Reviewed By: josephsavona, danobi, rdzhabarov

Differential Revision: D17104640

fbshipit-source-id: d210000de686c5f0d97d602b50472d5869bc6a49
2019-08-29 23:23:31 -07:00
svcscm
b5d54405e9 Updating submodules
Reviewed By: yns88

fbshipit-source-id: b6219f97186fbcede08240945f8af6125fcf8b3c
2019-08-29 23:23:30 -07:00
svcscm
b3376b951c Updating submodules
Reviewed By: yns88

fbshipit-source-id: 80ff1036a0aa582e069a4699b6ba09b749ecdba7
2019-08-29 22:45:32 -07:00
Adam Simpkins
930a743673 fix some library dependencies in CMakeLists.txt files
Summary:
This fixes a few issues with the library dependencies:
- The `eden_utils` library depends on `eden_service_thrift`, not
  `eden_service`.  By incorrectly depending on `eden_service` this introduced
  a circular dependency which would cause a build failure, depending on which
  order CMake chose to try and emit the link line.
- The `eden_config` library depends on code from `eden_model` (for `Hash` and
  `ParentCommits`)
- The `eden_inodes` library depends on `eden_model_git` for the `GitIgnore`
  logic.  I also alphabetized the dependency list.

Reviewed By: wez

Differential Revision: D17124930

fbshipit-source-id: 70cbe81081fc1dc807cca13a93edc25ba270b01f
2019-08-29 22:28:32 -07:00
Adam Simpkins
2fd1d16ba9 fbcode_builder: add a FBThriftLibrary.cmake file
Summary:
This module provides a `add_fbthrift_library()` convenience function that can
be used to generate thrift libraries for multiple languages with a single
call.

Reviewed By: wez

Differential Revision: D16742275

fbshipit-source-id: c13120cf9e051629951282141eb22f3e085782f9
2019-08-29 22:05:44 -07:00
Adam Simpkins
ea8f788011 fbcode_builder: add an FBThriftPyLibrary.cmake module
Summary:
This module helps generate Python libraries from thrift files.
It is the Python equivalent of `FBThriftCppLibrary.cmake`

Reviewed By: wez

Differential Revision: D16742274

fbshipit-source-id: ef0dc7f24eb1c7375d2587ee6b71fd25bd6f35a7
2019-08-29 22:05:44 -07:00
svcscm
c8fbf55018 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 410e8d7912cfd70a8857244f322d81c26cb7b8fd
2019-08-29 22:05:44 -07:00
svcscm
b772f483b8 Updating submodules
Reviewed By: yns88

fbshipit-source-id: bc29befbd71ea2ff38da0857b66c6002fa4581db
2019-08-29 20:47:26 -07:00
Adam Simpkins
aa1aefa0f2 fbcode_builder: fix a minor bug in THRIFT_INCLUDE_DIR argument parsing
Summary:
Fix a minor bug in the argument parsing for `add_fbthrift_cpp_library()`:
only a single value should be supplied for the `THRIFT_INCLUDE_DIR` argument.
This parameter should not accept a list of arguments.

Reviewed By: strager

Differential Revision: D17125810

fbshipit-source-id: 31f354e4d6299d3626a94f3b4b5ff8c58bb0cf7b
2019-08-29 20:12:04 -07:00
svcscm
8e4bb3e91d Updating submodules
Reviewed By: yns88

fbshipit-source-id: 4f72e2374d87645e3cfe3fbf7b3e3acbeb645b5f
2019-08-29 20:12:04 -07:00
svcscm
14b94fd93f Updating submodules
Reviewed By: yns88

fbshipit-source-id: 5b970f18df38fb4b700e42db06349ab64e8d1331
2019-08-29 17:11:00 -07:00
Adam Simpkins
6b5f79c0d2 fbcode_builder: rename add_thrift_cpp2_library() to add_fbthrift_cpp_library()
Summary:
Rename the `ThriftCppLibrary.cmake` file to `FBThriftCppLibrary.cmake`, and
also rename `add_thrift_cpp2_library()` to `add_fbthrift_cpp_library()`.

Explicitly calling this `fbthrift` helps clearly distinguish that this is
intended for use with fbthrift (https://github.com/facebook/fbthrift/), as
opposed to Apache thrift.

Reviewed By: wez

Differential Revision: D16738440

fbshipit-source-id: 9b255e06b71c98ad74a34989f564a211958dcdd5
2019-08-29 16:45:12 -07:00
svcscm
770c67d8b8 Updating submodules
Reviewed By: yns88

fbshipit-source-id: ee63fb227f1761192ca89657e7db9c843bb40635
2019-08-29 16:45:12 -07:00
svcscm
e8657686ba Updating submodules
Reviewed By: yns88

fbshipit-source-id: e74361bfe76195e20b2860d23a34e88b4dca18e8
2019-08-29 14:41:11 -07:00
Adam Simpkins
526088ef62 implement fsck repair logic for the 3 most common error types
Summary:
Implement the repair() logic for InodeDataError, MissingMaterializedInode, and
OrphanInode.

The most common errors we see after an unclean system reboot is an inode file
not being present at all (`MissingMaterializedInode`), or it being present but
empty (`InodeDataError`).  When either of these errors occurs for a directory
it also produces `OrphanInode` errors, as all of the children entries in the
directory are no longer part of the directory hierarchy.

This implements repair logic for these three error types.  The repair behavior
is largely similar to the Python version in `eden/cli/fsck.py`, with some
minor changes to the output paths in the `lost+found/` repair directory.  This
also includes more unit test to better exercise handling when `InodeDataError`
and `MissingMaterializedInode` errors occur inside an orphan subdirectory that
needs to be extracted to `lost+found`

Reviewed By: strager

Differential Revision: D16577696

fbshipit-source-id: 948158c5a0c32b31574d93011281c42051645ad9
2019-08-29 12:45:19 -07:00
svcscm
fdb0d6a844 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 2a7c8d2c1eb6e10da06b54814def7ca0d88e800a
2019-08-29 11:15:31 -07:00
Wez Furlong
4033ad5535 eden: fixup eden redirect fixup boo-boo
Summary:
I added a None check to make redirect fixup work on macos
where we don't return running build information, but this broke the
integration tests (which don't run on mac!) where the build information
is actually the empty string.

Only check the version date if it is truthy, otherwise it will always
evaluate as less than the cutoff date and short-circuit the fixup
command.

Reviewed By: fanzeyi

Differential Revision: D17113336

fbshipit-source-id: 38dff9157a760b747958722e70567871dccd8cc0
2019-08-29 11:05:05 -07:00
Genevieve Helsel
7644433160 report file sizes in Eden's debugInodeStatus() call
Summary: Remove file size stat() call from cli and move logic into server-side code

Reviewed By: chadaustin

Differential Revision: D17080186

fbshipit-source-id: 882d1c01db841e7b13b7659f47091e6b5c46ab57
2019-08-29 09:09:23 -07:00
svcscm
a8ef39078d Updating submodules
Reviewed By: yns88

fbshipit-source-id: 92ca1847b2ff5fa73c2585924253b9e16e864f69
2019-08-29 09:09:22 -07:00
svcscm
2757fcc811 Updating submodules
Reviewed By: yns88

fbshipit-source-id: a3bf615e8af2b0bab29a94341c3f9bf775a15e48
2019-08-28 21:52:29 -07:00
Adam Simpkins
ea23555faf fbcode_builder: fix install_fb_python_library() to work with old CMake versions
Summary:
Update install_fb_python_library() to work with CMake versions older than 3.7.

Previously the code used a generator expression in the directory argument
supplied to `install(DIRECTORY)`.  Support for generators in this parameter
was only added in CMake 3.5, but it was buggy and did not correctly handle
absolute paths until 3.7.

This updates the code to avoid using a generator expression.  This does
require that the corresponding `add_fb_python_library()` statement appear
before the `install_fb_python_library()` statement, but this seems like a
pretty reasonable restriction.

Reviewed By: chadaustin

Differential Revision: D17103597

fbshipit-source-id: 54d6af93a3f530373cfe3137db99436d8484f308
2019-08-28 21:00:27 -07:00
svcscm
e59603d147 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 864cd9c40804dd5fa6785b9c4a6c8cd36d17da1b
2019-08-28 19:51:20 -07:00
Chad Austin
172facf837 require that hg_import_helper support treemanifest
Summary:
If the hg_import_helper (really `hg debugedenimporthelper`) command
claims to not support treemanifest, then immediately fail.

Reviewed By: strager

Differential Revision: D15302513

fbshipit-source-id: 044a9cba877d65b6dab0ede6b431146a361d2801
2019-08-28 18:46:04 -07:00
Chad Austin
9a4439189e enable treemanifest in snapshots
Summary:
The 2018-11 and 2019-03 snapshots were created with flatmanifest
repositories. Flatmanifest support is going away, so update them with
treemanifest repositories.

I untarred them and added an hgrc containing the following contents:

```
[extensions]
treemanifest =

[treemanifest]
treeonly = True

[remotefilelog]
reponame = snapshot
```

It's a bit janky to update a repo in place like this, but it means the
snapshot doesn't have to be recreated from scratch.

Reviewed By: simpkins

Differential Revision: D17103193

fbshipit-source-id: 62da8c2fe579d90281af83d4d8912cc64b09897b
2019-08-28 18:46:03 -07:00
svcscm
506028b995 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 9303325ab0a54e470bf2b566c42e1c7bd7e3c78d
2019-08-28 17:56:24 -07:00
Carolyn Busch
256cde1794 Read local store flag first time only
Summary: Create config.toml in first Eden start up and store initial local store flag.

Reviewed By: chadaustin

Differential Revision: D16993074

fbshipit-source-id: dca8dbe60a892b7402ebf2f6c17df715dd2e8792
2019-08-28 17:12:44 -07:00
Chad Austin
e6d22284ae create treemanifest repositories in HgRepository
Summary:
The snapshot generation code and many integration tests create
repositories. By default, they were creating flatmanifest
repositories, which are on their way out. Instead, create tree-only
repos.

Reviewed By: strager

Differential Revision: D17066151

fbshipit-source-id: f99a9543440da6fd7cce0065c3cd7f91a59a02d5
2019-08-28 17:06:22 -07:00
svcscm
c36a07058b Updating submodules
Reviewed By: yns88

fbshipit-source-id: 8682f6a02b5d43c3b4e6ebc2baf2381c394cfb1c
2019-08-28 17:03:06 -07:00
Wez Furlong
c7e038e769 eden: add simple version gate for eden redirect fixup
Summary:
We saw some weird cases where we'd get error spew when
folks were using `eden redirect fixup` against really old servers,
despite us having fallback logic for those.

For now let's do a simple manual pre-check; we use july first as
the min server version for this; it was technically available earlier
than that, but this seems like a safe date to use in case of delays
in pushing out that code.

Reviewed By: strager

Differential Revision: D17094330

fbshipit-source-id: 239378906d382cb249a74e1534d0cd363988eaed
2019-08-28 16:49:28 -07:00
svcscm
331b95f1c2 Updating submodules
Reviewed By: yns88

fbshipit-source-id: 4b926ff21ef676cf1a8aab1fe33145821d447143
2019-08-28 16:49:28 -07:00