Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GLUTEN-6487][VL] ColumnarBatchOutIterator should be interruptible iterator #6488

Closed
wants to merge 2 commits into from

Conversation

WangGuangxin
Copy link
Contributor

What changes were proposed in this pull request?

The ColumnarBatchOutIterator should check whether the task is interrupted, so that speculation tasks can end as soon as possible.
Since when Thread.interrupt() is called and it's in a JNI call, the InterruptedException is not thrown, then we need to check the interrupt status.

A case in our env is the speculation task run for 2 hours, but in fact, the task with attempt id = 0 has already fininshed 1.5 hours ago.
image

(Fixes: #6487)

How was this patch tested?

Mannually

Copy link

#6487

Copy link

Run Gluten Clickhouse CI

Copy link

Run Gluten Clickhouse CI

1 similar comment
Copy link

Run Gluten Clickhouse CI

Copy link

Run Gluten Clickhouse CI

@zhztheplayer
Copy link
Member

Would you please help check if this API can be used to acheive the same? Thanks.

@WangGuangxin
Copy link
Contributor Author

Would you please help check if this API can be used to acheive the same? Thanks.

@zhztheplayer I double checked that it's works now, the root cause for my case is because a single next() call didn't return for more than 1 hour. Seems no there is no elegant way to interrupt a long running JNI call

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ColumnarBatchOutIterator should be interruptible iterator
2 participants