extensions icon indicating copy to clipboard operation
extensions copied to clipboard

Stream Firestore to BigQuery extension installation fails

Open thandal opened this issue 6 months ago • 8 comments

[REQUIRED] Step 2: Describe your configuration

  • Extension name: firebase/[email protected]
  • Extension version: 0.2.5
  • Configuration values (redact info where appropriate):
    • basically the defaults, setting the firestore location to my location

[REQUIRED] Step 3: Describe the problem

When I try to install the extension, for example

https://console.firebase.google.com/project/PROJECT-460819/extensions/install?ref=firebase%[email protected]

it eventually fails:

Image

Details look like:

; RESOURCE_ERROR at /deployments/firebase-ext-firestore-bigquery-export/resources/initBigQuerySync: {"ResourceType":"gcp-types/cloudfunctions-v1:projects.locations.functions","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"Failed to create 1st Gen function projects/PROJECT-460819/locations/us-central1/functions/ext-firestore-bigquery-export-initBigQuerySync: Default service account '[email protected]' doesn't exist. Please recreate this account or specify a different account. Please visit https://cloud.google.com/functions/docs/troubleshooting for in-depth troubleshooting documentation.","status":"FAILED_PRECONDITION","statusMessage":"Bad Request","requestPath":"https://cloudfunctions.googleapis.com/v1/projects/PROJECT-460819/locations/us-central1/functions","httpMethod":"POST"}}; RESOURCE_ERROR at /deployments/firebase-ext-firestore-bigquery-export/resources/syncBigQuery: {"ResourceType":"gcp-types/cloudfunctions-v1:projects.locations.functions","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"Failed to create 1st Gen function projects/PROJECT-460819/locations/us-central1/functions/ext-firestore-bigquery-export-syncBigQuery: Default service account '[email protected]' doesn't exist. Please recreate this account or specify a different account. Please visit https://cloud.google.com/functions/docs/troubleshooting for in-depth troubleshooting documentation.","status":"FAILED_PRECONDITION","statusMessage":"Bad Request","requestPath":"https://cloudfunctions.googleapis.com/v1/projects/PROJECT-460819/locations/us-central1/functions","httpMethod":"POST"}}; RESOURCE_ERROR at /deployments/firebase-ext-firestore-bigquery-export/resources/fsexportbigquery: {"ResourceType":"gcp-types/cloudfunctions-v2beta:projects.locations.functions","ResourceErrorCode":"404","ResourceErrorMessage":{"code":404,"message":"Service account projects/-/serviceAccounts/[email protected] was not found.","status":"NOT_FOUND","statusMessage":"Not Found","requestPath":"https://cloudfunctions.googleapis.com/v2beta/projects/PROJECT-460819/locations/us-central1/functions","httpMethod":"POST"}}; RESOURCE_ERROR at /deployments/firebase-ext-firestore-bigquery-export/resources/setupBigQuerySync: {"ResourceType":"gcp-types/cloudfunctions-v1:projects.locations.functions","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"Failed to create 1st Gen function projects/PROJECT-460819/locations/us-central1/functions/ext-firestore-bigquery-export-setupBigQuerySync: Default service account '[email protected]' doesn't exist. Please recreate this account or specify a different account. Please visit https://cloud.google.com/functions/docs/troubleshooting for in-depth troubleshooting documentation.","status":"FAILED_PRECONDITION","statusMessage":"Bad Request","requestPath":"https://cloudfunctions.googleapis.com/v1/projects/PROJECT-460819/locations/us-central1/functions","httpMethod":"POST"}}

Steps to reproduce:

Something suspicious: when I click the "Grant" buttons on this page of the installation sequence,

Image

I don't get positive feedback... the buttons just disappear:

Image

Expected result

Extension installs cleanly

Actual result

Extension fails to install!

I have also tried to install the extension with the command line, which generates a slightly different error:

=== Deploying to 'PROJECT-460819'...

i  deploying extensions
i  extensions: ensuring required API firebaseextensions.googleapis.com is enabled...
✔  extensions: required API firebaseextensions.googleapis.com is enabled
i  extensions: ensuring required API compute.googleapis.com is enabled...
✔  extensions: required API compute.googleapis.com is enabled

Error: Request to https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT-460819:setIamPolicy had HTTP Error: 400, Service account [email protected] does not exist.

I strongly suspect this is related to the following issues, but since it involved the Firebase web interface, I thought it deserved its own bug:

  • https://github.com/firebase/extensions/issues/2383
  • https://github.com/firebase/firebase-tools/pull/8566

thandal avatar Jun 17 '25 20:06 thandal

Hi @thandal, thanks for reporting this issue. We've received it and are reviewing it. We'll provide updates as soon as possible.

HassanBahati avatar Jun 19 '25 10:06 HassanBahati

Yeah its in backend side, backend still looking for hard-coded service account, instead of looking up for the default service account.

MrLibya avatar Jun 24 '25 16:06 MrLibya

@cabljac @thandal @HassanBahati @mbleigh @rafikhan

  • Any new about the hard-coded service account in backend, was resolved?
  • Is in the roadmap finish that part of backend?

felansu avatar Jul 16 '25 10:07 felansu

Hi there, I'll bring this up with the team for a fresh update on the status of this!

For extra context, I have seen this reproduced several times. I have seen it install correctly after clicking "reinstall" but not always.

cabljac avatar Aug 08 '25 12:08 cabljac

For extra context, I have seen this reproduced several times. I have seen it install correctly after clicking "reinstall" but not always.

Its not about this extension, Even with any custom extension that uses V2 of cloud function and having different default compute service account will fail because when deploying the backend of gcloud extension will try to look for the hard-coded default service account instead of searching for the correct default service account.

Default compute service account is [email protected], in some projects they are deleted and can create new default service account with help of support but it will be on different name,

MrLibya avatar Aug 08 '25 12:08 MrLibya

@cabljac is exactly what @MrLibya describes: the service account should be fully specifiable, not just using PROJECT_ID + [email protected].

In all other products, I’ve always specified the exact service account to use — why should this be different here?

felansu avatar Aug 08 '25 13:08 felansu

Hi, just checking if there are any updates on the issue. Thanks!

hernandoKoggi avatar Sep 11 '25 19:09 hernandoKoggi

Hey there, i've labelled this as a Platform issue. Thanks for the input, hopefully this will narrow it down for a fix on the backend. I'll continue to raise with the extensions team and provide updates as they come

cabljac avatar Sep 18 '25 08:09 cabljac