{"record":{"id":"e26d657599baf18e","repo":"apache/beam","slug":"native-sinks-no-longer-implemented-falling-back-to-standard","errorCode":null,"errorMessage":"Native sinks no longer implemented; falling back to standard Beam sink.","messagePattern":"Native sinks no longer implemented; falling back to standard Beam sink\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"sdks/python/apache_beam/io/gcp/bigquery.py","lineNumber":1452,"sourceCode":"    return self\n\n  def __next__(self):\n    try:\n      return fastavro.schemaless_reader(self.bytes_reader, self.avro_schema)\n    except (StopIteration, EOFError):\n      self.read_rows_response = next(self.read_rows_iterator, None)\n      if self.read_rows_response is not None:\n        self.bytes_reader = io.BytesIO(\n            self.read_rows_response.avro_rows.serialized_binary_rows)\n        return fastavro.schemaless_reader(self.bytes_reader, self.avro_schema)\n      else:\n        raise StopIteration\n\n\n@deprecated(since='2.11.0', current=\"WriteToBigQuery\")\ndef BigQuerySink(*args, validate=False, **kwargs):\n  \"\"\"A deprecated alias for WriteToBigQuery.\"\"\"\n  warnings.warn(\n      \"Native sinks no longer implemented; \"\n      \"falling back to standard Beam sink.\")\n  return WriteToBigQuery(*args, validate=validate, **kwargs)\n\n\n_KNOWN_TABLES = set()\n\n\nclass BigQueryWriteFn(DoFn):\n  \"\"\"A ``DoFn`` that streams writes to BigQuery once the table is created.\"\"\"\n\n  DEFAULT_MAX_BUFFERED_ROWS = 2000\n  DEFAULT_MAX_BATCH_SIZE = 500\n\n  FAILED_ROWS = 'FailedRows'\n  FAILED_ROWS_WITH_ERRORS = 'FailedRowsWithErrors'\n  STREAMING_API_LOGGING_FREQUENCY_SEC = 300\n","sourceCodeStart":1434,"sourceCodeEnd":1470,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/python/apache_beam/io/gcp/bigquery.py#L1434-L1470","documentation":"`BigQuerySink` is a @deprecated alias (since 2.11.0) for WriteToBigQuery; calling it warns that native BigQuery sinks are no longer implemented and forwards to the standard Beam sink. Writes still work but use the standard implementation.","triggerScenarios":"Instantiating `BigQuerySink(*args, validate=False, **kwargs)` in pipeline code.","commonSituations":"Very old Dataflow pipelines or examples still using BigQuerySink; upgrades where the class-based sink API was replaced by the WriteToBigQuery PTransform.","solutions":["Replace `BigQuerySink(...)` with `WriteToBigQuery(...)`.","Carry over the `validate` argument to WriteToBigQuery if needed.","Temporarily filter the warning during a staged migration."],"exampleFix":"// before\np | BigQuerySink('proj:ds.tbl', schema=..., write_disposition=...)\n// after\np | WriteToBigQuery('proj:ds.tbl', schema=..., write_disposition=...)","handlingStrategy":"validation","validationCode":"if sink_fn is BigQuerySink:\n    raise TypeError('BigQuerySink is deprecated; use WriteToBigQuery')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use WriteToBigQuery for all BigQuery writes.","Grep CI for 'BigQuerySink(' occurrences.","Escalate deprecation warnings to errors in CI."],"tags":["python","deprecation","apache-beam","bigquery"],"backgroundTag":"deprecated-api-usage","analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-20T03:17:13.778Z"}