Gaurav598 commented on PR #40625: URL: https://github.com/apache/beam/pull/40625#issuecomment-6226176367
I compared `ReadGbqTransformTests.test_unsupported_callable` on the PR base (`1a3f101`) and the previous head (`8e46db4`) in separate worktrees under the same Python 3.14.3 environment. With `google-apitools` 0.5.35 installed, the exact test passes on both (1/1 each). When I block that optional import, `bigquery_tools.TableReference` becomes `None` on both and the exact test fails on both with the reported `isinstance() arg 2 must be a type` assertion mismatch. The direct traceback is `_CustomBigQuerySource.__init__` → `parse_table_reference` → `isinstance(table, TableReference)`. It fails before the callable-specific error check. Instrumenting the PR head showed zero calls to the new forward-reference resolver on this path. The cited CI log also warns that the BigQuery client is unavailable and skips tests because `google-apitools is not installed`. This is pre-existing behavior under the missing optional dependency, so I left BigQuery production code and CI unchanged. I pushed `570ddb3` to mark two intentionally unresolved type names in the new tests with Beam’s existing `# noqa: F821` convention. On the updated head, the decorator, typed-pipeline, native type-conversion, and exact DataFrame test selection passed (159 passed, 2 skipped) with `BundleBasedDirectRunner`; Ruff, YAPF, compilation, and diff checks passed. Local validation was on macOS arm64/Python 3.14; the new CI run is still in progress. I recommend handling the BigQuery test’s behavior without the GCP extra separately from #19954. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
