Skip to content

Deadlock during index creation when parallel workers are used #7783

Open
@ilya071294

Description

@ilya071294

Steps to reproduce:

  1. Set parameters in firebird.conf:
MaxParallelWorkers = 8
ParallelWorkers = 8
  1. Execute the script in isql:
    index_create_deadlock.txt

As a result 7 out of 8 threads are waiting for a SR lock on the t1_idx1 index. Besides that, another interesting thing is that the main thread (which coordinates worker threads) is waiting for this lock too, while one of the worker threads has already done its job. I guess there is a problem in getWorkItem(). The worker thread sometimes is fast enough to get an item with the main attachment (where m_ownAttach is false) before the main thread. I'm not sure that's the way it's supposed to work.

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