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?


  • inedo-engineer

    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?


  • inedo-engineer

    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


  • inedo-engineer

    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


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation