apache / arrow

Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics
https://arrow.apache.org/
Apache License 2.0
14.69k stars 3.56k forks source link

[Benchmarking][CI] Conbench reports are failing, it fails to install 'tpch' on R benchmark tests #44883

Open raulcd opened 5 days ago

raulcd commented 5 days ago

Describe the bug, including details regarding any error messages, version, and platform.

The conbench reports have started to fail on main for the last couple of days with the following error:


                    ['',
 'Attaching package: ‘arrowbench’',
 '',
 'The following object is masked from ‘package:base’:',
 '',
 '    %||%',
 '',
 'Error in `dbSendQuery()`:',
 '! rapi_prepare: Failed to execute statement INSTALL tpch; LOAD tpch;',
 "Error: IO Error: Failed to install 'tpch'",
 "The file was built for DuckDB version 'v1.1.3', but we can only load "
 "extensions built for DuckDB version '19864453f7'.",
 'Backtrace:',
 '     ▆',
 '  1. ├─arrowbench::run_bm(...)',
 '  2. │ ├─withr::with_options(list(arrow.use_altrep = FALSE), ctx <- '
 'bm$setup(...))',
 '  3. │ │ └─base::force(code)',
 '  4. │ └─bm$setup(...)',
 '  5. │   ├─arrowbench::BenchEnvironment(...)',
 '  6. │   │ └─base::list2env(list(...))',
 '  7. │   │   └─base::new.env(hash = hash, parent = parent, size = size)',
 '  8. │   └─arrowbench::get_input_func(...)',
 '  9. │     └─arrowbench::ensure_source("tpch", scale_factor = scale_factor)',
 ' 10. │       └─known$locator(...)',
 ' 11. │         └─arrowbench:::ensure_tpch(...)',
 ' 12. │           └─arrowbench::generate_tpch(scale_factor)',
 ' 13. │             └─arrowbench:::query_custom_duckdb(...)',
 ' 14. │               └─arrowbench:::ensure_custom_duckdb()',
 ' 15. │                 └─arrowbench:::install_duckdb_tpch()',
 ' 16. │                   ├─DBI::dbExecute(con, "INSTALL tpch; LOAD tpch;")',
 ' 17. │                   └─DBI::dbExecute(con, "INSTALL tpch; LOAD tpch;")',
 ' 18. │                     ├─DBI::dbSendStatement(conn, statement, ...)',
 ' 19. │                     └─DBI::dbSendStatement(conn, statement, ...)',
 ' 20. │                       ├─DBI::dbSendQuery(conn, statement, ...)',
 ' 21. │                       └─duckdb::dbSendQuery(conn, statement, ...)',
 ' 22. │                         └─duckdb (local) .local(conn, statement, ...)',
 ' 23. │                           '
 '└─duckdb:::rethrow_rapi_prepare(conn@conn_ref, statement)',
 ' 24. │                             ├─rlang::try_fetch(...)',
 ' 25. │                             │ ├─base::tryCatch(...)',
 ' 26. │                             │ │ └─base (local) tryCatchList(expr, '
 'classes, parentenv, handlers)',
 ' 27. │                             │ │   └─base (local) tryCatchOne(expr, '
 'names, parentenv, handlers[[1L]])',
 ' 28. │                             │ │     └─base (local) '
 'doTryCatch(return(expr), name, parentenv, handler)',
 ' 29. │                             │ └─base::withCallingHandlers(...)',
 ' 30. │                             └─duckdb:::rapi_prepare(conn, query)',
 ' 31. └─base::.handleSimpleError(...)',
 ' 32.   └─rlang (local) h(simpleError(msg, call))',
 ' 33.     └─handlers[[1L]](cnd)',
 ' 34.       └─duckdb:::rethrow_error_from_rapi(e, call)',
 ' 35.         └─rlang::abort(msg, call = call)',
 'Execution halted']

An example can be seen here: https://conbench.ursa.dev/benchmark-results/0673ffaf222d770e80003777230aa384/

Component(s)

Benchmarking, Continuous Integration

jonkeane commented 9 hours ago

I'll take a look and see if I can fix this up.