Skip to content

[C++][Dataset] DatasetWriter deadlocks on concurrent WriteRecordBatch #47124

@gitmodimo

Description

@gitmodimo

Describe the bug, including details regarding any error messages, version, and platform.

I encountered the problem in acero pipeline first, however i narrowed it down to DatasetWriter getting stuck in pause while concurrent calls to WriteRecordBatch are executed.

The locked state is due to rows_in_flight_throttle.backpressure_.current_value becomes huge value(unsigned negative).

Image

This is caused by Release being called while current_value_==0

I created testcase that reproduces the problem fairly often.

Component(s)

C++

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions