No problem; I will use the generic one :)
@george-bowen_9415: Did you experience delays in V5, and do you have any significant amount of group memberships? :)
-Sigurd
No problem; I will use the generic one :)
@george-bowen_9415: Did you experience delays in V5, and do you have any significant amount of group memberships? :)
-Sigurd
Product: ProGet
Version: 2025.23.11
Environment: Windows Server
When viewing the Administration > Logs page in the Web UI, the browser's developer console (Network tab) shows a 404 Not Found error for the following resource:
https://[REDACTEDURL]/resources/images/otters/issues-hold.svg
The page loads and functions correctly aside from this missing image. The error does not appear to impact any core functionality of the application.
1: Windows
2: On my user, 101 direct groups using Get-ADPrincipalGroupMembership, 217 groups using your query
3: No multi-directory forest.
4: I can try later
22 GC servers, 37K users.
We have managed to reproduce the delay from powershell
$dn = (Get-ADUser REDACTEDUSERNAME).DistinguishedName
$searcher = New-Object DirectoryServices.DirectorySearcher
$searcher.Filter = "(&(objectCategory=group)(member:1.2.840.113556.1.4.1941:=$dn))"
Measure-Command {
$searcher.FindAll()
}
TotalSeconds : 19,9523562
I have tried this on all 22 GC servers
$dn = (Get-ADUser REDACTEDUSERNAME).DistinguishedName
$dcs = (Resolve-DnsName -Type SRV _ldap._tcp.dc._msdcs.$env:USERDNSDOMAIN).NameTarget
foreach ($dc in $dcs) {
$time = Measure-Command {
$searcher = New-Object DirectoryServices.DirectorySearcher
$searcher.SearchRoot = "LDAP://$dc"
$searcher.Filter = "(&(objectCategory=group)(member:1.2.840.113556.1.4.1941:=$dn))"
$searcher.FindAll() | Out-Null
}
[PSCustomObject]@{
DC = $dc
TimeMs = $time.TotalMilliseconds
}
}
It ranges between 19 -> 25 seconds
I think I need an option to either disable recursion or defining a search scope unless there exist some other way to query AD. :)
Hi,
We are experiencing periodic latency issues after migrating from V4 to V5 of the Active Directory user directory implementation.
Summary of the issue:
We observe intermittent delays of ~15 seconds or more
The delays appear to occur when the cache expires (Web.PrivilegeCacheExpiration)
Due to this, we have reverted to V4: Active Directory, which does not exhibit the same behavior
Environment characteristics:
Large Active Directory environment
Users have significant group memberships (including nested groups)
Behavior differences:
V4 works reliably, especially with recursive lookups disabled
V5 does not expose an option to disable recursive group resolution
The issue only appears in V5
Testing performed:
We attempted to reproduce the delay using PowerShell
Measure-Command {
Get-ADUser <myusername>
}
Measure-Command {
Get-ADUser <myusername> -Properties memberOf
}
Measure-Command {
Get-ADPrincipalGroupMembership <myusername>
}
All of these return quickly in our environment.
However, we understand these cmdlets may not reflect the same LDAP query patterns used internally by V5 (e.g., DirectorySearcher, recursive group enumeration, or per-group lookups).
Questions:
Does V5 perform recursive group resolution via individual LDAP queries rather than using tokenGroups or equivalent server-side expansion?
Is there a way to disable or limit recursive group resolution in V5 (similar to V4)?
Does V5 perform additional lookups per group (e.g., resolving each memberOf DN individually)?
Given that the delays correlate with cache expiration, it seems likely that group resolution or permission evaluation is triggering a large number of LDAP queries.
Any guidance or recommendations would be appreciated.
Got this on a NPM feed, which has a connector to *npm-registry.npmjs.org. Recently upgraded to 25.23.11
An error occurred processing a POST request to http://packagemanager.REDACTED/npm/NPM-Source/-/npm/v1/security/advisories/bulk: '0x00' is an invalid start of a property name. Expected a '"'. LineNumber: 0 | BytePositionInLine: 1.
System.Text.Json.JsonReaderException: '0x00' is an invalid start of a property name. Expected a '"'. LineNumber: 0 | BytePositionInLine: 1.
at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
at System.Text.Json.Utf8JsonReader.ReadSingleSegment()
at System.Text.Json.JsonDocument.Parse(ReadOnlySpan`1 utf8JsonSpan, JsonReaderOptions readerOptions, MetadataDb& database, StackRowStack& stack)
at System.Text.Json.JsonDocument.Parse(ReadOnlyMemory`1 utf8Json, JsonReaderOptions readerOptions, Byte[] extraRentedArrayPoolBytes, PooledByteBufferWriter extraPooledByteBufferWriter)
at System.Text.Json.JsonDocument.Parse(Stream utf8Json, JsonDocumentOptions options)
at Inedo.ProGet.WebApplication.FeedEndpoints.Npm.NpmAuditHandler.HandleBulkAdvisory(AhHttpContext context, NpmFeed feed)
at Inedo.ProGet.WebApplication.FeedEndpoints.Npm.NpmAuditHandler.TryProcessRequestAsync(AhHttpContext context, WebApiContext apiContext, NpmFeed feed, String relativeUrl)
at Inedo.ProGet.WebApplication.FeedEndpoints.Npm.NpmHandler.ProcessRequestAsync(AhHttpContext context, WebApiContext apiContext, NpmFeed feed, String relativeUrl)
at Inedo.ProGet.WebApplication.FeedEndpoints.FeedEndpointHandler.FeedRequestHandler.ProcessRequestAsync(AhHttpContext context)
::Web Error on 19.03.2026 19:52:44::
As I understand it, having a user with dbo-role is not sufficient(according to stackexchange). Since our user is role dbo, but not set as owner on the database, it does not work.
Anyway, this is not a problem for us since we do run this manually :)
What is the command used by Proget for updating mssql stats?
I ask because our dbo-user is not permitted to execute sp_updatestats by our db-team.
We do however have a scheduled task to manually update some tables causing slowness(17 tables related to vulnerability)
UPDATE STATISTICS {tablename} WITH FULLSCAN;
Hi
We are trying to add a helm connector to nvidia. I can browse the contents just fine, but when downloading it complains about relative URI:
System.InvalidOperationException: This operation is not supported for a relative URI.
at System.Uri.get_Scheme()
at Inedo.ProGet.Feeds.Helm.HelmConnector.DownloadChartAsync(IHelmChart chart, CancellationToken cancellationToken)
Looking at the index.yaml file I do see that they are using relative url. Googling the issue see that this can be an issue in helm 3, and it looks like some other products have added support for this feature.
Will Proget support it?
Best regards, Sigurd