Extensions: Updating extension in console UI replaces original config

Created on 9 Apr 2020  路  10Comments  路  Source: firebase/extensions

[READ] Step 1: Are you in the right place?

not sure if it's the right place to report issue for Firebase Console UI (Extensions)

[REQUIRED] Step 2: Describe your configuration

  • Extension name: Firebase console UI/Extensions

[REQUIRED] Step 3: Describe the problem

Starting extension update in firebase console UI while there is another update of same type is in progress - configuration for new update will be overwritten with config from those one which is updating.

Steps to reproduce:

  1. 2 firestore-bigquery-export-instances extensions deployed for 2 different firebase collections.
  2. start update of 1st extension
  3. complete step-by-step update walkthrough with the last step - "configuration"
  4. configuration has proper values
  5. start updating of 2nd extension
  6. step-by-step walkthrough is automatically closed and update started
  7. when update is finished - 2nd extension will use configuration from 1st instance

I've got this issue twice. Updating 0.1.1 -> 0.1.2, and today with 0.1.2 -> 0.1.3

Expected result

Console UI should work properly with multiple instances of same extension

Actual result
in-review

Most helpful comment

Ok, gotcha. I was able to get the "update is available" option once I installed the previous version 0.1.2. I was also able to reproduce the bug. Thanks for reporting it, @stari4ek.

Hey FE team, this is a bug in the console UI. Steps to reproduce:

  • Install two firestore-bigquery-export extensions, version 0.1.2.
  • Head over to the firebase console extension's tab and click on either one of the new extensions. In the top right hand corner, you'll see an option to update extension. Click it, and change the collection property and the table id prefix property.
  • The extension will start updating. It will also start updating the other extension on version 0.1.2 without you editing it.
  • Once both extensions have finished updating, you'll note that they now have the same config.

All 10 comments

Ok. It looks like there is no need to have update in the progress.
I've started update for 3rd instance - and step-by-step walkthrough is also automatically cancelled and wrong config is used - i have to re-configure it after.

It brings data loss, and the only way to recover data consistency is to perform full re-export

Hi @stari4ek thanks for the bug report.

Just to confirm, you are saying that when 2 extensions of the same type are being updated/installed at the same time, the configuration used in one extension is applied to both extensions?

As I commented after - no need to have update in-progress.
My case:
3 extension of same type with different configs: firebase collection/suffixes

  1. start update for first ("instances" collection)
  2. 1st is updating....
  3. start update for 2nd ("audiences" collection)
  4. 2nd update started with step-by-step-UI cancelled
  5. 1st finished (still "indstances")
  6. 2nd finished - it's config become ("instances" instead of "audiences")
  7. no updates in the progress
  8. start updating 3rd extension ("purchases" collection)
  9. step-by-step-UI cancelled on first step
  10. update finished
  11. 3rd extension become "instances" instead of "purchases"

So, yes, all extensions got config from first one

I had to re-configure 2nd and 3rd extensions using Console UI to restore them proper configs

Hey @stari4ek,
I've installed 6 different big query export extensions for the same project. I've tried running them in parallel, but they all use the correct config. I'm not sure how to reproduce the bug. It might be helpful if you could let us know the firebase CLI version you're using (I used 7.15.1)? It also might be helpful to know which region you are deploying the cloud functions to?

it has nothing with CLI, since it's reproduced in Firebase Web Console.
My extensions/functions are deployed to us-central1.

When there is notification about "update is available", it's possible to initiate extension update from WEB UI.
When update starts - it shows readme/API/access roles and the last "tab" is configuration.
When i started update for first instance - WEB UI walked me through all tabs with proper values on configuration tab.

When I started update for second instance - it show first tab of "step-by-step" UI and automatically closed all (=not finished changes review). And started updating 2nd extension instance. With wrong configuration.

Hey @stari4ek, I guess I just read your steps to reproduce and got a severe case of tunnel vision 馃槄, lesson learnt.

Here are the steps available to me to update extensions from my console:

Screenshot 2020-04-16 at 16 32 01

After clicking "Renconfigure Extension" I was able to change the collection path & table ID as noted below:
Screenshot 2020-04-16 at 16 32 27

I was able to update both simultaneously:

Screenshot 2020-04-16 at 16 33 41
If I clicked on either extension whilst loading, the config had the correct parameters:
Screenshot 2020-04-16 at 16 33 19

Both worked as expected.

You mention "last "tab" is configuration" whilst my console has "Extension configuration" as the second tab. It sounds like we might have different console UI experiences so I thought I'd post mine to see if you could confirm that to be the case?

Could you also let me know where the "update is available" option can be found, please? Thank you.

You're talking about reconfiguring (+re-deploying) existing extensions. While I'm talking about updating (+re-deploying) existing extensions. (0.1.1 -> 0.1.2, 0.1.2 -> 0.1.3)

There were link or button "Update is available" in extensions overview and extension UI itself (if I remember it correctly).

When "update" is clicked there is a bit different UI than configuration one. it has same content but with different visuals/style and order of tabs (so, configuration is the last one)

Ok, gotcha. I was able to get the "update is available" option once I installed the previous version 0.1.2. I was also able to reproduce the bug. Thanks for reporting it, @stari4ek.

Hey FE team, this is a bug in the console UI. Steps to reproduce:

  • Install two firestore-bigquery-export extensions, version 0.1.2.
  • Head over to the firebase console extension's tab and click on either one of the new extensions. In the top right hand corner, you'll see an option to update extension. Click it, and change the collection property and the table id prefix property.
  • The extension will start updating. It will also start updating the other extension on version 0.1.2 without you editing it.
  • Once both extensions have finished updating, you'll note that they now have the same config.

Just reproduced this going from 0.1.4 to 0.1.5

Click it, and change the collection property and the table id prefix property.

I did not need to change the property; simply updating one extension's version resulted in both taking on the same configuration.

@stari4ek thanks for posting! Turns out there was a memory-leak in the dialog which could affect subsequent dialog instances 馃憥 This should be fixed in the Console now.

Was this page helpful?
0 / 5 - 0 ratings