Skip to content

🐛 Bug Report [Google Cloud Storage] Stream error: Cannot read properties of undefined (reading 'length') #692

@yanivbenzvi

Description

@yanivbenzvi

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:

  1. Deploy the Action: Set up the GCS action on a private Action Hub connected to a Looker Core instance (hosted on GCP).
  2. 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.
  1. Test Configuration: Click the "Test" button on the action settings page.
  • Result: The test passes with a green checkmark. ✅
  1. Use the Action: Go to any Look or Explore and attempt to send or schedule data delivery to the configured GCS action.
  2. 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions