diff --git a/airbyte/_future_cdk/record_processor.py b/airbyte/_future_cdk/record_processor.py index 89c3f0d0..dbe21baa 100644 --- a/airbyte/_future_cdk/record_processor.py +++ b/airbyte/_future_cdk/record_processor.py @@ -252,8 +252,12 @@ def write_all_stream_data( write_strategy: WriteStrategy, progress_tracker: ProgressTracker, ) -> None: - """Finalize any pending writes.""" - for stream_name in self.catalog_provider.stream_names: + """Finalize any pending writes. + + Streams are processed in alphabetical order, so that order is deterministic and opaque, + without resorting to knowledge about catalog declaration order. + """ + for stream_name in sorted(self.catalog_provider.stream_names): self.write_stream_data( stream_name, write_strategy=write_strategy,