You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Andre Kohn (Jira)" <ji...@apache.org> on 2021/05/03 09:10:00 UTC

[jira] [Created] (ARROW-12629) [C++] Configurable read-ahead in CSV and JSON readers

Andre Kohn created ARROW-12629:
----------------------------------

             Summary: [C++] Configurable read-ahead in CSV and JSON readers
                 Key: ARROW-12629
                 URL: https://issues.apache.org/jira/browse/ARROW-12629
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Andre Kohn


We are compiling Arrow C++ to WebAssembly and ran into the following issue with the CSV reader:

Browsers became very picky about the use of SharedArrayBuffers after the events around Spectre and Meltdown.

As a result, you have to compile Arrow to WebAssembly without threads if you don't want to run your website with very strict cross-origin isolation.

Unfortunately, the CSV reader seems to always spawn a thread for the read-ahead in both, the SerialStreamingReader and the SerialTableReader independent of whether use_threads is set.

Right now, this effectively means that you cannot use the CSV (and JSON) readers in threadless WebAssembly builds.

 

[https://github.com/apache/arrow/blob/4363fefe46dc357a9013f0f4bcdc235e1e2e8124/cpp/src/arrow/csv/reader.cc#L839]

[https://github.com/apache/arrow/blob/4363fefe46dc357a9013f0f4bcdc235e1e2e8124/cpp/src/arrow/csv/reader.cc#L913]

 

 



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