lukas-at-harren opened a new issue #17497:
URL: https://github.com/apache/airflow/issues/17497


   
   **Apache Airflow version**: 2.1.2
   
   **Apache Airflow Provider versions** (please include all providers that are 
relevant to your bug):
   
   * apache-airflow-providers-google==5.0.0
   
   **Kubernetes version (if you are using kubernetes)** (use `kubectl 
version`): irrelevant
   
   **Environment**: Kubernetes, Postgresql
   
   **What happened**:
   
   * I have a DAG, one task outputs a list of strings as return value.
   * Checking the XCom table, I see the correct value:
   
   
   * Now passing that value on to `GCSToBigQueryOperator` as `source_objects` 
does not deserialize it correctly. The value remains a Python-list. The 
Operator does the following in its `__init__`:
   
       ```
           super().__init__(**kwargs)
   
           # GCS config
           if src_fmt_configs is None:
               src_fmt_configs = {}
           if time_partitioning is None:
               time_partitioning = {}
           self.bucket = bucket
           self.source_objects = source_objects if isinstance(source_objects, 
list) else [source_objects]
       ```
   
   
https://airflow.apache.org/docs/apache-airflow-providers-google/stable/_modules/airflow/providers/google/cloud/transfers/gcs_to_bigquery.html#GCSToBigQueryOperator
   
   ```
           self.source_objects = source_objects if isinstance(source_objects, 
list) else [source_objects]
   ```
   
   * Now for some reason `isinstance(source_objects, list)` is False, and the 
value gets wrapped in another list.
   * Leading to errors within the Operator
   
   ```
   google.api_core.exceptions.NotFound: 404 Not found: URI 
gs://<redacted>/['live/ingest_events_privacy.all/data/20210802/13/tmp0nova2ki.jsonl']
   ```
   
   * Looking at the Rendered Template of the task, it also shows that something 
has gone wrong:
   
   ![Screenshot 2021-08-09 at 10 35 44 
AM](https://user-images.githubusercontent.com/79307500/128679423-e2f7c2d5-6d27-4b93-8897-5cd57ba8ec83.png)
   
   **What you expected to happen**:
   
   * I expect to have the deserialised XCom value available as a list.
   
   **How to reproduce it**:
   
   * DAG with two stages
   * stage one produces a list of strings as return value
   * stage two consumes that list as a XComArg


-- 
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]


Reply via email to