Skip to content

FoundationDBTx restart() race condition #37

@twilmes

Description

@twilmes

getMultiRange (which is synchronized) is being called which is locking the transaction. Then, a transaction reset is being triggered, likely by the time limit being exceeded by the FDB driver, on that same transaction which triggers a call to restart(), which is also synchronized. It can't get the lock so it's stuck and then that blocks everything.

Steps to reproduce:

mvn -Dtest=FoundationDBOLAPTest clean package test

This thread dump demonstrates the issue on lines 23 and 502.

jgfdb-stack-dump.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions