firebase-tools: Deployment error. Failed to configure trigger.
Version info
firebase-tools@3.18.6
Platform Information
Windows
Steps to reproduce
firebase deploy --only functions
Expected behavior
Successful deployment of functions
Actual behavior
[2018-06-08T23:39:05.380Z] ---------------------------------------------------------------------- [2018-06-08T23:39:05.384Z] Command: C:\Program Files\nodejs\node.exe C:\Users\Zach\AppData\Roaming\npm\node_modules\firebase-tools\bin\firebase deploy --only functi ons --debug [2018-06-08T23:39:05.385Z] CLI Version: 3.18.6 [2018-06-08T23:39:05.385Z] Platform: win32 [2018-06-08T23:39:05.385Z] Node Version: v8.11.1 [2018-06-08T23:39:05.386Z] Time: Fri Jun 08 2018 19:39:05 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:05.387Z] ----------------------------------------------------------------------
[2018-06-08T23:39:05.401Z] > command requires scopes: [“email”,“openid”,“https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/ firebase”,“https://www.googleapis.com/auth/cloud-platform”] [2018-06-08T23:39:05.402Z] > authorizing via signed-in user [2018-06-08T23:39:05.405Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects/storage-app-dev
Fri Jun 08 2018 19:39:05 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:05.863Z] <<< HTTP RESPONSE 200 server=nginx, date=Fri, 08 Jun 2018 23:39:04 GMT, content-type=application/json; charset=utf-8, content-length=120, conne ction=close, x-content-type-options=nosniff, strict-transport-security=max-age=31536000; includeSubdomains, cache-control=no-cache, no-store [2018-06-08T23:39:05.865Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/database/storage-app-dev/tokens
Fri Jun 08 2018 19:39:05 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:06.299Z] <<< HTTP RESPONSE 200 server=nginx, date=Fri, 08 Jun 2018 23:39:04 GMT, content-type=application/json; charset=utf-8, content-length=264, conne ction=close, x-content-type-options=nosniff, strict-transport-security=max-age=31536000; includeSubdomains, cache-control=no-cache, no-store
=== Deploying to ‘storage-app-dev’…
i deploying functions [2018-06-08T23:39:09.950Z] > [functions] package.json contents: { “name”: “functions”, “description”: “Cloud Functions for Firebase”, “scripts”: { “serve”: “firebase serve --only functions”, “shell”: “firebase experimental:functions:shell”, “start”: “npm run shell”, “deploy”: “firebase deploy --only functions”, “logs”: “firebase functions:log” }, “dependencies”: { “algoliasearch”: “^3.27.1”, “firebase-admin”: “^5.12.1”, “firebase-functions”: “^1.0.3” }, “private”: true } i functions: ensuring necessary APIs are enabled… [2018-06-08T23:39:09.952Z] >>> HTTP REQUEST GET https://servicemanagement.googleapis.com/v1/services/cloudfunctions.googleapis.com/projectSettings/storage-app-dev?view=CO NSUMER_VIEW
Fri Jun 08 2018 19:39:09 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:09.953Z] >>> HTTP REQUEST GET https://servicemanagement.googleapis.com/v1/services/runtimeconfig.googleapis.com/projectSettings/storage-app-dev?view=CON SUMER_VIEW
Fri Jun 08 2018 19:39:09 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:10.670Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :09 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close
- functions: all necessary APIs are enabled [2018-06-08T23:39:10.672Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :09 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:10.673Z] >>> HTTP REQUEST GET https://cloudresourcemanager.googleapis.com/v1/projects/storage-app-dev
Fri Jun 08 2018 19:39:10 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:11.014Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :09 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:11.015Z] >>> HTTP REQUEST GET https://mobilesdk-pa.googleapis.com/v1/projects/312131621451:getServerAppConfig
Fri Jun 08 2018 19:39:11 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:11.341Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :09 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close i functions: preparing functions directory for uploading… [2018-06-08T23:39:11.342Z] >>> HTTP REQUEST GET https://runtimeconfig.googleapis.com/v1beta1/projects/storage-app-dev/configs
Fri Jun 08 2018 19:39:11 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:11.492Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :10 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close i functions: packaged functions (72.63 KB) for uploading [2018-06-08T23:39:11.909Z] >>> HTTP REQUEST POST https://cloudfunctions.googleapis.com/v1/projects/storage-app-dev/locations/us-central1/functions:generateUploadUrl
Fri Jun 08 2018 19:39:11 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:12.286Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :10 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:12.287Z] >>> HTTP REQUEST PUT https://storage.googleapis.com/gcf-upload-us-central1-c17e162a-6bb6-4bbc-87e3-e124128020f3/a5693a5b-e9cd-4ce9-8733-4a14207 5c3ae.zip?GoogleAccessId=service-312131621451@gcf-admin-robot.iam.gserviceaccount.com&Expires=1528502950&Signature=CCEZ71pwNWdZjAEhEYbYizn25SfEwz7skf%2Fd1%2BDk%2BJwbmZbQk VjJo4n6We6dOOktkEdPFhvQ5pnw8odqWQWSA8BJqppXjalVdmd8UlWaIjMSAlQ7hmyh1%2BLymCcGM4StOzWkot2Etmr51eVrtXYgQiNmvRYGQp%2BjlBs9NYoBsAdrn%2BDXMFAvW6Sl%2F9rcv5K7vJglp%2BQ0ufwhJrf6G YF5QKKstiJXVqm5MrquU7cCO3XM2dUlcn6q4nQ%2Bn8jrm4Wn1nVDkZweIuCJsJ%2BNqlZzm25I8QmBv3MOWB9WUAo853DJ6upkKKx59qvd%2F%2BXfy6kZCvOK9IvO2QPIqRf41mdh%2Fg%3D%3D ReadStream { _readableState: ReadableState { objectMode: false, highWaterMark: 65536, buffer: BufferList { head: [Object], tail: [Object], length: 1 }, length: 65536, pipes: null, pipesCount: 0, flowing: null, ended: false, endEmitted: false, reading: false, sync: false, needReadable: false, emittedReadable: true, readableListening: false, resumeScheduled: false, destroyed: false, defaultEncoding: ‘utf8’, awaitDrain: 0, readingMore: false, decoder: null, encoding: null }, readable: true, domain: null, _events: { end: [Function] }, _eventsCount: 1, _maxListeners: undefined, path: ‘C:\Users\Zach\AppData\Local\Temp\firebase-functions-3656Svfr2SgLvij4.zip’, fd: 5, flags: ‘r’, mode: 438, start: 0, end: Infinity, autoClose: true, pos: 65536, bytesRead: 65536 } Fri Jun 08 2018 19:39:12 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:12.663Z] <<< HTTP RESPONSE 200 x-guploader-uploadid=AEnB2UpFJU-6GeaPnfQqgAUjq7BEXg6y0A9qTS68d7YlBvDg7EPtgxrHuRGZo_oJsjhXoOFw0osUGxIKhQ7WUB2DMYT3suV7yg, etag=“4cd352a1a8afc0e4adcaa7428fd68e19”, x-goog-generation=1528501151217853, x-goog-metageneration=1, x-goog-hash=crc32c=KRcc9Q==, md5=TNNSoaivwOStyqdCj9aOGQ==, x-goog-st ored-content-length=74377, x-goog-stored-content-encoding=identity, vary=Origin, content-length=0, date=Fri, 08 Jun 2018 23:39:11 GMT, server=UploadServer, content-type=t ext/html; charset=UTF-8, alt-svc=quic=“:443”; ma=2592000; v=“43,42,41,39,35”, connection=close
- functions: functions folder uploaded successfully [2018-06-08T23:39:12.665Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/projects/storage-app-dev/locations/us-central1/functions
Fri Jun 08 2018 19:39:12 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:13.013Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :11 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close i functions: updating function listings_write… [2018-06-08T23:39:13.016Z] Trigger is: {“eventTrigger”:{“resource”:“projects/storage-app-dev/databases/(default)/documents/listings/${id}”,“eventType”:“providers/cloud.f irestore/eventTypes/document.write”,“service”:“firestore.googleapis.com”}} [2018-06-08T23:39:13.017Z] >>> HTTP REQUEST PATCH https://cloudfunctions.googleapis.com/v1/projects/storage-app-dev/locations/us-central1/functions/listings_write query params: {“updateMask”:“sourceUploadUrl,name,labels,eventTrigger.resource,eventTrigger.eventType,eventTrigger.service”} { sourceUploadUrl: ‘https://storage.googleapis.com/gcf-upload-us-central1-c17e162a-6bb6-4bbc-87e3-e124128020f3/a5693a5b-e9cd-4ce9-8733-4a142075c3ae.zip?GoogleAccessId=se rvice-312131621451@gcf-admin-robot.iam.gserviceaccount.com&Expires=1528502950&Signature=CCEZ71pwNWdZjAEhEYbYizn25SfEwz7skf%2Fd1%2BDk%2BJwbmZbQkVjJo4n6We6dOOktkEdPFhvQ5pnw 8odqWQWSA8BJqppXjalVdmd8UlWaIjMSAlQ7hmyh1%2BLymCcGM4StOzWkot2Etmr51eVrtXYgQiNmvRYGQp%2BjlBs9NYoBsAdrn%2BDXMFAvW6Sl%2F9rcv5K7vJglp%2BQ0ufwhJrf6GYF5QKKstiJXVqm5MrquU7cCO3XM 2dUlcn6q4nQ%2Bn8jrm4Wn1nVDkZweIuCJsJ%2BNqlZzm25I8QmBv3MOWB9WUAo853DJ6upkKKx59qvd%2F%2BXfy6kZCvOK9IvO2QPIqRf41mdh%2Fg%3D%3D’, name: ‘projects/storage-app-dev/locations/us-central1/functions/listings_write’, labels: { ‘deployment-tool’: ‘cli-firebase’ }, eventTrigger: { resource: ‘projects/storage-app-dev/databases/(default)/documents/listings/${id}’, eventType: ‘providers/cloud.firestore/eventTypes/document.write’, service: ‘firestore.googleapis.com’ } } Fri Jun 08 2018 19:39:13 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:13.426Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :11 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:13.429Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:13 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:13.736Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :12 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:15.737Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:15 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:16.050Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :14 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:18.052Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:18 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:18.365Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :16 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:20.366Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:20 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:20.673Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :19 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:22.675Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:22 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:22.988Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :21 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:24.990Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:24 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:25.296Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :23 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:27.297Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:27 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:27.597Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :26 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:29.599Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:29 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:29.896Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :28 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:31.897Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:31 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:32.014Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :30 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v =“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:34.016Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW 44
Fri Jun 08 2018 19:39:34 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:34.330Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39 :32 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v=“43,42,41,39,35”, accept-ranges=none, connection=close [2018-06-08T23:39:36.333Z] >>> HTTP REQUEST GET https://cloudfunctions.googleapis.com/v1/operations/c3RvcmFnZS1hcHAtZGV2L3VzLWNlbnRyYWwxL2xpc3RpbmdzX3dyaXRlL194blhCRlZzYW44
Fri Jun 08 2018 19:39:36 GMT-0400 (Eastern Daylight Time) [2018-06-08T23:39:36.636Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Fri, 08 Jun 2018 23:39:35 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=“:443”; ma=2592000; v=“43,42,41,39 ,35”, accept-ranges=none, connection=close ! functions[listings_write]: Deployment error. Failed to configure trigger providers/cloud.firestore/eventTypes/document.write@firestore.googleapis.com (listings_write)
Functions deploy had errors. To continue deploying other features (such as database), run: firebase deploy --except functions
Error: Functions did not deploy properly.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 4
- Comments: 38 (3 by maintainers)
Commits related to this issue
- Merge pull request #793 from FirebasePrivate/hlshen-lsp Refactor firemat endpoint signal; Pass endpoint to language server — committed to firebase/firebase-tools by hlshen 10 months ago
The ref path syntax is incorrect.
documents/listings/${id}should bedocuments/listings/{id}(no$)For anyone getting here from Google; I had a similar issue with wrongly named wildcards
this doesn’t work:
this works:
Another reason for this problem could be two same-name variables in the doument
path. e.g.users/{id}/notis/{id}will result in error butusers/{uid}/notis/{notiId}would work.Same problem. Path to the files is 100% correct, but deployment doesn’t work
The worst nightmare of @devth was my reality, deployments were failing in production (and working in development).
After a good amount of time investing on trying to solve this one, and after a few comes and goes with the Firebase support, I finally got a reply that said “seems like there is a limitation for the same project Firestore triggered functions being updated in parallel that causes a contention”.
This was the case, I have a script that does the deployments and could finally limit the amount of triggers deployed at a time to 18 (at first I tried 25 and it failed).
It is still weird because I have different behaviour in different environments and this also adds time on my overall deployment pipeline. It’s also impossible to reproduce it even using the exact same code and config but in different GCP projects.
Hope it helps someone, the error log is very bad and this limitation by itself is so not clear.
You’re right, this was the issue. I figure this out myself a few days ago. I think there should be a warning (i.e. don’t allow user to deploy with a $ in the ref string. It’s a pretty easy mistake to make.
I am still getting this issue intermittently. Sometimes the deployment works and sometimes it throws an error like:
For me it can occur for any of the event types (
create,update,delete).deployment is working now, i think it was a problem in firebase it self and they fixed it
i can deploy updates, deletes but it appears that creates are failing.
I tried the console and CLI several times and still getting
Failed to configure trigger event-type.Reported through multiple channels, would encourage everyone to do the same.
Oh thank goodness other people are experiencing this too! Yup, I can update functions, but not deploy new triggers. E.g. “Failed to configure trigger event-type:providers/cloud.firestore/eventTypes/document.create”
Hope this is resolved soon!
After a bunch of tries with no changes, now suddenly it worked with create trigger!
In have the exact same issue.
I am stuck in this same issue. Any Cloud Functions with Firestore triggers seem to have problem on deploy. I just reported it right now.
I’ll pile on more (sorry)…My dev environment has been failing to deploy for about a month.
All these factors make it incredibly hard to debug. This seems like a huge issue: Firebase Functions deploys are incredibly slow and unreliable. Since my dev environment has been hosed for a month I’ve been deploying straight to prod to service paying customers, putting me in a super risky spot.
🤞🏻 Crossing my fingers that my prod deploy doesn’t start randomly failing too. In the past I’ve recovered by deleting everything and redeploying. Sometimes it starts working after 3 or 7 or 12 failed attempts. Deleting prod isn’t an option though.
I filed a ticket a few months ago. The support engineer wanted a fully reproducible example. I understand and I’d love to provide one, but I have no idea what the repro is. “Build an app incrementally over 18 months, deploying 100s of times along the way, upgrade node versions a few times, use a few Firebase extensions, and see what happens” is about as close as I can get.
😖 😵
Checking back in on this as it seems to be popping up more now that I am posting to production… seems to be “fixed” when I deploy again, just says skipping since nothing has changed on every function. Any ideas why I am getting this? It doesnt seem to be effecting me code, but still scary!
I’m pretty sure it was an issue with firebase itself. I wish they were a little more transparent about what was going on. I’m still new to firebase and spent an hour thinking I had broken something on my end.
On Mon, Jan 16, 2023 at 3:35 AM Abd Elrazik Yousef @.***> wrote:
– Joshua Grass
I’m sorry to hear that @lreynes , I’ve been looking into the issue for a few hours and can’t tell if its an issue from changes in the extension, or packages, or something going on with Firebase 😟 . While extensions can be emulated, extension installation cannot be so debugging install errors is hard, and there is not much information in the logs other than that the trigger cannot be created.
I just tested making a function using the cloud function web portal and even the autogenerated function failed.
Deployment failure: Failed to configure trigger event-type:providers/cloud.firestore/eventTypes/document.create resource:projects/XXXXXXX-fb01/databases/(default)/documents/exampledocs/{exid} service:firestore.googleapis.com
event: Event type create Document path exampledocs/{exid} Retry on failure Function won’t be automatically retried on failure
Something is definitely broken with the server state.
I am hitting the exact same issue tonight with code that worked fine several hours ago.
Deployment failure: Failed to configure trigger event-type:providers/cloud.firestore/eventTypes/document.create resource:projects/XXXXXXX-fb01/databases/(default)/documents/testdocs/{testdocId} service:firestore.googleapis.com
code is: exports.testWrite = functions.firestore .document(“testdocs/{testdocId}”) .onCreate((snapshot, context) => { const {testdocId} = context.params; const parentpostId = snapshot.data().parentPostId; functions.logger.info("Created testdoc: ", testdocId, " test1: ", snapshot.data().postText, " parent: ", parentpostId);
For me this seems to have been triggered by adding a second export function to the file. Put the system in some kind of bad state and I have not been able to deploy since. The function is on the server, but it isn’t getting called anymore.
Just a warning to some people that think it is working on alternate deploys - “firebase deploy” CLI will not upload if the code is the same, so you do not get the error even though you are still not deployed.
I am also unable to deploy new database triggered functions from the CLI and getting that same error. Updating existing database triggered functions works though.
Is the GCP team aware of this issue?
I deployed the function via GCP console a few days ago using default options and autogenerated source code for a cloud function to be triggered on firestore create. However, I just deleted this function and tried it again via the console and now I get the same error as trying to deploy locally.
I am able to create the function using the GCP console however deploying locally does not work. The resource path is correct.
I’m intermittently getting this error without any of the issues above with existing functions that I’ve been deploying for 18 months.
This happened another time about a month ago. It seems to happen if my CI/CD tries to deploy to deploy functions too often (e.g. I
git pushtwice within 5 minutes). After about 48 hours the error went away on its own. It’s like some cache is being cleared out.Very hard and frustrating to debug given the time consuming nature of function deploys (mine take about 16 minutes) and the intermittent nature.