Things appear to be normal now, feed integrity checks didn't throw the errors after doing the thorough delete and then re-uploading those packages. Granted the powershell module is no longer getting updates to have parity with the version of winscp and that probably helps too.
jfullmer_7346
@jfullmer_7346
Best posts made by jfullmer_7346
Latest posts made by jfullmer_7346
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
@dean-houston I didn't get (or maybe just missed) a notification for this message and only just saw it.
We have way too many packages to just start over for such a small thing but I'm giving the database deletes a go. I also deleted just the winscp packages from both repos and will re-push them after deleting all the dupe entries.Here's what I ran
select * FROM public."PackageVersionIds" WHERE "PackageName_Id" in (562,563); --took the output of this for the manual arrays below. It was finding more than the ones that were showing as duplicated in the other queries. DELETE FROM public."DeletedPackages23" WHERE "PackageVersion_Id" in (614,615,629,630,1260,1334,6107,8225,8235,8336,1335,1956,2514,4316,4548,4939,5379,6556,7761,8118,8334,8861); DELETE FROM public."FeedPackageVersions" WHERE "PackageVersion_Id" in (614,615,629,630,1260,1334,6107,8225,8235,8336,1335,1956,2514,4316,4548,4939,5379,6556,7761,8118,8334,8861); DELETE FROM public."PackageVersionIds" WHERE "PackageVersion_Id" in (614,615,629,630,1260,1334,6107,8225,8235,8336,1335,1956,2514,4316,4548,4939,5379,6556,7761,8118,8334,8861); DELETE FROM public."PackageVersionIds" WHERE "PackageName_Id" in (562,563); DELETE FROM public."PackageNameIds" WHERE "PackageName_Id" in (562,563);Giving the re-indexes with the dedup option on another run.
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
@atripp What's odd is that 6.5.3 and 6.5.2 shouldn't be duplicate I think? The powershell module version (WinSCP) is still 6.3.6 so it shouldn't be seen as a duplicate version I would think.
Could it be because we have dev versions of these repos and we promote the packages? Though we do that for all our packages, so I imagine we'd see it way more often.
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
Is it actually getting upset not because of canonical names and case differences, but because they're both nuget packages (in different repos) with the same name?
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
@atripp I'm fairly experienced with postgres and had originally tried troubleshooting at that level so I already have connections for running sql commands all setup.
Ran that stored procedureSELECT public."PackageVersionIds_GetDuplicates"(); PackageVersionIds_GetDuplicates| -------------------------------+ (8401,563,6.5.3,) | (8334,562,6.5.3,) | (8235,563,6.5.2,) | (8225,562,6.5.2,) | (8336,562,6.3.6,) | (6107,563,6.3.6,) | (629,563,5.21.7,) | (613,562,5.21.7,) | (630,563,5.21.8,) | (614,562,5.21.8,) |Also ran this one
SELECT public."PackageNameIds_GetDuplicates"(); PackageNameIds_GetDuplicates | --------------------------------------------------------------+ (562,nuget,,winscp,8336) | (563,nuget,,WinSCP,8401) | (1383,nuget,,jquery,) | (1591,nuget,,magick.net-q16-anycpu,) | (1592,nuget,,magick.net-q16-hdri-anycpu,) | (1593,nuget,,magick.net-q16-x64,) | (1594,nuget,,magick.net-q8-anycpu,) | (1595,nuget,,magick.net-q8-openmp-x64,) | (1596,nuget,,magick.net-q8-x64,) | (2822,nuget,,mongodb.driver,) | (3191,nuget,,Umbraco.CMS,) | (6487,nuget,,Microsoft.NetCore.App.Runtime.win-arm,) | (6488,nuget,,Microsoft.NetCore.App.Runtime.win-arm64,) | (6489,nuget,,Microsoft.NetCore.App.Runtime.win-x64,) | (6490,nuget,,Microsoft.NetCore.App.Runtime.win-x86,) | (6493,nuget,,Microsoft.NETCore.App.Runtime.linux-arm,) | (6494,nuget,,Microsoft.NETCore.App.Runtime.linux-arm64,) | (6495,nuget,,Microsoft.NETCore.App.Runtime.linux-musl-arm,) | (6496,nuget,,Microsoft.NETCore.App.Runtime.linux-musl-arm64,) | (6497,nuget,,Microsoft.NETCore.App.Runtime.linux-musl-x64,) | (6498,nuget,,Microsoft.NETCore.App.Runtime.linux-x64,) | (6504,nuget,,Microsoft.NetCore.App.Runtime.osx-arm64,) | (6505,nuget,,Microsoft.NetCore.App.Runtime.osx-x64,) | (7315,nuget,,monero,) | (8613,nuget,,Umbraco.Cms.Web.BackOffice,) | (9133,nuget,,SSCMS,) | (9404,nuget,,CefSharp.OffScreen.NETCore,) | (9405,nuget,,CefSharp.WinForms.NETCore,) | (9406,nuget,,CefSharp.Wpf.NETCore,) | (9895,nuget,,UmbracoCms,) | (10001,nuget,,UmbracoCMS.Core,) | (10906,nuget,,UmbracoCms.Web,) | (28650,nuget,,jQuery,) | (28651,nuget,,Microsoft.NETCore.App.Runtime.osx-arm64,) | (28652,nuget,,Microsoft.NETCore.App.Runtime.osx-x64,) | (28653,nuget,,Microsoft.NETCore.App.Runtime.win-arm,) | (28654,nuget,,Microsoft.NETCore.App.Runtime.win-arm64,) | (28655,nuget,,Microsoft.NETCore.App.Runtime.win-x64,) | (28656,nuget,,Microsoft.NETCore.App.Runtime.win-x86,) | (28657,nuget,,UmbracoCMS,) | (28658,nuget,,Microsoft.NetCore.App.Runtime.linux-arm,) | (28659,nuget,,Microsoft.NetCore.App.Runtime.linux-arm64,) | (28660,nuget,,Microsoft.NetCore.App.Runtime.linux-musl-arm,) | (28661,nuget,,Microsoft.NetCore.App.Runtime.linux-musl-arm64,)| (28662,nuget,,Microsoft.NetCore.App.Runtime.linux-musl-x64,) | (28663,nuget,,Microsoft.NetCore.App.Runtime.linux-x64,) | (28664,nuget,,sscms,) | (28665,nuget,,MongoDB.Driver,) | (28666,nuget,,UmbracoCMS.Web,) | (29225,nuget,,UmbracoCms.Core,) | (31198,npm,,rambox,) | (39678,npm,,Rambox,) | (51673,nuget,,Monero,) | (55232,npm,,vvvebJs,) | (55420,nuget,,Umbraco.Cms,) | (55500,npm,,vvvebjs,) | (69073,cargo,,surrealdb,) | (69127,cargo,,deno,) | (69135,cargo,,tauri,) | (69283,cargo,,Deno,) | (69315,cargo,,Tauri,) | (69475,cargo,,mdbook,) | (69476,cargo,,mdBook,) | (75720,nuget,,Umbraco.Cms.Web.Backoffice,) | (77034,nuget,,CefSharp.OffScreen.NetCore,) | (77035,nuget,,CefSharp.WinForms.NetCore,) | (77036,nuget,,CefSharp.Wpf.NetCore,) | (19805812,nuget,,Magick.NET-Q16-AnyCPU,) | (19805814,nuget,,Magick.NET-Q16-HDRI-AnyCPU,) | (19805823,nuget,,Magick.NET-Q16-x64,) | (19805825,nuget,,Magick.NET-Q8-AnyCPU,) | (19805828,nuget,,Magick.NET-Q8-OpenMP-x64,) | (19805829,nuget,,Magick.NET-Q8-x64,) | (48480969,cargo,,SurrealDB,) |There are versions that I thought were deleted in that first result as I only have 1 version listed for each nuget repo, only keeping the latest one for internalized packages.


