diff options
Diffstat (limited to 'changes')
-rw-r--r-- | changes/bug6538 | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/changes/bug6538 b/changes/bug6538 new file mode 100644 index 000000000..03c168b60 --- /dev/null +++ b/changes/bug6538 @@ -0,0 +1,16 @@ + o Minor bugfixes: + - Switch weighted node selection rule from using a list of doubles + to using a list of int64_t. This should make the process slightly + easier to debug and maintain. Needed for fix for bug 6538. + + o Security features: + - Switch to a completely time-invariant approach for picking nodes + weighted by bandwidth. Our old approach would run through the + part of the loop after it had made its choice slightly slower + than it ran through the part of the loop before it had made its + choice. Fix for bug 6538. + + o Code simplifications and refactoring: + - Move the core of our "choose a weighted element at random" logic + into its own function, and give it unit tests. Now the logic is + testable, and a little less fragile too. |