-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[C++] exception caused by dataset_writer.cc:587: Check failed: (largest) != (nullptr) #38011
Comments
My local commit with changes described above: |
Thanks for your report. |
Seems this is because the writer would like to close a file, but all in-flight file has written zero rows...🤔 I can fix this if you're not willing to work on this |
Please fix it, I am not yet expert in arrow. |
I'll submit a fixing. I'm in National Day so maybe slow to reply |
This patch eliminates the problem of exception occurrence. |
If You submit a fix I will test it within my scope. |
#38030 I've submit a basic fixing here, will accept review and maybe working more after national holiday :-) |
…#38030) ### Rationale for this change `CloseLargestFile()` will failed to close when non of the file has written any rows. ### What changes are included in this PR? Change `CloseLargestFile()` to `TryCloseLargestFile()`, and not throw error when it cannot find a file that haven't write any rows. ### Are these changes tested? no ### Are there any user-facing changes? bugfix * Closes: #38011 Authored-by: mwish <maplewish117@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
… write (apache#38030) ### Rationale for this change `CloseLargestFile()` will failed to close when non of the file has written any rows. ### What changes are included in this PR? Change `CloseLargestFile()` to `TryCloseLargestFile()`, and not throw error when it cannot find a file that haven't write any rows. ### Are these changes tested? no ### Are there any user-facing changes? bugfix * Closes: apache#38011 Authored-by: mwish <maplewish117@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
… write (apache#38030) ### Rationale for this change `CloseLargestFile()` will failed to close when non of the file has written any rows. ### What changes are included in this PR? Change `CloseLargestFile()` to `TryCloseLargestFile()`, and not throw error when it cannot find a file that haven't write any rows. ### Are these changes tested? no ### Are there any user-facing changes? bugfix * Closes: apache#38011 Authored-by: mwish <maplewish117@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
… write (apache#38030) ### Rationale for this change `CloseLargestFile()` will failed to close when non of the file has written any rows. ### What changes are included in this PR? Change `CloseLargestFile()` to `TryCloseLargestFile()`, and not throw error when it cannot find a file that haven't write any rows. ### Are these changes tested? no ### Are there any user-facing changes? bugfix * Closes: apache#38011 Authored-by: mwish <maplewish117@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Describe the bug, including details regarding any error messages, version, and platform.
The exception is repeated every time and
can be triggered by e.g. modifying the example by modification of CreateExampleParquetHivePartitionedDataset() example in
arrow/cpp/examples/arrow/dataset_documentation_example.cc
by setting the recording parameters:
Output error message:
vcpkg\buildtrees\arrow\src\e-arrow-13-0a65b46298.clean\cpp\src\arrow\dataset\dataset_writer.cc:587: Check failed: (largest) != (nullptr)
Exception is triggered by DCHECK_NE(largest, nullptr) in CloseLargestFile() procedure in dataset_writter.cc.
The exception call indicates a synchronization problem when arrow is closing files and a limit on the number of open files is reached.
Component(s)
C++
The text was updated successfully, but these errors were encountered: