Skip to content

Prove that Badger loses data #570

@manishrjain

Description

@manishrjain

The Challenge

We are always looking to proactively fix issues in our software. If you can prove that Badger loses data under certain conditions and provide a set of instructions so we can reproduce the data loss at our end, we'll pay you $1000 $3000 as a cash reward.

Background

This got triggered by a casual comment from a user that

Badger was designed for fast writes that aren't durable.

That's so outrageously false (Badger is absolutely designed for durability), that I offered them money if they can prove that Badger looses data. This issue is an extension of that challenge to the wider community. It's a win/win. You find an issue in Badger and get paid (and maybe we'll throw in a t-shirt), and we get to improve our software.

Conditions

  • Badger must be run with SyncWrites=true enabled (the default). Badger only promises durability of successful writes.
  • A valid data loss bug would use public APIs of Badger and use them in the correct way. Creating unwanted behavior by using internal functions, or using the public APIs in an incorrect way, can still be useful to make Badger more robust, but won't constitute a valid bug for this challenge.
  • The steps must be reproducible by the Dgraph team. If we can't reproduce them at our end (even if you can at your end), we won't consider it a valid data loss issue.
  • The setup must be general enough. If it requires a supercomputer or some crazy RAID array to run, we won't be able to reproduce the issue.
  • If you have a reproducible data loss bug, don't reply here. File a separate Github issue with a link to this issue and we'll evaluate it.
  • We try to keep things simple and intend to pay the same amount for valid issues. However, if the bug only causes Badger to not return data, and the data is fully recoverable by an easy fix to the code -- that's technically not a data loss (See Badger unable to return data after value log GC #578). For those bugs, we reserve the right to pay less than the above mentioned bounty amount. The amount for these bugs will be decided based an internal team review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bounty/datalossThese issues are related to the Data Loss Bounty Programstatus/needs-attentionThis issue needs more eyes on it, more investigation might be required before accepting/rejecting it

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions