[ https://issues.apache.org/jira/browse/MESOS-10216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17344916#comment-17344916 ]
Charles Natali commented on MESOS-10216: ---------------------------------------- OK I think the code in question is https://github.com/apache/mesos/blob/b8bfef6db158646df9fea6968bc75e88c32c3e21/src/log/leveldb.cpp#L101 The code indeed looks like it could suffer from overflow, however I'm not familiar with this part of the code base so I'll spend some time to understand exactly if it can be a problem in practice. > Replicated log key encoding overflows into negative values > ---------------------------------------------------------- > > 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 > Priority: Major > > 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)