[
https://issues.apache.org/jira/browse/ARROW-3256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wes McKinney updated ARROW-3256:
Description:
I added some assertions to the C++ library and found that the body length in
the file footer and the IPC message were different
{code}
##
JS producing, C++ consuming
##
==
Testing file
/home/travis/build/apache/arrow/integration/data/struct_example.json
==
-- Creating binary inputs
node --no-warnings /home/travis/build/apache/arrow/js/bin/json-to-arrow.js -a
/tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
-j /home/travis/build/apache/arrow/integration/data/struct_example.json
-- Validating file
/home/travis/build/apache/arrow/cpp-build/debug/json-integration-test
--integration
--arrow=/tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
--json=/home/travis/build/apache/arrow/integration/data/struct_example.json
--mode=VALIDATE
Command failed:
/home/travis/build/apache/arrow/cpp-build/debug/json-integration-test
--integration
--arrow=/tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
--json=/home/travis/build/apache/arrow/integration/data/struct_example.json
--mode=VALIDATE
With output:
--
/home/travis/build/apache/arrow/cpp/src/arrow/ipc/reader.cc:581 Check failed:
(message->body_length()) == (block.body_length)
{code}
I'm not sure what's wrong. I'll remove the assertions for now
was:
I added some assertions to the C++ library and found that the body length in
the file footer and the IPC message were different
{code}
##
JS producing, C++ consuming
##
==
Testing file
/home/travis/build/apache/arrow/integration/data/struct_example.json
==
-- Creating binary inputs
node --no-warnings /home/travis/build/apache/arrow/js/bin/json-to-arrow.js -a
/tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
-j /home/travis/build/apache/arrow/integration/data/struct_example.json
-- Validating file
/home/travis/build/apache/arrow/cpp-build/debug/json-integration-test
--integration
--arrow=/tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
--json=/home/travis/build/apache/arrow/integration/data/struct_example.json
--mode=VALIDATE
Command failed:
/home/travis/build/apache/arrow/cpp-build/debug/json-integration-test
--integration
--arrow=/tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
--json=/home/travis/build/apache/arrow/integration/data/struct_example.json
--mode=VALIDATE
With output:
--
/home/travis/build/apache/arrow/cpp/src/arrow/ipc/reader.cc:581 Check failed:
(message->body_length()) == (block.body_length)
{code}
It appears that the order of the lengths is flipped in
https://github.com/apache/arrow/blob/master/js/src/ipc/writer/binary.ts#L77
> [JS] File footer and message metadata is inconsistent
> -
>
> Key: ARROW-3256
> URL: https://issues.apache.org/jira/browse/ARROW-3256
> Project: Apache Arrow
> Issue Type: Bug
> Components: JavaScript
>Reporter: Wes McKinney
>Priority: Major
> Fix For: JS-0.4.0
>
>
> I added some assertions to the C++ library and found that the body length in
> the file footer and the IPC message were different
> {code}
> ##
> JS producing, C++ consuming
> ##
> ==
> Testing file
> /home/travis/build/apache/arrow/integration/data/struct_example.json
> ==
> -- Creating binary inputs
> node --no-warnings /home/travis/build/apache/arrow/js/bin/json-to-arrow.js -a
> /tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
> -j /home/travis/build/apache/arrow/integration/data/struct_example.json
> -- Validating file
> /home/travis/build/apache/arrow/cpp-build/debug/json-integration-test
> --integration
> --arrow=/tmp/tmplbm3vbwz/3d2269c960f148b6b94e5f881c0bf9ca_struct_example.json_to_arrow
> --json=/home/travis/build/apache/arrow/integration/data/struct_example.json
> --mode=VALIDATE
> Command failed:
> /home/travis/build/apache/arrow/cpp-build/debug/json-integration-test
> --integration
> --arrow=/tmp/tmplbm3vbwz/3d2269c960f148