Skip to content

Ensure that input validation between API and Apply is consistent #13617

@serathius

Description

@serathius

Recent fixes for bugs detected by fuzzing has resulted in improved validation for Apply, for example #13602. Errors during Apply result in panic as raft is unable to progress. Fuzz tests detect those panics within apply function, however this not the only place that fix should be fixed.

Detecting invalid raft message during apply is very late stage. Such messages should be rejected on much earlier stage. Recent fixes has showed that we have no good mechanism to ensure consistency validating messages.

Goal: Ensure that API rejects all requests that would be rejected during apply or caused panic.

Ideas for implementation:

  • We could write a fuzzer test that will generate a lot of randomly filled structs representing API rpc. With rpcs we can push them through both validators and check if they result any inconsistencies.

cc @ptabor

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions