You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Aaron Opfer (Jira)" <ji...@apache.org> on 2019/09/23 16:01:00 UTC

[jira] [Created] (ARROW-6667) [Python] Avoid Reference Cycles in pyarrow.parquet

Aaron Opfer created ARROW-6667:
----------------------------------

             Summary: [Python] Avoid Reference Cycles in pyarrow.parquet
                 Key: ARROW-6667
                 URL: https://issues.apache.org/jira/browse/ARROW-6667
             Project: Apache Arrow
          Issue Type: Improvement
            Reporter: Aaron Opfer
         Attachments: cycle1_build_nested_path.PNG, cycle2_open_dataset.PNG

Reference cycles appear in two places inside pyarrow.parquet which causes these objects to have much longer lifetimes than necessary:

 

{{_build_nested_path}} has a reference cycle because the closured function refers to the parent cell which also refers to the closured function again (objgraph shown in attachment)

{{open_dataset_file}} is partialed with self inside the {{ParquetFile}} class (objgraph shown in attachment).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)