Claiming namespace stateful
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.
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 I have transitioned activecove.marquee to stateful.marquee.
Awesome, thank you!
@kineticsquid it seems like this has broken some urls, e.g.: here: https://open-vsx.org/extension/stateful/marquee
Extension Not Found: stateful.marquee
Shoot. Tracking this new issue in https://github.com/eclipse/openvsx/issues/690.
Decided to re-open this because we may need to take action here once we update the namespace code
@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.
@amvanbaren Do we need some DB surgery here?
@kineticsquid I can't help you with DB data related issues. You should ask the Eclipse helpdesk.
@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?
Or will they need to run some queries to determine the state of the tables?
Yes.
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
@amvanbaren We'll need your help with this one. Did we attempt some DB surgery that resulted in the duplicate namespaces?
@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.
@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.
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 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?
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 When I go to https://open-vsx.org/namespace/stateful, I get this error initially:
Dismissing that, I then see:
@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?
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?
@kineticsquid No, go ahead. Just keep in mind that delete operations run async, so you can't re-publish right away.
@sourishkrout Commencing. I'll let you know when we're ready for you to re-publish.
@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_membershiptable for @sourishkrout @christian-bromann - then remove the row from the
namespacetable.
Anything else?
@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 @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 @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 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.
@sourishkrout Sorry for the delay in getting back to this.
Thanks for getting back. I'm looking forward to getting this resolved.
@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?