Skip to content

String sqllogictest error when running the test with complete #12752

Closed

Description

@jayzhan211

Describe the bug

There is error when running stl test with complete

Execution error: Error completing "string/string_view.slt": failed to rename file from test_files/string/string_query.slt.part.temp to test_files/string/./string_query.slt.part
Execution error: Error completing "string/large_string.slt": failed to rename file from test_files/string/string_query.slt.part.temp to test_files/string/./string_query.slt.part
Execution error: Error completing "string/dictionary_utf8.slt": failed to rename file from test_files/string/string_query.slt.part.temp to test_files/string/./string_query.slt.part
Error: Execution("3 failures")

To Reproduce

Run cargo test --test sqllogictests -- --complete

Expected behavior

Smoothly complete the test

Additional context

No response

Activity

  1. changed the title [-]String sqllogictest error when running with `complete`[/-] [+]String sqllogictest error when running the test with `complete`[/+] on Oct 4, 2024
  2. leonzchang commented on Oct 6, 2024

    @leonzchang

    Related to #12618

  3. findepi commented on Oct 28, 2024

    @findepi
    Member

    A workaround is to --complete only individual tests, which is obviously cumbersome.

  4. Omega359 commented on Jan 12, 2025

    @Omega359
    Contributor

    I believe this ticket can be closed with the fix in #13142. I didn't encounter this with the sqlite tests. @jayzhan211

  5. berkaysynnada commented on Jan 12, 2025

    @berkaysynnada
    Contributor

    cargo test --test sqllogictests -- --complete is still generating the same error

  6. Omega359 commented on Jan 12, 2025

    @Omega359
    Contributor

    Ah, yes, my mistake. it's the include of string_query.slt.part that seems to be causing the issues.

  7. logan-keede commented on Jan 23, 2025

    @logan-keede
    Contributor

    Update:- it is 4 failures as of commit 44cf77f (DF44)

    Completed in 8 seconds                                                                                                                                                             \
    Execution error: Error completing "join.slt": failed to rename file from test_files/join.slt.temp to test_files/join.slt: No such file or directory (os error 2)
    Execution error: Error completing "string/string.slt": failed to rename file from test_files/string/init_data.slt.part.temp to test_files/string/./init_data.slt.part: No such file or directory (os error 2)
    Execution error: Error completing "string/string_view.slt": failed to rename file from test_files/string/string_query.slt.part.temp to test_files/string/./string_query.slt.part: No such file or directory (os error 2)
    Execution error: Error completing "string/dictionary_utf8.slt": failed to rename file from test_files/string/string_query.slt.part.temp to test_files/string/./string_query.slt.part: No such file or directory (os error 2)
    Error: Execution("4 failures")
    error: test failed, to rerun pass `-p datafusion-sqllogictest --test sqllogictests`
    

    Analysis

    1. Error completing "join.slt" seems to be stemming fro the fact that datafusion/sqllogictest/test_files/join_disable_repartition_joins.slt seems to be including it but it is not a part file so it fails to do so.
    2. rest of them occur because sqllogictest run these tests asynchronously and multiple files try to include string_query.slt.part and init_data.slt.part which result in them renaming them to clashing names and then one of them delete a temp file while other tries to find it. (I just checked it runs perfectly on one thread but takes a whole minute)

    Possible solution

    1. rename join.slt to join.slt.part
    2. we can just leave it as is and run the in 1 thread when really needed
    3. or separate files that need to be run in synchronous manner
    4. or allow redundant code and eliminate include statement
    5. or merge them into one file somehow

    cc @jayzhan211 @Omega359 @berkaysynnada

  8. logan-keede commented on Jan 23, 2025

    @logan-keede
    Contributor

    take
    PS: it does not seem like I am getting auto-assigned.

  9. Omega359 commented on Jan 23, 2025

    @Omega359
    Contributor

    My first though was to just fix sqllogictest-rs to include a random part in the .temp name such that multiple threads would each have their own copy of the included file.

  10. logan-keede commented on Jan 23, 2025

    @logan-keede
    Contributor

    My first though was to just fix sqllogictest-rs to include a random part in the .temp name such that multiple threads would each have their own copy of the included file.

    That should work, I will look into that approach.

  11. alamb commented on Jan 30, 2025

    @alamb
    Contributor

    @logan-keede fixed this upstream last week: risinglightdb/sqllogictest-rs#249

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions