[
https://issues.apache.org/jira/browse/FLINK-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
mingleizhang updated FLINK-6381:
--------------------------------
Description:
It seems that currently there are two places should not employ the
{{synchronized}} to describe {{pendingFilesPerCheckpoint}}, as it is only
restored state object for checkpoint and no sharing of the data-structure
between different threads, as follows. {code} private void
handleRestoredRollingSinkState(RollingSink.BucketState restoredState) {
...
synchronized (restoredState.pendingFilesPerCheckpoint) {
restoredState.pendingFilesPerCheckpoint.clear();
}
...
}{code} and {code}private void handleRestoredBucketState(State<T>
restoredState) {
...
synchronized (bucketState.pendingFilesPerCheckpoint) {
bucketState.pendingFilesPerCheckpoint.clear();
}
} {code}
Hi, [~kkl0u]. Is there any other stuff shoud add here ? Would you mind have a
more thorough look in this class ?
was:
It seems that currently there are two places should not employ the
{{synchronized}} to describe {{pendingFilesPerCheckpoint}}, as it is only
restored state object for checkpoint and no sharing of the data-structure
between different threads, as follows. {code} private void
handleRestoredRollingSinkState(RollingSink.BucketState restoredState) {
...
synchronized (restoredState.pendingFilesPerCheckpoint) {
restoredState.pendingFilesPerCheckpoint.clear();
}
...
}{code} and {code}private void handleRestoredBucketState(State<T>
restoredState) {
...
synchronized (bucketState.pendingFilesPerCheckpoint) {
bucketState.pendingFilesPerCheckpoint.clear();
}
} {code}
Hi, [~kkl0u]. Is there any other stuff shoud add here ? Would you mind have a
more thorough look in this class ? Thanks go out to you. I am very appreciate
it.
> Unnecessary synchronizing object in BucketingSink
> -------------------------------------------------
>
> Key: FLINK-6381
> URL: https://issues.apache.org/jira/browse/FLINK-6381
> Project: Flink
> Issue Type: Improvement
> Components: filesystem-connector
> Reporter: mingleizhang
> Assignee: mingleizhang
>
> It seems that currently there are two places should not employ the
> {{synchronized}} to describe {{pendingFilesPerCheckpoint}}, as it is only
> restored state object for checkpoint and no sharing of the data-structure
> between different threads, as follows. {code} private void
> handleRestoredRollingSinkState(RollingSink.BucketState restoredState) {
> ...
> synchronized (restoredState.pendingFilesPerCheckpoint) {
> restoredState.pendingFilesPerCheckpoint.clear();
> }
> ...
> }{code} and {code}private void handleRestoredBucketState(State<T>
> restoredState) {
> ...
> synchronized (bucketState.pendingFilesPerCheckpoint) {
> bucketState.pendingFilesPerCheckpoint.clear();
> }
> } {code}
> Hi, [~kkl0u]. Is there any other stuff shoud add here ? Would you mind have a
> more thorough look in this class ?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)