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)

Reply via email to