You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Ilya (Jira)" <ji...@apache.org> on 2021/03/25 21:39:00 UTC

[jira] [Created] (MESOS-10216) Replicated log key encoding

Ilya created MESOS-10216:
----------------------------

             Summary: Replicated log key encoding
                 Key: MESOS-10216
                 URL: https://issues.apache.org/jira/browse/MESOS-10216
             Project: Mesos
          Issue Type: Bug
          Components: replicated log
    Affects Versions: 1.11.0
            Reporter: Ilya


LevelDB keys used by {{LevelDBStorage}} are {{uint64_t}} log positions encoded as strings and padded with zeroes up to a certain fixed size. The {{encode()}} function is incorrect because it uses the {{%d}} formatter that expects an {{int}}. It also limits the key size to 10 digits which is OK for {{UINT32_MAX}} but isn't enough for {{UINT64_MAX}}.

Because of this the available key range is reduced, and key overflow can result in replica's {{METADATA}} record (position 0) being overwritten, which in turn may cause data loss.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)