Clone
Abdullah Alamoudi <bamousaa@gmail.com>
committed
on 21 Feb 18
[NO ISSUE][TXN] Prevent deadlock in Metadata transactions
- user model changes: no
- storage format changes: no
- interface changes: no

Det… Show more
[NO ISSUE][TXN] Prevent deadlock in Metadata transactions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Flushes in metadata datasets are triggerred by entity update

 logs, unlike regular transactions where flushes are triggerred

 by entity commit logs.

- Because entity update logs can be writting to disk before the

 operation completes, there is a chance that an operation that

 caused the component to be full exits after the log is flushed

 and so, a flush operation is not scheduled.

- This change proposes a simple fix. The fix is that metadata

 operation will also check if a flush is needed and will schedule

 one if needed.

Change-Id: I07a18840dc54fe052b7bd294595f816f6d8a4d2f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2413

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Show less

master + 3 more