Open andreibarabas opened 2 weeks ago
Hey @andreibarabas, thanks for the detailed report and sharing your observations! I was able to reproduce the issue you mentioned. Sharing the mcve here. Let me raise this to our engineering team so they can take a look. I’ll also mark this issue as reproducible .
thanks @aalej . the mcve looks solid. thanks for adding the extra touch ;)
[REQUIRED] Environment info
firebase-tools: 13.6.0
Platform: macOS
[REQUIRED] Test case
Given 2 composite indexes, created via the
FAILED_PRECONDITION
provided link[REQUIRED] Steps to reproduce
Run the
firebase firestore:indexes
CLI command to output the indexes. As you will see, the indexes are duplicated, because the__name__
is stripped off https://github.com/firebase/firebase-tools/blob/master/src/firestore/api.ts#L187[REQUIRED] Expected behavior
The
__name__
to also be included, as that is the difference between both[REQUIRED] Actual behavior
The current duplication is a problem because when you take the index file from the sandbox env and deploy it to production, you think all the indexes are created, but in fact only one of the 2 is. And thus you reach a
FAILED_PRECONDITION
on productionWhile this example is exaggerated in the sense that probably you would not have 2 indexes like this, the bigger issue is if you have an index with a
__name__
order that is not exactly as the default sort order, then it's not properly generated when moving from sandbox to production