Commit Graph

61029 Commits

Author SHA1 Message Date
Alex Hornby
570cd79b3a mononoke: make multiplex blobstore a BlobstorePutOps
Summary:
Implement BlobstorePutOps for multiplex blobstores, so restoring the ability to have multiplexes of multiplexes.

Note that this makes BlobstorePutOps::put_behaviour accessor problematic as the inner stores could have different put_behaviour, will remove it in next diff so as to keep this diff reasonable size.

Reviewed By: StanislavGlebik

Differential Revision: D24162235

fbshipit-source-id: 2ace3af5f60607996e449451316c5c0720351f82
2020-10-13 03:09:38 -07:00
Alex Hornby
011f3ffa76 mononoke: add overwrite status logging to multiplexblob puts
Summary:
Add overwrite status logging to multiplexblob puts now that the inner types held all implement BlobstorePutOps

This has the effect of making any configuration that specifies a multiplex of multiplexes invalid, which is addressed in next diff in stack.

Reviewed By: StanislavGlebik

Differential Revision: D24159958

fbshipit-source-id: dd1f70a636dfb36686d796af7afd8d5da8797a23
2020-10-13 03:09:38 -07:00
Alex Hornby
d9777a38fa mononoke: delegate put to put_with_status for logblob
Summary: Delegate put to put_with_status for logblob now that the blobstore factory can provide right inner type.

Reviewed By: StanislavGlebik

Differential Revision: D24109296

fbshipit-source-id: 1493421f632708d8ec24bd9f7c5cd5745f17ae68
2020-10-13 03:09:37 -07:00
Alex Hornby
05e62f0a26 mononoke: delegate put to put_with_status for packblob
Summary: Delegate put to put_with_status for packblob now that the blobstore factory can provide right inner type

Reviewed By: StanislavGlebik

Differential Revision: D24109288

fbshipit-source-id: 745fe3f6398833c9ac51e70f4d1c2959fceba0d5
2020-10-13 03:09:37 -07:00
Alex Hornby
934a491ed3 mononoke: make blobstore_factory PutBehaviour aware
Summary:
Make blobstore_factory PutBehaviour aware by layering all except the final multiplex as BlobstorePutOps

This makes it so all the components that go into a multiplex are BlobstorePutOps,  which is a prerequisite for making the multiplex logging include the Overwrite status.

Reviewed By: StanislavGlebik

Differential Revision: D24109289

fbshipit-source-id: 23f4cedbaebadae194e41cfbff9ef46b651e3fd4
2020-10-13 03:09:37 -07:00
Alex Hornby
4acca67600 mononoke: make logblob PutBehaviour aware
Summary:
log whether puts overwrite keys by implementing BlobstoreWithPutBehaviour for Logblob.

It logs a count of type of overwrite per put so we can sum them up.

Reviewed By: StanislavGlebik

Differential Revision: D24079272

fbshipit-source-id: 81944d92a56b0d3349ef390eb83f9e5bf4ee3d39
2020-10-13 03:09:37 -07:00
Alex Hornby
8df59b224b mononoke: make throttleblob PutBehaviour aware
Summary: Make throttleblob PutBehaviour aware

Reviewed By: StanislavGlebik

Differential Revision: D24109295

fbshipit-source-id: 9d5f712946ba3089facaa8f8c36b48f54338972f
2020-10-13 03:09:37 -07:00
Adam Simpkins
25cb27f395 handle timeouts reading from phabricator
Summary:
If Phabricator takes more than 10 seconds to respond, a `socket.timeout`
exception may be thrown.  Treat this like other networking errors, and simply
report the diff phabricator status as `Error`.  Previously this exception was
unhandled, causing the entire command to abort.

Reviewed By: singhsrb

Differential Revision: D24272274

fbshipit-source-id: f646d111a91f901e09d9f94a1e0102d6dd4d0952
2020-10-13 03:04:02 -07:00
svcscm
38ffab8b0f Updating submodules
Summary:
GitHub commits:

87687b28ca

Reviewed By: wittgenst

fbshipit-source-id: 36067072cad6d2797d03d1b9ee111f01ffd2618e
2020-10-13 03:04:02 -07:00
svcscm
0657ef5563 Updating submodules
Summary:
GitHub commits:

6658dedab3
1e74b9031f

Reviewed By: wittgenst

fbshipit-source-id: 6f04acfed7870089b6a56cc6c83508f74ec48b3c
2020-10-12 18:14:01 -07:00
Meyer Jacobs
f9958ca35a taggederror: introduce category and transience metadata and precedence
Summary:
This change introduces two new metadata types, Category and Transience, and a mechanism for Category to provide a default Fault and Transience, which can be overriden by the user.

Also introduces a mechanism for attempting to log exceptions which occur during exception logging, falling back to the previous behavior of just swallowing the exception on failure.

Reviewed By: DurhamG

Differential Revision: D22677565

fbshipit-source-id: 1cf75ca1e2a65964a0ede1f072439378a46bd391
2020-10-12 17:17:34 -07:00
svcscm
414daf9190 Updating submodules
Summary:
GitHub commits:

929c233bf1
f45a28847c
a71e8b1d0f
6f93817377
a9897f8bcf

Reviewed By: wittgenst

fbshipit-source-id: f174c140c0bd6f6c2ae6a2574421a0b86186ec0c
2020-10-12 17:12:12 -07:00
Xavier Deguillard
001c399d6f tests: enable remaining update_tests on Windows
Summary: Only 2 tests aren't passing on Windows.

Reviewed By: genevievehelsel

Differential Revision: D24257788

fbshipit-source-id: 42a0169955bbff6e05e02374c3b3e434bf849ba0
2020-10-12 17:09:41 -07:00
Jun Wu
bd5cfe49b2 commitstore: remove it
Summary:
It only has benchmark code that led to the use of mincode. Now hgcommits is the
main crate for commit storage. `commitstore` without `hg` in its name was
initially planned to support other kinds of commits including git and bonsai.
However we don't have immediate goal for that at present. So let's just remove
the commitstore directory.

Reviewed By: singhsrb

Differential Revision: D24263618

fbshipit-source-id: 84b4861ae490817377e69d8c2006c63331e3db1f
2020-10-12 16:42:58 -07:00
svcscm
2d3ca71ca4 Updating submodules
Summary:
GitHub commits:

f7002cd5b4
4b5a16a481
276b40abf9
861e544335
4bc9dee4c1
4a093ba4f7
3703aa8c6d
b9ca79c813

Reviewed By: wittgenst

fbshipit-source-id: a5f1b249cb9595fff6694fed4bc340d3e04b559c
2020-10-12 16:30:47 -07:00
Xavier Deguillard
437031872f fix test-import-t.py take 2
Summary: Whitespaces are needed.

Reviewed By: quark-zju

Differential Revision: D24264452

fbshipit-source-id: a7ecfbe1bba7d14f92d5218f18d55361a3f4319e
2020-10-12 15:43:57 -07:00
Durham Goode
b0e341c311 signals: move signal registering to be behind ui.threaded
Summary:
On the hg servers we're seeing crashes due to signals during syscalls.
Rolling back to prior to the signal changes seems to have fixed it, though we
haven't bisected enough to be sure this is the cause.

The ui.threaded option is already used to opt-out of running on a background
thread, let's also use it to opt-out of the custom signal registering in hopes
that it fixes the server issue, until they can be deprecated.

Reviewed By: quark-zju

Differential Revision: D24254804

fbshipit-source-id: 50e4fc8c7e3a88b5baa49394f6f1edffc946187d
2020-10-12 14:36:47 -07:00
Xavier Deguillard
aec38c3d61 remove .clang-format
Summary:
Since D23247941, .clang-format is no longer behind a symlink, which means that
we can get clang-format niceness on Windows without having our own
.clang-format file.

