BBVA / qed

The scalable, auditable and high-performance tamper-evident log project
https://qed.readthedocs.io/
Apache License 2.0
94 stars 19 forks source link

Race condition in Ballon version #159

Closed gdiazlo closed 4 years ago

gdiazlo commented 4 years ago

The audit agents have discovered there is a race condition in balloon version.

When balloon is writing an operation, it increases the balloon version and then it locks the trees, to make the insertion. But if a read operation arrives before the write is finished, it will read an increased version, and fail the query.

That fail makes the server panic, aborting the pending operations.

We need to lock balloon in the write and read operations to protect the balloon version. Or we need another way to manage it.

gdiazlo commented 4 years ago

Closed by #161