Commit Graph

5 Commits

Author SHA1 Message Date
Jun Wu
e48079180f indexedlog: fix a typo in benchmarks
Summary:
This belongs to D20149376. However buck test does not include benchmarks so it
was not noticed.

Reviewed By: DurhamG

Differential Revision: D20505097

fbshipit-source-id: 24daeb17b68808f8e69e18452ab2cf26c7aa10a7
2020-03-18 09:30:31 -07:00
Jun Wu
6f4bf325d5 indexedlog: write Checksum inline with Log
Summary:
Enhance the index format: The Root entry can be followed by an optional
Checksum entry which replaces the need of ChecksumTable.

The format is backwards compatible since the old format will be just
treated as "there is no ChecksumTable", and the ChecksumTable will be built on
the next "flush".

This change is non-trivial. But the tests are pretty strong - the bitflip test
alone covered a lot of issues, and the dump of Index content helps a lot too.

For the index itself without ".sum", checksum, this change is bi-directional
compatible:
1. New code reading old file will just think the old file does not have the
   checksum entry, similar to new code having checksum disabled.
2. Old code will think the root+checksum slice is the "root" entry. Parsing
   the root entry is fine since it does not complain about unknown data at the
   end.

However, this change dropped the logic updating ".sum" files. That part is an
issue blocking old clients from reading new data.

Reviewed By: DurhamG

Differential Revision: D19850741

fbshipit-source-id: 551a45cd5422f1fb4c5b08e3b207a2ffe3d93dea
2020-02-28 09:23:55 -08:00
Jun Wu
dd79207c32 indexedlog: fix benchmarks
Summary: The `rand` APIs had changed. Update the benchmark code accordingly.

Reviewed By: sfilipco

Differential Revision: D19320122

fbshipit-source-id: 44c376b17afea52ecc548d79b44cbb50f7e9e567
2020-01-08 18:11:37 -08:00
Jun Wu
343f79cf37 indexedlog: move parameters of index.insert_advanced to a structure
Summary:
This just moves parameters to a structure without changing the actual logic.
This is to make it possible to add a "remove" API to index.

Some variables are prefixed with `old_` or `new_` to make the code more
consistent.

Reviewed By: sfilipco

Differential Revision: D18825297

fbshipit-source-id: 27bd8438e66125c906ebf2044d6ff978b99c5986
2019-12-22 11:27:30 -08:00
Adam Simpkins
ab3a7cb21f Move fb-mercurial sources into an eden/scm subdirectory.
Summary:
In preparation for merging fb-mercurial sources to the Eden repository,
move everything from the top-level directory into an `eden/scm`
subdirectory.
2019-11-13 16:04:48 -08:00