Thus, let's just remove eden/scm/.clang-format

Reviewed By: ahornby

Differential Revision: D24255987

fbshipit-source-id: 8bbb966949cf0d1c0ad76053f699dd524700183e
2020-10-12 14:34:20 -07:00
svcscm
f441892f11 Updating submodules
Summary:
GitHub commits:

7ef0afa8f4

Reviewed By: wittgenst

fbshipit-source-id: 127783b8c0a471d64b083c69b57323b7510d6c4b
2020-10-12 14:27:39 -07:00
Meyer Jacobs
87cc599161 edenapi: add aux data to FileMetadata and DirectoryMetadata, and recursive children field to TreeEntry
Summary: Need to add new quickcheck tests, verify that remove `Serialize` from `TreeEntry` is okay.

Reviewed By: kulshrax

Differential Revision: D23457777

fbshipit-source-id: aa94ed7aa81b41924eba4a8bd1bdc2c737365b77
2020-10-12 14:05:23 -07:00
svcscm
5ef7c0f6e3 Updating submodules
Summary:
GitHub commits:

f548a2a03c
84c8210cd0

Reviewed By: wittgenst

fbshipit-source-id: 00359631895222d0494c4151328c48634465d719
2020-10-12 12:17:13 -07:00
Alex Hornby
6ed216b54b mononoke: make packblob PutBehaviour aware
Summary: Make packblob PutBehaviour aware

Reviewed By: StanislavGlebik

Differential Revision: D24109291

fbshipit-source-id: 01c4461feef2d84ec1e68703689234de94a3aec5
2020-10-12 12:12:21 -07:00
Alex Hornby
525f206b8d mononoke: make chaosblob PutBehaviour aware
Summary: Make chaosblob PutBehaviour aware

Reviewed By: farnz

Differential Revision: D24109297

fbshipit-source-id: 9b43262f00442bb5e70adf3c220795d23044dbdf
2020-10-12 12:12:21 -07:00
Jun Wu
a35f8765c0 lock: print actual lockinfo on error
Summary:
Change

  abort: repository repo: timed out waiting for lock held by <lockinfo ...>

to:

  abort: repository repo: timed out waiting for lock held by process '842210' on host 'hostname'

Reviewed By: singhsrb

Differential Revision: D24214462

