Jim Meyering d2a92c13bc avoid returning a number-of-active-keys estimate of nearly 2^64
Summary:
If accumulated_num_non_deletions_ were ever smaller than
accumulated_num_deletions_, the computation of
"accumulated_num_non_deletions_ - accumulated_num_deletions_"
would result in a logically "negative" value, but since
the two operands are unsigned (uint64_t), the result corresponding
to e.g., -1 would 2^64-1.

Instead, return 0 in that case.

Test Plan:
  - ensure "make check" still passes
  - temporarily add an "abort();" call in the new "if"-block, and
      observe that it fails in some test cases.  However, note that
      this case is triggered only when the two numbers are equal.
      Thus, no test case triggers the erroneous behavior this
      change is designed to avoid. If anyone can construct a
      scenario in which that bug would be triggered, I'll be
      happy to add a test case.

Reviewers: ljin, igor, rven, igor.sugak, yhchiang, sdong

Reviewed By: sdong

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D36489
2015-04-03 14:46:35 -07:00
..
2015-03-17 14:08:00 -07:00
2015-03-17 14:08:00 -07:00
2015-03-17 14:08:00 -07:00
2015-02-26 11:28:41 -08:00
2015-03-17 14:08:00 -07:00
2015-03-17 14:08:00 -07:00
2015-01-26 11:48:07 -08:00
2014-01-27 14:49:10 -08:00
2015-03-17 14:08:00 -07:00
2015-02-18 11:49:31 -08:00
2015-01-13 12:27:28 -08:00
2015-02-26 11:28:41 -08:00
2015-03-30 16:05:35 -04:00
2015-03-17 14:08:00 -07:00
2015-02-26 11:28:41 -08:00
2014-11-06 11:14:28 -08:00
2015-02-06 08:44:30 -08:00
2015-03-17 14:08:00 -07:00
2014-10-31 11:59:54 -07:00
2015-02-06 08:44:30 -08:00
2015-02-26 11:28:41 -08:00
2014-11-10 17:39:38 -05:00
2014-09-13 14:14:10 -07:00
2014-09-12 16:23:58 -07:00