Skip to content

🐛 [firestore-bigquery-export] Wrong reference path passed to firestore doc #2436

@YounesAmalou

Description

@YounesAmalou

Describe your configuration

  • Extension name: firestore-bigquery-export
  • Extension version: 0.1.24
  • Configuration values (redact info where appropriate):
    • Firebase project ID: mtp-dev-001
    • BigQuery project ID: mtp-dev-001
    • Firestore collection path: Users/{userid}/Entries
    • Use Collection Group query: Yes
    • BigQuery dataset ID: firestore_export
    • BigQuery table prefix: userentries
    • Documents per import batch: 300
    • BigQuery dataset location: us
    • Use multithreaded import: Yes
    • Use optimized snapshot query: Yes
    • Transform function URL: (None)
    • Use local Firestore emulator: No
    • Failed import output location: (None)

Describe the problem

Steps to reproduce:

I had pre-existing collections in Firestore, and while trying to import them using GCP Shell, I faced the error down below, I tried with different settings, and the same error keeps occurring.
The error happens for each document, and no output is resolved.

Expected result

The documents should be imported into the destinated BigQuery table.

Actual result
{"severity":"INFO","message":"BigQuery dataset already exists: firestore_export"}
{"severity":"WARNING","message":"Did not add partitioning to schema: Partitioning not enabled"}
{"severity":"INFO","message":"Clustering removed on userentries_raw_changelog"}
{"severity":"INFO","message":"Created BigQuery table: userentries_raw_changelog"}
{"severity":"WARNING","message":"Error caught creating table Provided Schema does not match Table mtp-dev-001:firestore_export.userentries_raw_latest. Field path_params is missing in new schema"}
Wait a few seconds for the dataset to initialize...
Importing data from Cloud Firestore Collection (via a Collection Group query): Users/{userid}/Entries, to BigQuery Dataset: firestore_export, Table: userentries_raw_changelog
(node:4445) AutopaginateTrueWarning: Autopaginate will always be set to false in stream paging methods. See more info at https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#auto-pagination for more information on how to configure paging calls
(Use `node --trace-warnings ...` to show where the warning was created)
An error has occurred on the following documents, please re-run or insert the following query documents manually... {"endAt":{"before":true,"values":[{"referenceValue":"projects/mtp-dev-001/databases/(default)/documents/Users/0HP7GEgbOXU7hk29x6GJhWJt73z2/Entries/Zqi8SsjVmHLOVQnNxiON","valueType":"referenceValue"}]}}
Error: Value for argument "documentPath" must point to a document, but was "projects/mtp-dev-001/databases/(default)/documents/Users/0HP7GEgbOXU7hk29x6GJhWJt73z2/Entries/Zqi8SsjVmHLOVQnNxiON". Your path does not contain an even number of components.
    at Firestore.doc (/home/mygcpuser/node_modules/@google-cloud/firestore/build/src/index.js:702:19)
    at AsyncFunction.processDocuments (/home/mygcpuser/node_modules/@firebaseextensions/fs-bq-import-collection/lib/worker.js:41:54)
    at MessagePort.<anonymous> (/home/mygcpuser/node_modules/workerpool/src/worker.js:157:27)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:827:20)
    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)
An error has occurred on the following documents, please re-run or insert the following query documents manually... {"startAt":{"before":true,"values":[{"referenceValue":"projects/mtp-dev-001/databases/(default)/documents/Users/0HP7GEgbOXU7hk29x6GJhWJt73z2/Entries/Zqi8SsjVmHLOVQnNxiON","valueType":"referenceValue"}]},"endAt":{"before":true,"values":[{"referenceValue":"projects/mtp-dev-001/databases/(default)/documents/Users/1600XwSJ4eeVkBigm1nS/Entries/nfUTcslwh0nFQuN6RbmQ","valueType":"referenceValue"}]}}
Error: Value for argument "documentPath" must point to a document, but was "projects/mtp-dev-001/databases/(default)/documents/Users/0HP7GEgbOXU7hk29x6GJhWJt73z2/Entries/Zqi8SsjVmHLOVQnNxiON". Your path does not contain an even number of components.
    at Firestore.doc (/home/mygcpuser/node_modules/@google-cloud/firestore/build/src/index.js:702:19)
    at AsyncFunction.processDocuments (/home/mygcpuser/node_modules/@firebaseextensions/fs-bq-import-collection/lib/worker.js:37:52)
    at MessagePort.<anonymous> (/home/mygcpuser/node_modules/workerpool/src/worker.js:157:27)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:827:20)
    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)
An error has occurred on the following documents, please re-run or insert the following query documents manually... {"startAt":{"before":true,"values":[{"referenceValue":"projects/mtp-dev-001/databases/(default)/documents/Users/1600XwSJ4eeVkBigm1nS/Entries/nfUTcslwh0nFQuN6RbmQ","valueType":"referenceValue"}]},"endAt":{"before":true,"values":[{"referenceValue":"projects/mtp-dev-001/databases/(default)/documents/Users/1u9YyfUpVKudATpd8ql1/Entries/4WiwAWsaC14lRYnoXAMC","valueType":"referenceValue"}]}}
Error: Value for argument "documentPath" must point to a document, but was "projects/mtp-dev-001/databases/(default)/documents/Users/1600XwSJ4eeVkBigm1nS/Entries/nfUTcslwh0nFQuN6RbmQ". Your path does not contain an even number of components.
    at Firestore.doc (/home/mygcpuser/node_modules/@google-cloud/firestore/build/src/index.js:702:19)
    at AsyncFunction.processDocuments (/home/mygcpuser/node_modules/@firebaseextensions/fs-bq-import-collection/lib/worker.js:37:52)
    at MessagePort.<anonymous> (/home/mygcpuser/node_modules/workerpool/src/worker.js:157:27)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:827:20)
    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)
An error has occurred on the following documents, please re-run or insert the following query documents manually... {"startAt":{"before":true,"values":[{"referenceValue":"projects/mtp-dev-001/databases/(default)/documents/Users/1u9YyfUpVKudATpd8ql1/Entries/4WiwAWsaC14lRYnoXAMC","valueType":"referenceValue"}]},"endAt":{"before":true,"values":[{"referenceValue":"projects/mtp-dev-001/databases/(default)/documents/Users/1u9YyfUpVKudATpd8ql1/Entries/VsCbbUyQ2Reh7RLYenWG","valueType":"referenceValue"}]}}
Error: Value for argument "documentPath" must point to a document, but was "projects/mtp-dev-001/databases/(default)/documents/Users/1u9YyfUpVKudATpd8ql1/Entries/4WiwAWsaC14lRYnoXAMC". Your path does not contain an even number of components.
    at Firestore.doc (/home/mygcpuser/node_modules/@google-cloud/firestore/build/src/index.js:702:19)
    at AsyncFunction.processDocuments (/home/mygcpuser/node_modules/@firebaseextensions/fs-bq-import-collection/lib/worker.js:37:52)
    at MessagePort.<anonymous> (/home/mygcpuser/node_modules/workerpool/src/worker.js:157:27)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:827:20)
    at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28)

Metadata

Metadata

Assignees

Labels

type: bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions