You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "Liwei Lin (JIRA)" <ji...@apache.org> on 2016/01/17 10:21:39 UTC

[jira] [Created] (PARQUET-431) Make ParquetOutputFormat.memoryManager volatile

Liwei Lin created PARQUET-431:
---------------------------------

             Summary: Make ParquetOutputFormat.memoryManager volatile
                 Key: PARQUET-431
                 URL: https://issues.apache.org/jira/browse/PARQUET-431
             Project: Parquet
          Issue Type: Bug
          Components: parquet-mr
    Affects Versions: 1.8.0, 1.8.1
            Reporter: Liwei Lin
            Assignee: Liwei Lin
             Fix For: 1.9.0


Currently ParquetOutputFormat.getRecordWriter() contains an unsynchronized lazy initialization of the non-volatile static field *memoryManager*.

Because the compiler or processor may reorder instructions, threads are not guaranteed to see a completely initialized object, when ParquetOutputFormat.getRecordWriter() is called by multiple threads.

This ticket proposes to make *memoryManager* volatile to correct the problem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)