-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
[REQUIRED] Environment info
firebase-tools: 15.1.0
Platform: macOS
[REQUIRED] Test case
First run the emulator with --export-on-exit:
rm -r .firebase-export
firebase emulators:start --only firestore --import .firebase-export --export-on-exit
Write some data:
import admin from 'firebase-admin';
import { getFirestore } from 'firebase-admin/firestore';
const firebaseApp = admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
const dbName = "some-database";
const db = getFirestore(dbName);
let batch = db.batch();
const docRef = db.collection('somecoll').doc("someId");
batch.set(docRef, {param1: "value"});
await batch.commit();
Then
[REQUIRED] Steps to reproduce
- Open a browser and go to
http://localhost:4000/firestore/some-database/data - Ensure the data you just wrote is there (or write it using the UI if you don't want to use the code)
- Stop the simulator with
Ctrl-C. - Re-start the simulator:
firebase emulators:start --only firestore --import .firebase-export --export-on-exit - Open a browser and go to
http://localhost:4000/firestore/some-database/data
[REQUIRED] Expected behavior
The object someId is in collection somecoll in the database some-database. The default database, as accessed by http://localhost:4000/firestore/default/data is empty.
[REQUIRED] Actual behavior
There is no data in database some-database nor in the default database.
If in the code above we make dbName=undefined (hence writing to the default database), what we observe on the Emulator UI is that the data is correctly saved on exit and imported on the next start on the default database.
Logs
❯ firebase emulators:start --debug --only firestore --import .firebase-emulators --export-on-exit
[2025-12-20T06:54:36.394Z] > 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"]
[2025-12-20T06:54:36.394Z] > authorizing via signed-in user (## redacted ##)
[2025-12-20T06:54:36.474Z] openjdk version "25" 2025-09-16
[2025-12-20T06:54:36.474Z] OpenJDK Runtime Environment Homebrew (build 25)
OpenJDK 64-Bit Server VM Homebrew (build 25, mixed mode, sharing)
[2025-12-20T06:54:36.479Z] Parsed Java major version: 25
i emulators: Starting emulators: firestore {"metadata":{"emulator":{"name":"hub"},"message":"Starting emulators: firestore"}}
[2025-12-20T06:54:36.867Z] [logging] Logging Emulator only supports listening on one address (127.0.0.1). Not listening on ::1
[2025-12-20T06:54:36.867Z] [firestore] Firestore Emulator only supports listening on one address (127.0.0.1). Not listening on ::1
[2025-12-20T06:54:36.867Z] [firestore.websocket] websocket server for firestore only supports listening on one address (127.0.0.1). Not listening on ::1
[2025-12-20T06:54:36.867Z] assigned listening specs for emulators {"user":{"hub":[{"address":"127.0.0.1","family":"IPv4","port":4400},{"address":"::1","family":"IPv6","port":4400}],"ui":[{"address":"127.0.0.1","family":"IPv4","port":4000},{"address":"::1","family":"IPv6","port":4000}],"logging":[{"address":"127.0.0.1","family":"IPv4","port":4500}],"firestore":[{"address":"127.0.0.1","family":"IPv4","port":8080}],"firestore.websocket":[{"address":"127.0.0.1","family":"IPv4","port":9150}]},"metadata":{"message":"assigned listening specs for emulators"}}
[2025-12-20T06:54:36.869Z] Emulator locator file path: /var/folders/ch/zczjbr411z99w6gp52c0z40c0000gn/T/hub-proj-firebase.json
[2025-12-20T06:54:36.870Z] [hub] writing locator at /var/folders/ch/zczjbr411z99w6gp52c0z40c0000gn/T/hub-proj-firebase.json
[2025-12-20T06:54:36.873Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: auto_download"}}
[2025-12-20T06:54:36.873Z] Ignoring unsupported arg: single_project_mode_error {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: single_project_mode_error"}}
[2025-12-20T06:54:36.873Z] Starting Firestore Emulator with command {"binary":"java","args":["-Dgoogle.cloud_firestore.debug_log_level=FINE","-Duser.language=en","-jar","//.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar","--host","127.0.0.1","--port",8080,"--websocket_port",9150,"--project_id","proj-firebase","--rules","/project/firestore.rules","--single_project_mode",true],"optionalArgs":["port","webchannel_port","host","rules","websocket_port","functions_emulator","seed_from_export","project_id","single_project_mode"],"joinArgs":false,"shell":false,"port":8080} {"metadata":{"emulator":{"name":"firestore"},"message":"Starting Firestore Emulator with command {\"binary\":\"java\",\"args\":[\"-Dgoogle.cloud_firestore.debug_log_level=FINE\",\"-Duser.language=en\",\"-jar\",\"//.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar\",\"--host\",\"127.0.0.1\",\"--port\",8080,\"--websocket_port\",9150,\"--project_id\",\"proj-firebase\",\"--rules\",\"/project/firestore.rules\",\"--single_project_mode\",true],\"optionalArgs\":[\"port\",\"webchannel_port\",\"host\",\"rules\",\"websocket_port\",\"functions_emulator\",\"seed_from_export\",\"project_id\",\"single_project_mode\"],\"joinArgs\":false,\"shell\":false,\"port\":8080}"}}
i firestore: Firestore Emulator logging to firestore-debug.log {"metadata":{"emulator":{"name":"firestore"},"message":"Firestore Emulator logging to \u001b[1mfirestore-debug.log\u001b[22m"}}
[2025-12-20T06:54:37.078Z] WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 (file://.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar)
WARNING: Please consider reporting this to the maintainers of class io.netty.util.internal.PlatformDependent0$2
WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release
{"metadata":{"emulator":{"name":"firestore"},"message":"WARNING: A terminally deprecated method in sun.misc.Unsafe has been called\nWARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 (file://.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar)\nWARNING: Please consider reporting this to the maintainers of class io.netty.util.internal.PlatformDependent0$2\nWARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release\n"}}
[2025-12-20T06:54:37.638Z] Dec 19, 2025 10:54:37 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start
INFO: Started WebSocket server on ws://127.0.0.1:9150
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:37 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start\nINFO: Started WebSocket server on ws://127.0.0.1:9150\n"}}
[2025-12-20T06:54:37.651Z] API endpoint: http:// {"metadata":{"emulator":{"name":"firestore"},"message":"API endpoint: http://"}}
[2025-12-20T06:54:37.652Z] 127.0.0.1:8080
If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:
export FIRESTORE_EMULATOR_HOST=127.0.0.1:8080
If you are running a Firestore in Datastore Mode project, run:
export DATASTORE_EMULATOR_HOST=127.0.0.1:8080
Note: Support for Datastore Mode is in preview. If you encounter any bugs please file at https://github.com/firebase/firebase-tools/issues.
Dev App Server is now running.
{"metadata":{"emulator":{"name":"firestore"},"message":"127.0.0.1:8080\nIf you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:\n\n export FIRESTORE_EMULATOR_HOST=127.0.0.1:8080\n\nIf you are running a Firestore in Datastore Mode project, run:\n\n export DATASTORE_EMULATOR_HOST=127.0.0.1:8080\n\nNote: Support for Datastore Mode is in preview. If you encounter any bugs please file at https://github.com/firebase/firebase-tools/issues.\nDev App Server is now running.\n\n"}}
✔ firestore: Firestore Emulator UI websocket is running on 9150. {"metadata":{"emulator":{"name":"firestore"},"message":"Firestore Emulator UI websocket is running on 9150."}}
[2025-12-20T06:54:37.693Z] Could not find VSCode notification endpoint: FetchError: request to http://localhost:40001/vscode/notify failed, reason: . If you are not running the Firebase Data Connect VSCode extension, this is expected and not an issue.
┌─────────────────────────────────────────────────────────────┐
│ ✔ All emulators ready! It is now safe to connect your app. │
│ i View Emulator UI at http://127.0.0.1:4000/ │
└─────────────────────────────────────────────────────────────┘
┌───────────┬────────────────┬─────────────────────────────────┐
│ Emulator │ Host:Port │ View in Emulator UI │
├───────────┼────────────────┼─────────────────────────────────┤
│ Firestore │ 127.0.0.1:8080 │ http://127.0.0.1:4000/firestore │
└───────────┴────────────────┴─────────────────────────────────┘
Emulator Hub host: 127.0.0.1 port: 4400
Other reserved ports: 4500, 9150
Issues? Report them at https://github.com/firebase/firebase-tools/issues and attach the *-debug.log files.
[2025-12-20T06:54:39.060Z] Dec 19, 2025 10:54:39 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler initChannel
INFO: Connected to new websocket client
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:39 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler initChannel\nINFO: Connected to new websocket client\n"}}
[2025-12-20T06:54:39.080Z] Dec 19, 2025 10:54:39 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:39 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:39.208Z] Dec 19, 2025 10:54:39 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:39 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected HTTP/2 connection.\n"}}
[2025-12-20T06:54:49.574Z] Dec 19, 2025 10:54:49 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:49 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:55.577Z] Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:55.679Z] Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:55.687Z] Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:55.819Z] Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:55.820Z] Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:55.916Z] Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:54:55.916Z] Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:54:55 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
^C[2025-12-20T06:55:38.873Z] Received signal SIGINT (Ctrl-C) 1
i emulators: Received SIGINT (Ctrl-C) for the first time. Starting a clean shutdown.
i emulators: Please wait for a clean shutdown or send the SIGINT (Ctrl-C) signal again to stop right now.
i Automatically exporting data using --export-on-exit ".firebase-emulators" please wait for the export to finish...
[2025-12-20T06:55:38.878Z] Emulator locator file path: /var/folders/ch/zczjbr411z99w6gp52c0z40c0000gn/T/hub-proj-firebase.json
[2025-12-20T06:55:38.882Z] >>> [apiv2][query] GET http://127.0.0.1:4400/ [none]
[2025-12-20T06:55:38.890Z] <<< [apiv2][status] GET http://127.0.0.1:4400/ 200
[2025-12-20T06:55:38.890Z] <<< [apiv2][body] GET http://127.0.0.1:4400/ {"version":"15.1.0","origins":["http://127.0.0.1:4400","http://[::1]:4400"],"host":"127.0.0.1","port":4400}
i Found running emulator hub for project proj-firebase at http://127.0.0.1:4400
i Creating export directory /project/.firebase-emulators
i Exporting data to: /project/.firebase-emulators
[2025-12-20T06:55:38.892Z] >>> [apiv2][query] GET http://127.0.0.1:4400/ [none]
[2025-12-20T06:55:38.894Z] <<< [apiv2][status] GET http://127.0.0.1:4400/ 200
[2025-12-20T06:55:38.894Z] <<< [apiv2][body] GET http://127.0.0.1:4400/ {"version":"15.1.0","origins":["http://127.0.0.1:4400","http://[::1]:4400"],"host":"127.0.0.1","port":4400}
[2025-12-20T06:55:38.894Z] >>> [apiv2][query] POST http://127.0.0.1:4400/_admin/export [none]
[2025-12-20T06:55:38.894Z] >>> [apiv2][body] POST http://127.0.0.1:4400/_admin/export {"path":"/project/.firebase-emulators","initiatedBy":"exit"}
i emulators: Received export request. Exporting data to /project/.firebase-emulators.
[2025-12-20T06:55:38.911Z] >>> [apiv2][query] POST http://127.0.0.1:8080/emulator/v1/projects/proj-firebase:export [none]
[2025-12-20T06:55:38.911Z] >>> [apiv2][body] POST http://127.0.0.1:8080/emulator/v1/projects/proj-firebase:export {"database":"projects/proj-firebase/databases/(default)","export_directory":"firebase-export-1766213738908aoTiTT","export_name":"firestore_export"}
[2025-12-20T06:55:38.916Z] Dec 19, 2025 10:55:38 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
INFO: Detected non-HTTP/2 connection.
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:55:38 PM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead\nINFO: Detected non-HTTP/2 connection.\n"}}
[2025-12-20T06:55:38.939Z] Dec 19, 2025 10:55:38 PM com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1 exportData
INFO: Exporting emulator data to firebase-export-1766213738908aoTiTT/firestore_export
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:55:38 PM com.google.cloud.datastore.emulator.impl.firestore.CloudFirestoreV1 exportData\nINFO: Exporting emulator data to firebase-export-1766213738908aoTiTT/firestore_export\n"}}
[2025-12-20T06:55:38.950Z] <<< [apiv2][status] POST http://127.0.0.1:8080/emulator/v1/projects/proj-firebase:export 200
[2025-12-20T06:55:38.950Z] <<< [apiv2][body] POST http://127.0.0.1:8080/emulator/v1/projects/proj-firebase:export {}
[2025-12-20T06:55:38.951Z] hubExport: swapping firebase-export-1766213738908aoTiTT with /project/.firebase-emulators
✔ emulators: Export complete.
[2025-12-20T06:55:38.953Z] <<< [apiv2][status] POST http://127.0.0.1:4400/_admin/export 200
[2025-12-20T06:55:38.953Z] <<< [apiv2][body] POST http://127.0.0.1:4400/_admin/export {"message":"OK"}
✔ Export complete
i emulators: Shutting down emulators. {"metadata":{"emulator":{"name":"hub"},"message":"Shutting down emulators."}}
i ui: Stopping Emulator UI {"metadata":{"emulator":{"name":"ui"},"message":"Stopping Emulator UI"}}
i firestore: Stopping Firestore Emulator {"metadata":{"emulator":{"name":"firestore"},"message":"Stopping Firestore Emulator"}}
[2025-12-20T06:55:38.955Z] *** shutting down gRPC server since JVM is shutting down
{"metadata":{"emulator":{"name":"firestore"},"message":"*** shutting down gRPC server since JVM is shutting down\n"}}
[2025-12-20T06:55:38.960Z] *** server shut down
25 {"metadata":{"emulator":{"name":"firestore"},"message":"*** server shut down\n25"}}
[2025-12-20T06:55:38.960Z] 1219 22:55:38.959:I 3 [main] [com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer.stop:80] Stopping WebSocket server...
{"metadata":{"emulator":{"name":"firestore"},"message":"1219 22:55:38.959:I 3 [main] [com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer.stop:80] Stopping WebSocket server...\n"}}
[2025-12-20T06:55:38.960Z] 251219 {"metadata":{"emulator":{"name":"firestore"},"message":"251219"}}
[2025-12-20T06:55:38.961Z] 22:55:38.960:I 42 [nioEventLoopGroup-3-1] [ {"metadata":{"emulator":{"name":"firestore"},"message":" 22:55:38.960:I 42 [nioEventLoopGroup-3-1] ["}}
[2025-12-20T06:55:38.961Z] com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler.channelClosed:96] Websocket client disconnected
{"metadata":{"emulator":{"name":"firestore"},"message":"com.google.cloud.datastore.emulator.firestore.websocket.WebSocketChannelHandler.channelClosed:96] Websocket client disconnected\n"}}
i hub: Stopping emulator hub {"metadata":{"emulator":{"name":"hub"},"message":"Stopping emulator hub"}}
[2025-12-20T06:55:39.278Z] Emulator locator file path: /var/folders/ch/zczjbr411z99w6gp52c0z40c0000gn/T/hub-proj-firebase.json
i logging: Stopping Logging Emulator {"metadata":{"emulator":{"name":"logging"},"message":"Stopping Logging Emulator"}}
[2025-12-20T06:55:39.282Z] Could not find VSCode notification endpoint: FetchError: request to http://localhost:40001/vscode/notify failed, reason: . If you are not running the Firebase Data Connect VSCode extension, this is expected and not an issue.
❯ firebase emulators:start --debug --only firestore --import .firebase-emulators --export-on-exit
[2025-12-20T06:58:52.685Z] > 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"]
[2025-12-20T06:58:52.686Z] > authorizing via signed-in user (## redacted ##)
[2025-12-20T06:58:52.785Z] openjdk version "25" 2025-09-16
OpenJDK Runtime Environment Homebrew (build 25)
[2025-12-20T06:58:52.785Z] OpenJDK 64-Bit Server VM Homebrew (build 25, mixed mode, sharing)
[2025-12-20T06:58:52.790Z] Parsed Java major version: 25
i emulators: Starting emulators: firestore {"metadata":{"emulator":{"name":"hub"},"message":"Starting emulators: firestore"}}
[2025-12-20T06:58:53.184Z] [logging] Logging Emulator only supports listening on one address (127.0.0.1). Not listening on ::1
[2025-12-20T06:58:53.184Z] [firestore] Firestore Emulator only supports listening on one address (127.0.0.1). Not listening on ::1
[2025-12-20T06:58:53.184Z] [firestore.websocket] websocket server for firestore only supports listening on one address (127.0.0.1). Not listening on ::1
[2025-12-20T06:58:53.184Z] assigned listening specs for emulators {"user":{"hub":[{"address":"127.0.0.1","family":"IPv4","port":4400},{"address":"::1","family":"IPv6","port":4400}],"ui":[{"address":"127.0.0.1","family":"IPv4","port":4000},{"address":"::1","family":"IPv6","port":4000}],"logging":[{"address":"127.0.0.1","family":"IPv4","port":4500}],"firestore":[{"address":"127.0.0.1","family":"IPv4","port":8080}],"firestore.websocket":[{"address":"127.0.0.1","family":"IPv4","port":9150}]},"metadata":{"message":"assigned listening specs for emulators"}}
[2025-12-20T06:58:53.186Z] Emulator locator file path: /var/folders/ch/zczjbr411z99w6gp52c0z40c0000gn/T/hub-proj-firebase.json
[2025-12-20T06:58:53.187Z] [hub] writing locator at /var/folders/ch/zczjbr411z99w6gp52c0z40c0000gn/T/hub-proj-firebase.json
i firestore: Importing data from /project/.firebase-emulators/firestore_export/firestore_export.overall_export_metadata {"metadata":{"emulator":{"name":"firestore"},"message":"Importing data from /project/.firebase-emulators/firestore_export/firestore_export.overall_export_metadata"}}
[2025-12-20T06:58:53.193Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: auto_download"}}
[2025-12-20T06:58:53.193Z] Ignoring unsupported arg: single_project_mode_error {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: single_project_mode_error"}}
[2025-12-20T06:58:53.193Z] Starting Firestore Emulator with command {"binary":"java","args":["-Dgoogle.cloud_firestore.debug_log_level=FINE","-Duser.language=en","-jar","//.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar","--host","127.0.0.1","--port",8080,"--websocket_port",9150,"--project_id","proj-firebase","--seed_from_export","/project/.firebase-emulators/firestore_export/firestore_export.overall_export_metadata","--rules","/project/firestore.rules","--single_project_mode",true],"optionalArgs":["port","webchannel_port","host","rules","websocket_port","functions_emulator","seed_from_export","project_id","single_project_mode"],"joinArgs":false,"shell":false,"port":8080} {"metadata":{"emulator":{"name":"firestore"},"message":"Starting Firestore Emulator with command {\"binary\":\"java\",\"args\":[\"-Dgoogle.cloud_firestore.debug_log_level=FINE\",\"-Duser.language=en\",\"-jar\",\"//.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar\",\"--host\",\"127.0.0.1\",\"--port\",8080,\"--websocket_port\",9150,\"--project_id\",\"proj-firebase\",\"--seed_from_export\",\"/project/.firebase-emulators/firestore_export/firestore_export.overall_export_metadata\",\"--rules\",\"/project/firestore.rules\",\"--single_project_mode\",true],\"optionalArgs\":[\"port\",\"webchannel_port\",\"host\",\"rules\",\"websocket_port\",\"functions_emulator\",\"seed_from_export\",\"project_id\",\"single_project_mode\"],\"joinArgs\":false,\"shell\":false,\"port\":8080}"}}
i firestore: Firestore Emulator logging to firestore-debug.log {"metadata":{"emulator":{"name":"firestore"},"message":"Firestore Emulator logging to \u001b[1mfirestore-debug.log\u001b[22m"}}
[2025-12-20T06:58:53.406Z] WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 (file://.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar)
WARNING: Please consider reporting this to the maintainers of class io.netty.util.internal.PlatformDependent0$2
WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release
{"metadata":{"emulator":{"name":"firestore"},"message":"WARNING: A terminally deprecated method in sun.misc.Unsafe has been called\nWARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 (file://.cache/firebase/emulators/cloud-firestore-emulator-v1.20.2.jar)\nWARNING: Please consider reporting this to the maintainers of class io.netty.util.internal.PlatformDependent0$2\nWARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release\n"}}
[2025-12-20T06:58:53.819Z] Dec 19, 2025 10:58:53 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start
INFO: Started WebSocket server on ws://127.0.0.1:9150
{"metadata":{"emulator":{"name":"firestore"},"message":"Dec 19, 2025 10:58:53 PM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start\nINFO: Started WebSocket server on ws://127.0.0.1:9150\n"}}
[2025-12-20T06:58:53.832Z] API endpoint: http:// {"metadata":{"emulator":{"name":"firestore"},"message":"API endpoint: http://"}}
[2025-12-20T06:58:53.832Z] 127.0.0.1:8080
If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:
export FIRESTORE_EMULATOR_HOST=127.0.0.1:8080
If you are running a Firestore in Datastore Mode project, run:
export DATASTORE_EMULATOR_HOST=127.0.0.1:8080
Note: Support for Datastore Mode is in preview. If you encounter any bugs please file at https://github.com/firebase/firebase-tools/issues.
Dev App Server is now running.
{"metadata":{"emulator":{"name":"firestore"},"message":"127.0.0.1:8080\nIf you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:\n\n export FIRESTORE_EMULATOR_HOST=127.0.0.1:8080\n\nIf you are running a Firestore in Datastore Mode project, run:\n\n export DATASTORE_EMULATOR_HOST=127.0.0.1:8080\n\nNote: Support for Datastore Mode is in preview. If you encounter any bugs please file at https://github.com/firebase/firebase-tools/issues.\nDev App Server is now running.\n\n"}}
✔ firestore: Firestore Emulator UI websocket is running on 9150. {"metadata":{"emulator":{"name":"firestore"},"message":"Firestore Emulator UI websocket is running on 9150."}}
[2025-12-20T06:58:54.013Z] Could not find VSCode notification endpoint: FetchError: request to http://localhost:40001/vscode/notify failed, reason: . If you are not running the Firebase Data Connect VSCode extension, this is expected and not an issue.
┌─────────────────────────────────────────────────────────────┐
│ ✔ All emulators ready! It is now safe to connect your app. │
│ i View Emulator UI at http://127.0.0.1:4000/ │
└─────────────────────────────────────────────────────────────┘
┌───────────┬────────────────┬─────────────────────────────────┐
│ Emulator │ Host:Port │ View in Emulator UI │
├───────────┼────────────────┼─────────────────────────────────┤
│ Firestore │ 127.0.0.1:8080 │ http://127.0.0.1:4000/firestore │
└───────────┴────────────────┴─────────────────────────────────┘
Emulator Hub host: 127.0.0.1 port: 4400
Other reserved ports: 4500, 9150
Issues? Report them at https://github.com/firebase/firebase-tools/issues and attach the *-debug.log files.