Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
ProGet 2025.14 (Build 12) - PostgreSQL Error when uploading
-
When uploading we do get the following error:
Failed to upload sstate:go-cross-canadian-aarch64:x86_64-nativesdk-poky-linux:1.17.13:r0:x86_64_x86_64-nativesdk:10:014a9fde37c442d487899c82c313f81e6bb015b8eaddfd10b257fda1e3e88afb_deploy_source_date_epoch.tar.zst.sigi: 22001: value too long for type character varying(200) Npgsql.PostgresException (0x80004005): 22001: value too long for type character varying(200) 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.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Npgsql.NpgsqlCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken) at Inedo.ProGet.Data.PostgresDatabaseContext.PostgresCommand.ExecuteReaderAsync(CancellationToken cancellationToken) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E609935\Src\src\ProGet\Data\PostgresDatabaseContext.cs:line 392 at Inedo.Data.DatabaseContext.DbResult.CreateAsync(IGenericDbCommand command, DatabaseContext context, DateTimeOffset startTime, Stopwatch stopwatch) at Inedo.Data.DatabaseContext.ExecuteInternalAsync(String storedProcName, GenericDbParameter[] parameters, DatabaseCommandReturnType returnType) at Inedo.Data.DatabaseContext.ExecuteNonQueryAsync(String storedProcName, GenericDbParameter[] parameters) at Inedo.Data.DatabaseContext.ExecuteScalarAsync[TResult](String storedProcName, GenericDbParameter[] parameters, Int32 outParameterIndex) at Inedo.ProGet.Feeds.Assets.AssetFeed.AddExistingFileAsync(String fullPath, String contentType) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E609935\Src\src\ProGet\Feeds\Assets\AssetFeed.cs:line 159 at Inedo.ProGet.WebApplication.FeedEndpoints.Assets.AssetContentHandler.CompleteMultipartUploadAsync(AhHttpContext context, AssetFeed feed, String url, Boolean ignoreContentType) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E609935\Src\src\ProGet\WebApplication\FeedEndpoints\Assets\AssetContentHandler.cs:line 318 at Inedo.ProGet.WebApplication.FeedEndpoints.Assets.AssetContentHandler.UploadFileAsync(AhHttpContext context, WebApiContext apiContext, AssetFeed feed, String url, PutMode mode, Boolean ignoreContentType) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E609935\Src\src\ProGet\WebApplication\FeedEndpoints\Assets\AssetContentHandler.cs:line 170 at Inedo.ProGet.WebApplication.FeedEndpoints.Assets.AssetFineUploadHandler.TryProcessRequestAsync(AhHttpContext context, WebApiContext apiContext, AssetFeed feed, String relativeUrl) in C:\Users\builds\AppData\Local\Temp\InedoAgent\BuildMaster\192.168.44.60\Temp\_E609935\Src\src\ProGet\WebApplication\FeedEndpoints\Assets\AssetFineUploaderHandler.cs:line 29 Exception data: Severity: ERROR SqlState: 22001 MessageText: value too long for type character varying(200) Where: PL/pgSQL function "Assets_FindFromPath"(integer,text,boolean,boolean,integer,text,xml) line 18 at assignment SQL statement "SELECT found."@AssetItem_Id", found."@CanonicalAssetPath_Text", found."@Inherited_CacheConfiguration_XML" FROM "Assets_FindFromPath" ( "@Feed_Id", "@AssetPath_Text", "@IncludeDeleted_Indicator", "@AllowCaseInsensitiveMatch_Indicator", "@AssetItem_Id", "@CanonicalAssetPath_Text", "@Inherited_CacheConfiguration_XML" ) AS found" PL/pgSQL function "Assets_GetItemFromPath"(integer,text,boolean,boolean,text,xml,xml) line 6 at SQL statement File: varchar.c Line: 637 Routine: varchar ::Asset Upload Error on 01/14/2026 10:02:19::Anyone able to help on this?
-
Hi @it_9582,
You are receiving this error because the filename length is limited to 200 characters for Assets. Yours is 201 characters long. I have added a ticket, PG-3197, to show a better error message when the file name is too long. If you horten your filename by 1 character, you should be able to upload the file.
Thanks,
Dan
-
@Dan_Woolf Thanks for the quick reply - so this is nothing we can configure at the moment?
-
Hi @it_9582 ,
I'm afraid this is a long-standing (since we first introduced the feature) limitation on the name. It's not changeable/configurable and would require a nontrivial code change to lengthen.
Thanks,
Alana
-
Hi @atripp
thanks for your response and the description. We want to store some cache informations generated from yocto, onto our ProGet-Asset to share it between the developers. Unfortunately the generated filename can not be shorted, but it seems so that the maximum length of the filenames generated by yocto are 254.
Do you think it could be possible to modify the code/database to allow fitting this maximum?Thanks
-
Hi @it_9582,
It's certainly possible :)
However, given the risk associated with the change, it could only happen in a Major Release. This would require editing a lot of code and trying to track down everywhere we might have trimmed/restricted to 200 characters.
I can add it this to our roadmap for consideration, but note that ProGet 2026 hasn't been targeted for a date yet, let decided what features we'll do.
I just want to be realistic about the timeline - let us know if you'd like to consider it. It hasn't come up in the very very many years this feature existed, so we're not even totally sure if we'll do it (if it's too much code / too much risk / too close to the deadline / etc).
Thanks,
Alana
-
Would using an external database resolve that issue? So not using the embedded one?
Is it possible to switch to an external one with the instance already running with the embedded one?
-
Hi @it_9582,
I'm afraid this requires a code change and an external database will have no impact.
Thanks,
Alana