[ 
https://issues.apache.org/jira/browse/FLINK-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15982763#comment-15982763
 ] 

mingleizhang edited comment on FLINK-6381 at 4/25/17 11:58 AM:
---------------------------------------------------------------

It seems that currently there are two places should not employ the 
{{synchronized}} to modify {{pendingFilesPerCheckpoint}}, as it is only 
restored state object for checkpoint and no sharing of the data-structure 
between different threads. code in  {{BucketingSink}} as follow. should  {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.


was (Author: mingleizhang):
It seems that currently there are two places should not employ the 
{{synchronized}} to modify {{pendingFilesPerCheckpoint}}, as it is only 
restored state object for checkpoint and no sharing of the data-structure 
between different threads. code in  {{BucketingSink}} as follow. should  {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. Very appreciate.

> Unnecessary synchronizing object in BucketingSink
> -------------------------------------------------
>
>                 Key: FLINK-6381
>                 URL: https://issues.apache.org/jira/browse/FLINK-6381
>             Project: Flink
>          Issue Type: Bug
>          Components: filesystem-connector
>            Reporter: mingleizhang
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to