Untuk peningkatan traffic yang cepat, mode Datastore akan mencoba menskalakan secara otomatis untuk memenuhi peningkatan permintaan. Saat mode Datastore
diskalakan, latensi mulai menurun.
Hotspot (kecepatan baca, tulis, dan hapus yang tinggi untuk rentang entity yang sempit)
membatasi kemampuan mode Datastore untuk diskalakan. Tinjau
desain untuk skalabilitas
dan identifikasi hotspot di aplikasi Anda.
Persaingan, baik dari pembaruan entitas tunggal terlalu
sering atau dari transaksi.
Misalnya, kueri dengan beberapa filter kesetaraan (==)
tetapi tidak didukung oleh indeks komposit dapat menyebabkan kueri penggabungan-gabungan lambat.
Untuk meningkatkan performa, tambahkan indeks gabungan untuk kueri ini,
lihat
Mengoptimalkan indeks.
Pembacaan besar yang menampilkan banyak entity.
baca
Gunakan kursor kueri untuk memisahkan pembacaan besar.
Terlalu banyak penghapusan baru-baru ini.
read Hal ini sangat memengaruhi
operasi yang mencantumkan jenis dalam database.
Jika latensi disebabkan oleh terlalu banyak penghapusan baru-baru ini, masalah akan otomatis teratasi setelah beberapa saat. Jika masalah
tidak teratasi, hubungi dukungan.
Entitas menerima terlalu banyak pembaruan per detik.
Pertentangan dari transaksi yang tumpang-tindih.
Peningkatan traffic yang melebihi aturan 500-50-5 atau mengalami hot spot.
ABORTED
Too much contention on these datastore entities. Please try again.
Atau
ABORTED
Aborted due to cross-transaction contention. This occurs when multiple
transactions attempt to access the same data, requiring Datastore mode
to abort at least one in order to enforce serializability.
Untuk menyelesaikan masalah ini:
Untuk peningkatan traffic yang cepat, mode Datastore akan mencoba menskalakan secara otomatis untuk memenuhi peningkatan permintaan. Saat mode Datastore
diskalakan, latensi mulai menurun.
Hotspot membatasi kemampuan mode Datastore untuk melakukan penskalaan, tinjau
desain untuk skala guna mengidentifikasi hotspot.
Situasi berikut dapat menyebabkan error INVALID_ARGUMENT:
Mencoba melakukan entity dengan nilai properti diindeks yang lebih besar dari
1.500 byte. Batas ini berlaku untuk encoding UTF-8 nilai properti.
Mencoba melakukan commit pada entity dengan nilai properti tidak diindeks yang lebih besar dari 1.048.487 byte (1 MiB - 89 byte). Batas ini berlaku untuk jumlah
nilai properti dalam entity. Misalnya, empat properti dengan ukuran masing-masing 256 KiB melebihi batas.
1.500 byte (terindeks) dan 1.048.487 byte (tidak terindeks) adalah
batas untuk nilai properti. Anda tidak dapat melebihi batas ini dan batas ini bukan kuota yang dapat disesuaikan.
INVALID_ARGUMENT: The value of property property-name is longer than 1500 bytes
atau
INVALID_ARGUMENT: The value of property property_name is longer than 1048487 bytes
Untuk menyelesaikan masalah ini:
Untuk nilai properti yang diindeks, bagi properti menjadi beberapa properti. Jika memungkinkan, buat properti yang tidak terindeks dan pindahkan data yang tidak perlu diindeks ke properti yang tidak terindeks.
Untuk nilai properti yang tidak diindeks, bagi properti menjadi beberapa properti atau terapkan kompresi untuk nilai properti.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-05 UTC."],[[["\u003cp\u003eThis guide helps resolve issues with Firestore in Datastore mode, focusing on latency and error codes.\u003c/p\u003e\n"],["\u003cp\u003eIncreased latency can be caused by high traffic, contention, slow queries, large reads, recent deletes, or index fanout, each with specific resolutions.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eABORTED\u003c/code\u003e errors often result from too many updates to a single entity, contention from overlapping transactions, or traffic exceeding the 500-50-5 rule, with solutions that involve scaling and reducing write rates.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRESOURCE_EXHAUSTED\u003c/code\u003e errors are triggered by exceeding the free tier quota without billing enabled, which can be resolved by waiting for the daily reset or enabling billing.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e errors arise from exceeding property value limits for indexed or un-indexed values, and require splitting the property into multiple properties or implementing compression.\u003c/p\u003e\n"]]],[],null,["# Troubleshooting\n\nThis page shows you how to resolve issues with Firestore in Datastore mode.\n\nLatency\n-------\n\nThe table below describes possible causes of increased latency:\n\nError Codes\n-----------\n\nThis section lists issues that you might encounter and provides suggestions for\nhow to fix each of them.\n\n### DEADLINE_EXCEEDED\n\n```\nDEADLINE_EXCEEDED\n\nA deadline was exceeded on the server.\n```\n\nTo resolve this issue, see the [guide to troubleshooting latency](#latency).\n\n### ABORTED\n\nThe following situations can increase `ABORTED` errors:\n\n- An entity receiving too many updates per second.\n- Contention from overlapping transactions.\n- Traffic increases that exceed the 500-50-5 rule or encounter hot-spots.\n\n```\nABORTED\n\nToo much contention on these datastore entities. Please try again.\n```\n\nOr \n\n```\nABORTED\n\nAborted due to cross-transaction contention. This occurs when multiple\ntransactions attempt to access the same data, requiring Datastore mode\nto abort at least one in order to enforce serializability.\n```\n\nTo resolve this issue:\n\n- For rapid traffic increases, Datastore mode attempts to automatically scale to meet the increased demand. When Datastore mode scales, latency begins to decrease.\n- Hot-spots limit the ability of Datastore mode to scale up, review [designing for scale](./best-practices#designing_for_scale) to identify hot-spots.\n- Review [data contention in transactions](/datastore/docs/concepts/transactions#isolation_and_consistency) and your usage of transactions.\n- Reduce the write rate to individual entities.\n\n### RESOURCE_EXHAUSTED\n\nThe following situations can lead to `RESOURCE_EXHAUSTED` errors:\n\nYou exceeded the [free tier quota](/datastore/pricing#free_quota) and billing is not enabled\nfor your project. \n\n```\nRESOURCE_EXHAUSTED\n\nSome resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.\n```\n\nTo resolve this issue:\n\n- Wait for the daily reset of your free tier quota or [enable billing for\n your project](/billing/docs/how-to/modify-project#enable_billing_for_a_project).\n\n### INVALID_ARGUMENT\n\nThe following situations can cause `INVALID_ARGUMENT` errors:\n\n- Attempting to commit an entity with an **indexed** property value greater than 1500 bytes. This limit applies to the UTF-8 encoding of the property value.\n- Attempting to commit an entity with **un-indexed** property values greater than 1,048,487 bytes (1 MiB - 89 bytes). This limit applies to the sum of the property values in an entity. For example, four properties of 256 KiB each exceed the limit.\n\n1,500 bytes (indexed) and 1,048,487 bytes (un-indexed) are\n[limits](/datastore/docs/concepts/limits) for property values. You cannot\nexceed these limits and they are not quotas that can be adjusted. \n\n```\nINVALID_ARGUMENT: The value of property property-name is longer than 1500 bytes\n```\n\nor \n\n```\nINVALID_ARGUMENT: The value of property property_name is longer than 1048487 bytes\n```\n\nTo resolve this issue:\n\n- For indexed property values, split the property into multiple properties. If possible, create an un-indexed property and move data that doesn't need to be indexed into the un-indexed property.\n- For un-indexed property values, split the property into multiple properties or implement compression for the property value."]]