open-vsx.org icon indicating copy to clipboard operation
open-vsx.org copied to clipboard

Claiming namespace stateful

Open christian-bromann opened this issue 3 years ago • 1 comments

Hey,

I would like to claim stateful as namespace and at the same time transition our current extension marquee to this namespace. marquee is currently part of the activecove namespace. It would be great if it would be possible to transition this extension without any issues for current end users.

@sourishkrout has claimed the activecove namespace in #399. He will approve this operation once this issue is posted.

christian-bromann avatar Feb 14 '22 19:02 christian-bromann

It seems that Stateful was claimed in #827. However would it be possible to do the transition from activecove.marquee to stateful.marquee?

christian-bromann avatar Feb 14 '22 20:02 christian-bromann

@christian-bromann I have transitioned activecove.marquee to stateful.marquee.

kineticsquid avatar Mar 06 '23 18:03 kineticsquid

Awesome, thank you!

christian-bromann avatar Mar 06 '23 18:03 christian-bromann

@kineticsquid it seems like this has broken some urls, e.g.: here: https://open-vsx.org/extension/stateful/marquee

Extension Not Found: stateful.marquee

christian-bromann avatar Mar 06 '23 23:03 christian-bromann

Shoot. Tracking this new issue in https://github.com/eclipse/openvsx/issues/690.

kineticsquid avatar Mar 07 '23 15:03 kineticsquid

Decided to re-open this because we may need to take action here once we update the namespace code

kineticsquid avatar Mar 13 '23 15:03 kineticsquid

@amvanbaren I think we're going to need some DB surgery here. From the admin panel extension marquee shows up under stateful namesspace. But we still see a not found error with https://open-vsx.org/extension/stateful/marquee.

kineticsquid avatar May 03 '23 19:05 kineticsquid

@amvanbaren Do we need some DB surgery here?

kineticsquid avatar May 10 '23 15:05 kineticsquid

@kineticsquid I can't help you with DB data related issues. You should ask the Eclipse helpdesk.

amvanbaren avatar May 10 '23 16:05 amvanbaren

@amvanbaren Yes, they'll need to take the action, but we'll need to tell them what to do. Do we have the information we need to instruct them. Or will they need to run some queries to determine the state of the tables?

kineticsquid avatar May 10 '23 16:05 kineticsquid

Or will they need to run some queries to determine the state of the tables?

Yes.

amvanbaren avatar May 10 '23 16:05 amvanbaren

Hello @kineticsquid , it seems after applying these changes, we are now seeing two duplicated namespaces. This is breaking our publishing to ovsx, can you please help us? cc @christian-bromann

image (1)

degrammer avatar May 17 '23 18:05 degrammer

@amvanbaren We'll need your help with this one. Did we attempt some DB surgery that resulted in the duplicate namespaces?

kineticsquid avatar May 18 '23 20:05 kineticsquid

@kineticsquid No, not that I'm aware of. Furthermore there's a case-insensitive unique constraint on the namespace name, so this isn't possible on the database level.

amvanbaren avatar May 19 '23 09:05 amvanbaren

@kineticsquid No, not that I'm aware of. Furthermore there's a case-insensitive unique constraint on the namespace name, so this isn't possible on the database level.

Thanks for checking into it @kineticsquid & @amvanbaren. Any idea why https://open-vsx.org/extension/stateful/marquee is no longer working and we can no longer publish stateful.runme? On the surface, it did suggest there maybe be a collision.

sourishkrout avatar May 19 '23 13:05 sourishkrout

Based on the finding that our trouble is likely a namespace collision (please see https://github.com/eclipse/openvsx/issues/731#issuecomment-1554727546), @kineticsquid & @amvanbaren, what's the best/most straightforward way to resolve this? We'd be comfortable republishing to a clean stateful namespace at this point if that's easier. However, in one way or another, the stateful namespace needs unclobbering.

sourishkrout avatar May 22 '23 18:05 sourishkrout

@sourishkrout Did you mean remove all versions of all three extensions from stateful or just marquee? I can do either. Also, I'm seeing you and @christian-bromann listed twice as owners of stateful. @amvanbaren I'm thinking I remove both instances of each and then add them back (once) to stateful. Make sense?

kineticsquid avatar May 23 '23 17:05 kineticsquid

When I go to https://open-vsx.org/namespace/stateful it works instead of getting an error as mentioned in https://github.com/eclipse/openvsx/issues/731#issuecomment-1554727546. When I query for stateful https://open-vsx.org/api/-/query?namespaceName=stateful, I don't get any duplicates (please note that runme has multiple entries, one for each target platform). So, I still don't know what's going on here.

amvanbaren avatar May 24 '23 09:05 amvanbaren

@amvanbaren When I go to https://open-vsx.org/namespace/stateful, I get this error initially:

image

Dismissing that, I then see: image

kineticsquid avatar May 24 '23 14:05 kineticsquid

@amvanbaren Assuming it's OK with @sourishkrout any reason not to un-publish one of more of these extensions (losing the history and ratings of course) and then have them re-published?

kineticsquid avatar May 24 '23 14:05 kineticsquid

At this point, I'm ok with un-publishing/deletion or anything it would take to get the unique handles stateful.runme, stateful.* back working. Even if that means starting over on "history".

Is unpublishing something you would do, @kineticsquid?

sourishkrout avatar May 24 '23 18:05 sourishkrout

@kineticsquid No, go ahead. Just keep in mind that delete operations run async, so you can't re-publish right away.

amvanbaren avatar May 25 '23 06:05 amvanbaren

@sourishkrout Commencing. I'll let you know when we're ready for you to re-publish.

kineticsquid avatar May 25 '23 16:05 kineticsquid

@sourishkrout @christian-bromann I've unpublished all extensions on this namespace. I've attempted both rename the workspace and remove you two as owners. In both cases those requests failed because the namespace appears corrupted. We're going to have to employ a bit of DB surgery. Sorry this is taking so long.

@amvanbaren Given that there are no extensions in this namespace, and that we can't remove the owners, I think what we have to do is this.

  • remove the rows from the namespace_membership table for @sourishkrout @christian-bromann
  • then remove the row from the namespace table.

Anything else?

kineticsquid avatar May 31 '23 20:05 kineticsquid

@sourishkrout @christian-bromann I've unpublished all extensions on this namespace. I've attempted both rename the workspace and remove you two as owners. In both cases those requests failed because the namespace appears corrupted. We're going to have to employ a bit of DB surgery. Sorry this is taking so long.

Thanks for the update. We appreciate it. 🤞 DB surgery will be successful.

sourishkrout avatar May 31 '23 22:05 sourishkrout

@sourishkrout @christian-bromann I've unpublished all extensions on this namespace. I've attempted both rename the workspace and remove you two as owners. In both cases those requests failed because the namespace appears corrupted. We're going to have to employ a bit of DB surgery. Sorry this is taking so long.

Thanks for the update. We appreciate it. 🤞 DB surgery will be successful.

Hi @kineticsquid, do you have any updates on this? I do see two namespaces in my account, assuming db surgery hasn't happened yet. Thank you!

sourishkrout avatar Jun 14 '23 18:06 sourishkrout

@sourishkrout @christian-bromann I've unpublished all extensions on this namespace. I've attempted both rename the workspace and remove you two as owners. In both cases those requests failed because the namespace appears corrupted. We're going to have to employ a bit of DB surgery. Sorry this is taking so long.

Thanks for the update. We appreciate it. 🤞 DB surgery will be successful.

Hi @kineticsquid, do you have any updates on this? I do see two namespaces in my account, assuming db surgery hasn't happened yet. Thank you!

Hey @kineticsquid. Any news on this item? Thank you!

sourishkrout avatar Jun 27 '23 01:06 sourishkrout

@sourishkrout Sorry for the delay in getting back to this.

@amvanbaren Adding your SQL here:

SELECT nm.*
FROM namespace_membership nm
JOIN namespace n ON n.id = nm.namespace
WHERE n.name = 'stateful';

SELECT e.*
FROM extension e
JOIN namespace n ON n.id = e.namespace_id
WHERE n.name = 'stateful';

It also occurred to me that namespaces show up in admin_statistics_top_namespace_extension_versions and admin_statistics_top_namespace_extensions tables. But those are the names of the namespaces and not the IDs, so deleting a namespace that happens to appear in on of these stats tables shouldn't corrupt the statistics. Agree?

Can you wrap these two SELECT statements in DELETE statements; my SQL is insufficient. Then we can hand off to IT.

kineticsquid avatar Jul 10 '23 14:07 kineticsquid

@sourishkrout Sorry for the delay in getting back to this.

Thanks for getting back. I'm looking forward to getting this resolved.

sourishkrout avatar Jul 10 '23 19:07 sourishkrout

@sourishkrout The @eclipsewebmaster ran the select queries against the production database and everything looks fine. It looks like V1_39__Fix_Unique_Constraints.sql cleaned it up. Can you try to publish an extension to the stateful namespace?

amvanbaren avatar Jul 19 '23 11:07 amvanbaren