fbshipit-source-id: 65056ebb9764651b2f0126061fafdfdefaa4e9c6
2020-10-12 11:22:20 -07:00
Lukasz Piatkowski
2f2fd50a90 pin rustc to 1.44 (#66)
Summary:
This fixes build errors on GitHub.

Pull Request resolved: https://github.com/facebookexperimental/eden/pull/66

Reviewed By: jsgf

Differential Revision: D24254833

Pulled By: lukaspiatkowski

fbshipit-source-id: 85cd791f0ef86cc791885fe5cfcbee3a9b88af39
2020-10-12 11:13:24 -07:00
Xavier Deguillard
964e0106c9 tests: fix test-import-t.py
Summary: The rev numbers are almost gone, remove them from the test.

Reviewed By: sfilipco

Differential Revision: D24255156

fbshipit-source-id: 5cbc4a71c2d3f773c5b474d1edce84ceceb50bf9
2020-10-12 10:18:45 -07:00
svcscm
609f02c79f Updating submodules
Summary:
GitHub commits:

69a981054b

Reviewed By: wittgenst

fbshipit-source-id: abc525fed05d77c6c199acda2d62db6d8a9b9966
2020-10-12 09:40:54 -07:00
Alex Hornby
a80176f699 mononoke: make readonlyblob PutBehaviour aware
Summary: Update readonlyblob to be PutBehaviour aware

Reviewed By: StanislavGlebik

Differential Revision: D24109290

fbshipit-source-id: 2108c6969a4c15243efbca10daf64771e72a969b
2020-10-12 07:12:11 -07:00
Alex Hornby
6e2dfa2dd8 mononoke: add sqlblob to the common blobstore tests
Summary: Added sqlblob to the common blobstore tests to make sure it doesn't diverge from expectations for other stores.

Reviewed By: StanislavGlebik

Differential Revision: D24079254

fbshipit-source-id: 49ef1c372171a1594ba298c66d3473ef682d24cc
2020-10-12 07:12:10 -07:00
Alex Hornby
31b900bc08 mononoke: make CountedBlobstoreOps put behaviour aware
Summary:
Add CountedBlobstoreOps so that blobstore layers that need BlobstoreOps can still use counting

This unblocks adding sqlblob to blobstore-test in next diff in stack

Reviewed By: farnz

Differential Revision: D24079256

fbshipit-source-id: 6a6505aff8c8405353a1f10d79f6e6e08911228a
2020-10-12 07:12:10 -07:00
Alex Hornby
60a588aa87 mononoke: make prefixblob put behaviour aware
Summary: Add BlobstorePutOps so that blobstore layers that need BlobstorePutOps can still use PrefixBlob as a wrapper.

Reviewed By: farnz

Differential Revision: D24109298

fbshipit-source-id: 710571e6c30fa8a432d463eedfab5fcc0389baa3
2020-10-12 07:12:10 -07:00
Alex Hornby
48900ae545 mononoke: predicate based PutBehaviour logic to manifoldblob
Summary:
Add predicate based PutBehaviour logic to manifoldblob.

This will prevent overwrites of keys when in IfAbsent mode, and will generate useful logging in OverwriteAndLog and IsAbsent mode.

This change factors our part of the put logic to put_check_conflict, so that it can use re-used from each of the PutBehaviour cases.

Reviewed By: StanislavGlebik

Differential Revision: D24021170

fbshipit-source-id: d2e71afadada3d5e661634449108e6c9f8dc5907
2020-10-12 07:12:10 -07:00
svcscm
48757b8741 Updating submodules
Summary:
GitHub commits:

18d367f428

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: a7d7843fd1f27b99afa6ac18620a096c74dbc1c6
2020-10-12 07:12:10 -07:00
svcscm
4802486507 Updating submodules
Summary:
GitHub commits:

41a4e6e2d5

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 057bdf7830bb9e0bee84150cfaeb285dfbc61460
2020-10-12 03:51:01 -07:00
Stanislau Hlebik
edec9b9ab9 mononoke: remove Preserved state
Summary:
We don't have any Preserved entries anymore - now all preserved entries will be
rewritten with "noop" mapping.

This diff removes it completely

Reviewed By: mitrandir77, ikostia

Differential Revision: D24173538

fbshipit-source-id: f2d6238633cea8dc3c06f2e607b2abd76edfca6b
2020-10-12 03:43:14 -07:00
Stanislau Hlebik
e21d37ac92 mononoke: make verify-bookmarks messages a bit easier to read
Summary: source and target were quite confusing. Let's write the actual names instead

Reviewed By: mitrandir77

Differential Revision: D24197071

fbshipit-source-id: ee10fdb9b17fab739b69922c7f74cd50a1aa4884
2020-10-12 02:37:46 -07:00
Stanislau Hlebik
5dc9a65c28 mononoke: make blobimport warmer less spammy
Summary: Let's log it once a minute

Reviewed By: krallin

Differential Revision: D24241063

fbshipit-source-id: fa5237378d7874549891e4a587037c0eed4ab93b
2020-10-12 01:38:20 -07:00
svcscm
8f81716eb9 Updating submodules
Summary:
GitHub commits:

03120cb5ec
4c52ccc393
3e4a2a002a
6e99c040e9

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: c7e784d0d4862cf33b96cb37c3ea9335afb48d71
2020-10-12 01:38:20 -07:00
svcscm
8a82078b3e Updating submodules
Summary:
GitHub commits:

1c79071794

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: d6b111dcdd0bf9154913021c4acb9db93ebd3994
2020-10-11 20:22:30 -07:00
svcscm
bf48aaa3a9 Updating submodules
Summary:
GitHub commits:

826cc0dcfd
eb490b2c9f
488e25a863

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: a5342e45635419353160143863b77c107e9b6fb5
2020-10-11 03:23:40 -07:00
svcscm
1d3ce08262 Updating submodules
Summary:
GitHub commits:

cd7a9cb62d

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 9a38258dc5553327d3aeeb53fc0a017f53ef3275
2020-10-10 02:33:08 -07:00
Stanislau Hlebik
22ccf7d858 mononoke: remove tests for preserved state
Summary: This state is going to be removed soon, so no need for tests anymore

Reviewed By: mitrandir77

Differential Revision: D24221363

fbshipit-source-id: 19dce04549ccbfe59255463a73e56c70f1c8bc4d
2020-10-10 00:19:47 -07:00
Stanislau Hlebik
eeaedb676a mononoke: remove unsafe_preserve_commit from cross_repo_sync_test_utils
Summary: Just as with the previous diff, let's remove it from cross_repo_sync_test_utisl

Reviewed By: mitrandir77

Differential Revision: D24220618

fbshipit-source-id: 95c5ddc955f720101f6576b34e9787435b6deb4c
2020-10-10 00:19:47 -07:00
svcscm
c3310750ed Updating submodules
Summary:
GitHub commits:

4bbebbf9c8

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: e1be4ade062978ae9303f7d352c7067e9832d8a4
2020-10-10 00:19:47 -07:00
svcscm
2299ed8732 Updating submodules
Summary:
GitHub commits:

1902d0ffba
7151527728
4d9664193c
af1d9ef5b9

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: 289bb393b6cbc531decf3a9157c06fa91f221e2f
2020-10-09 18:29:29 -07:00
Durham Goode
d10157794d eden: add flush command
Summary:
This will allow Eden to control what data is in Mercurial's memory and
what is on disk. This will let it persist the hg_import_helper process longer,
and prevent slow startup times when needing to restart it.

Reviewed By: xavierd

Differential Revision: D24231131

fbshipit-source-id: a4f743740b44957e8d2dd93f07e9831eadfee7ab
2020-10-09 18:18:00 -07:00
svcscm
781af031a1 Updating submodules
Summary:
GitHub commits:

55c72d8155
ef5973059b
12b78e40bd
5b540eabd5
75ea7ce6f8

Reviewed By: 2d2d2d2d2d

fbshipit-source-id: e57bb0535a0e87b47b3f8620bff6854a5f268659
2020-10-09 17:30:39 -07:00
Chad Austin
f11c8893c0 always run hg in integration tests with --traceback
Summary:
I observed an integration test fail because Mercurial aborted with an
error about not handling EINTR, but it had no traceback. Always run
Mercurial with --traceback to try to debug these.

Reviewed By: xavierd

Differential Revision: D24204308

fbshipit-source-id: 44960bc645e5f97f61761e511b372328430fcda7
2020-10-09 17:18:12 -07:00
Durham Goode
d4f21a8ec3 atomicfiles: remove fsync from atomic file close
Summary:
This was added in D16078908 (1bc6ecf8fe). It turns out fsync followed by a hardlink
on btrfs results in very slow hardlink performance (100-600ms). Since fewer and
fewer of our files use this atomic write code path and since this affects almost
every hg write command, let's roll this back.

This will increase the chance of data loss during a hard reboot, but commit
cloud is good enough to allow recovering from that in almost every situation.

Reviewed By: sfilipco

Differential Revision: D24230056

fbshipit-source-id: aae1a5612eda5f62bb5ec1442b1312ed45c42786
2020-10-09 16:41:04 -07:00
Chad Austin
9f651a8f28 Remove dead includes in eden
Reviewed By: simpkins

Differential Revision: D23864216

fbshipit-source-id: e1e3803ee47398639bf3cf85e3347d54ecaff424
2020-10-09 15:25:47 -07:00