So maybe some old ids didn't get fully deleted from the database and they're caught as dupes? Maybe they're kept on purpose for historical data as that id isn't going to be reused? Maybe the duplicate check should also make sure it's an active version that is listed in the UI? Just spitballing, hopefully it helps
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
Also, should the integrity check be taking 30 minutes?
I figure it's because it's a chocolatey repo where the files for packages are embedded in the package, so there are some very large packages.
The powershell module repo runs through the check and the reindex in more reasonable time frames like 30 seconds. -
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
I can re-index without the deduplicate option and it comes back as clean, though I imagine it will turn into a loop when I run the integrity check again.
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
@atripp Finally had some time to look at this again.
Updated to 2025.10 and gave the reindex a go.
Looked like it was gonna work but then it threw this error at the end of re-indexPerforming reindex for PowerShell feed 2: ArrowPS Deactivating feed. There are 31 duplicated PowerShell name sets... pkg:nuget/winscp (ID=562) is the canonical name in the set of 2... Deduplicating pkg:nuget/WinSCP (ID=563)... Re-activating feed. Unhandled exception: Npgsql.PostgresException (0x80004005): P0001: Cannot deduplicate given nameid at Npgsql.Internal.NpgsqlConnector.ReadMessageLong(Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage) at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken) at Npgsql.NpgsqlDataReader.NextResult() at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Inedo.ProGet.Data.PostgresDatabaseContext.PostgresCommand.ExecuteReader() at Inedo.Data.DatabaseContext.ExecuteInternal(String storedProcName, GenericDbParameter[] parameters, DatabaseCommandReturnType returnType) at Inedo.Data.DatabaseContext.ExecuteNonQuery(String storedProcName, GenericDbParameter[] parameters) at Inedo.ProGet.Data.DB.Context.PackageNameIds_DeduplicateId(Nullable`1 Canonical_PackageName_Id, Nullable`1 Duplicate_PackageName_Id) at Inedo.ProGet.Data.DB.PackageNameIds_DeduplicateId(Nullable`1 Canonical_PackageName_Id, Nullable`1 Duplicate_PackageName_Id) at Inedo.ProGet.Feeds.PackageFeed`5.ReindexFeedAsync(IReindexFeedExecutionContext context, CancellationToken cancellationToken) at Inedo.ProGet.Executions.ReindexFeedExecution.ExecuteAsync(IManualExecutionContext context) at Inedo.ProGet.Executions.ReindexFeedExecution.ExecuteAsync(IManualExecutionContext context) at Inedo.ProGet.Service.Executions.ActiveManualExecution.ExecuteAsync() Exception data: Severity: ERROR SqlState: P0001 MessageText: Cannot deduplicate given nameid Where: PL/pgSQL function "PackageNameIds_DeduplicateId"(integer,integer) line 27 at RAISE File: pl_exec.c Line: 3925 Routine: exec_stmt_raise -
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
@atripp If there's anything I can do to help with troubleshooting or debugging, I am happy to help.
-
RE: Packages with Noncanonical Names errors on internalized packagesposted in Support
@stevedennis Is there anything extra that needs to be done on my side to fix this with the recent fix. I'm still getting the error for this package. I've tried forcing the case to be the same but no dice thus far.