-
Notifications
You must be signed in to change notification settings - Fork 111
Description
Describe the Bug
The Google Cloud Storage (GCS) action fails during the data sending process, even though the configuration test passes successfully. The failure occurs when attempting to send a Look or Explore, resulting in a streaming error. This suggests an issue with how the action handles the data stream after a successful authentication and connection test.
The error message is error: [Google Cloud Storage] Stream error: Cannot read properties of undefined (reading 'length').
To Reproduce
Steps to reproduce the behavior:
- Deploy the Action: Set up the GCS action on a private Action Hub connected to a Looker Core instance (hosted on GCP).
- Configure the Action: In the Looker Admin panel, configure the GCS action with the following settings:
- Authentication: Service Account (project_id, service account email, private key).
- Bucket: A valid GCS bucket name.
- Test Configuration: Click the "Test" button on the action settings page.
- Result: The test passes with a green checkmark. ✅
- Use the Action: Go to any Look or Explore and attempt to send or schedule data delivery to the configured GCS action.
- Check Status: Navigate to the Scheduler History in the Admin panel.
- Result: The job fails with the error message. 🔴
Expected Behavior
The data from the Look or Explore should be successfully streamed and saved as a file in the specified GCS bucket without any errors.
Actual Behavior
The scheduler job fails, and no file is created in the GCS bucket. The error message displayed in the scheduler history is:
error: [Google Cloud Storage] Stream error: Cannot read properties of undefined (reading 'length')
Environment Details
Looker Deployment: Looker Core, self-hosted on Google Cloud Platform (GCP).
Action Hub Deployment: Private Action Hub.
Additional Context
The Service Account used for authentication has the following IAM permissions/roles granted:
- roles/storage.objectAdmin
- roles/storage.bucketViewer
- storage.buckets.list
Since the configuration test passes, it appears that authentication, project validation, and bucket access are working correctly. The TypeError (Cannot read properties of undefined (reading 'length')) points to a problem likely occurring when the action receives the data stream from Looker to be uploaded.
This functionality is critical for our data workflows, and we're currently blocked by this issue. Any guidance or help in debugging this would be greatly appreciated.
Thank you in advance for your time and assistance!