flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-8178) Introduce not threadsafe write only BufferBuilder
Date Tue, 12 Dec 2017 17:06:01 GMT

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

ASF GitHub Bot commented on FLINK-8178:
---------------------------------------

Github user NicoK commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5105#discussion_r156386302
  
    --- Diff: flink-runtime/src/test/java/org/apache/flink/runtime/io/network/partition/SpilledSubpartitionViewTest.java
---
    @@ -48,8 +47,7 @@
     
     	private static final IOManager IO_MANAGER = new IOManagerAsync();
     
    -	private static final TestInfiniteBufferProvider writerBufferPool =
    -		new TestInfiniteBufferProvider();
    +	private static final TestPooledBufferProvider writerBufferPool = new TestPooledBufferProvider(Integer.MAX_VALUE);
    --- End diff --
    
    From what I see, `TestPooledBufferProvider` keeps a queue of created buffers which is
never cleaned up. If we use this in the heap (as in the `RecordWriterTest`), we should be
fine since no remaining reference to the object will gc it. However, imho, this static member
cannot be gc'd and we should at least offer some `destroy()` method and call it once done
with the test.


> Introduce not threadsafe write only BufferBuilder
> -------------------------------------------------
>
>                 Key: FLINK-8178
>                 URL: https://issues.apache.org/jira/browse/FLINK-8178
>             Project: Flink
>          Issue Type: Improvement
>          Components: Network
>            Reporter: Piotr Nowojski
>            Assignee: Piotr Nowojski
>             Fix For: 1.5.0
>
>
> While Buffer class is used in multithreaded context it requires synchronisation. Now
it is miss-leading/unclear and suggesting that RecordSerializer should take into account synchronisation
of the Buffer that's holding. With NotThreadSafe BufferBuilder there would be clear separation
between single-threaded writing/creating a BufferBuilder and multithreaded Buffer handling/retaining/recycling.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message