commit | 50b729904e4b4ed7964cd5f2ac8177bca5a5a72c | [log] [tgz] |
---|---|---|
author | Charles-Francois Natali <cf.natali@gmail.com> | Sun May 16 00:07:09 2021 +0100 |
committer | Andrei Sekretenko <asekretenko@users.noreply.github.com> | Wed Jun 02 11:51:21 2021 +0200 |
tree | 6df36283535c974791c13f9191447aa0f2ce5363 | |
parent | 9598db054e50f10d1ff1612741966f679caf441d [diff] |
Fixed a LevelDBStorage bug where positions would overflow. Positions were encoded with a width of 10, which limited the maximum position to 9'999'999'999. And actually the code suffered from overflow above INT32_MAX. In order to be backward compatible, we still encode positions up to 9'999'999'999 using a width of 10, however for positions above that, we switch to a width of 20 with the twist that we prepend 'A' in order to preserve lexicographic ordering. Here's what it looks like: 0000000000 ....... 9999999998 9999999999 A00000000010000000000 A00000000010000000001 The reason this works is because the only property which is required by the encoding function is that it is strictly monotonically increasing, i.e. if i < j, then encode(i) < encode(j) in lexicographic order. Closes #10216.
Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, Jenkins, Spark, Aurora, and other frameworks on a dynamically shared pool of nodes.
Visit us at mesos.apache.org.
Documentation is available in the docs/ directory. Additionally, a rendered HTML version can be found on the Mesos website's Documentation page.
Instructions are included on the Getting Started page.
Apache Mesos is licensed under the Apache License, Version 2.0.
For additional information, see the LICENSE and NOTICE files.