Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-21090

File extension can not be longer than 64

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: 4 - Normal
    • Resolution: Unresolved
    • Affects Version/s: 6.15.1
    • Fix Version/s: None
    • Labels:
    • Environment:

      Jenkins with Artifactory Plugin 3.5

    • Severity:
      Medium

      Description

      Short description: If build contains artifacts with file extensions longer than 64 characters publishing of build fails.

      Details description: We uploaded files from Jenkins with the Artifactory plugin. Publishing the build failed with the following command: rtServer.publishBuildInfo(buildInfo) **The upload itself works fine, error hapens not before publishing the build.

      Note: Uploading and publishing the build using rt client works fine.

      How to reproduce:

      Upload artifacts from Jenkins with more than 64 characters behind the last "." and publish build. Build publish will fail.

      In our case the file was named: kernel-config--4.19.59-rt24+git0+cdd4215f2b_3758b8bd81-r0-colibri-imx6ull-20200114164731

      Error Message on Artifactory:

      2020-01-15 15:48:48,152 [http-nio-8081-exec-10] [ERROR] (o.a.r.d.DbStoringRepoMixin:290) - Couldn't save resource artifactory-build-info:image-torizoncore-zeus-dev-pipeline/23-1579103323930.json, reason:
      ~_org.artifactory.storage.StorageException: Could not insert build Build

      {version='1.0.1', name='image-torizoncore-zeus-dev-pipeline', number='23', type=GENERIC, buildAgent=Pipeline, agent=Jenkins/2.150.3, started='2020-01-15T15:48:43.930+0000', durationMillis=10749, principal='anonymous', artifactoryPrincipal='XXXX', artifactoryPluginVersion='3.5.0', url='http://xxx/', parentName='null', parentNumber='null', vcs='[revision= '95320b2b8463ef83db4848310f3b00d4308cf9ed', url='http://xxx.xxx.xxx.xxx/xxxx.git', revision= 'fccd9f39f2a80795eeef9cea1c02e89ba4dd95e3', url='https://xxxx']', vcsRevision='fccd9f39f2a80795eeef9cea1c02e89ba4dd95e3', vcsUrl='https://xxxx', parentBuildId='null', licenseControl=null, buildRetention=null, runParameters=null, modules=[org.jfrog.build.api.Module@91692a05], statuses=null, buildDependencies=null, issues=null, governance=null}

      _~
          at org.artifactory.storage.db.build.service.BuildStoreServiceImpl.addBuild(BuildStoreServiceImpl.java:139)
          at org.artifactory.build.BuildServiceImpl.addBuildInternal(BuildServiceImpl.java:395)
          at jdk.internal.reflect.GeneratedMethodAccessor1127.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
          at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:78)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
          at com.sun.proxy.$Proxy208.addBuildInternal(Unknown Source)
          at org.artifactory.repo.interceptor.BuildInfoInterceptor.doAction(BuildInfoInterceptor.java:96)
          at org.artifactory.repo.interceptor.BuildInfoInterceptor.afterCreate(BuildInfoInterceptor.java:66)
          at org.artifactory.repo.interceptor.storage.StorageInterceptorsImpl.afterCreate(StorageInterceptorsImpl.java:69)
          at jdk.internal.reflect.GeneratedMethodAccessor731.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:206)
          at com.sun.proxy.$Proxy173.afterCreate(Unknown Source)
          at org.artifactory.repo.db.DbStoringRepoMixin.invokeAfterCreateInterceptors(DbStoringRepoMixin.java:405)
          at org.artifactory.repo.db.DbStoringRepoMixin.saveResource(DbStoringRepoMixin.java:244)
          at org.artifactory.repo.db.DbLocalRepo.saveResource(DbLocalRepo.java:154)
          at org.artifactory.repo.service.RepositoryServiceImpl.saveResourceInTransaction(RepositoryServiceImpl.java:1890)
          at jdk.internal.reflect.GeneratedMethodAccessor924.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
          at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295)
          at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
          at com.sun.proxy.$Proxy165.saveResourceInTransaction(Unknown Source)
          at org.artifactory.repo.service.RepositoryServiceImpl.saveResource(RepositoryServiceImpl.java:1878)
          at jdk.internal.reflect.GeneratedMethodAccessor921.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:206)
          at com.sun.proxy.$Proxy165.saveResource(Unknown Source)
          at org.artifactory.engine.UploadServiceImpl.uploadItemWithContent(UploadServiceImpl.java:569)
          at org.artifactory.engine.UploadServiceImpl.uploadItemWithProvidedContent(UploadServiceImpl.java:552)
          at org.artifactory.engine.UploadServiceImpl.uploadItem(UploadServiceImpl.java:429)
          at org.artifactory.engine.UploadServiceImpl.uploadFile(UploadServiceImpl.java:419)
          at org.artifactory.engine.UploadServiceImpl.uploadArtifact(UploadServiceImpl.java:400)
          at org.artifactory.engine.UploadServiceImpl.adjustResponseAndUpload(UploadServiceImpl.java:221)
          at org.artifactory.engine.UploadServiceImpl.validateRequestAndUpload(UploadServiceImpl.java:187)
          at org.artifactory.engine.UploadServiceImpl.upload(UploadServiceImpl.java:130)
          at jdk.internal.reflect.GeneratedMethodAccessor917.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
          at org.artifactory.request.aop.RequestAdvice.invoke(RequestAdvice.java:67)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
          at com.sun.proxy.$Proxy193.upload(Unknown Source)
          at org.artifactory.build.BuildServiceImpl.deployBuildJson(BuildServiceImpl.java:353)
          at org.artifactory.build.BuildServiceImpl.addBuild(BuildServiceImpl.java:325)
          at jdk.internal.reflect.GeneratedMethodAccessor1155.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
          at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295)
          at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
          at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:76)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
          at com.sun.proxy.$Proxy208.addBuild(Unknown Source)
          at org.artifactory.rest.resource.ci.BuildResource.addBuild(BuildResource.java:289)
          at jdk.internal.reflect.GeneratedMethodAccessor1154.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
          at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
          at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
          at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
          at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
          at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
          at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
          at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
          at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
          at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
          at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
          at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
          at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
          at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
          at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289)
          at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256)
          at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703)
          at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416)
          at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
          at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389)
          at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342)
          at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.artifactory.webapp.servlet.RepoFilter.execute(RepoFilter.java:191)
          at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:97)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.artifactory.webapp.servlet.AccessFilter.useAuthentication(AccessFilter.java:427)
          at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:305)
          at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:208)
          at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:167)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.artifactory.webapp.servlet.RequestFilter.doFilter(RequestFilter.java:77)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.artifactory.webapp.servlet.ArtifactoryCsrfFilter.doFilter(ArtifactoryCsrfFilter.java:86)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:164)
          at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:80)
          at org.artifactory.webapp.servlet.SessionFilter.doFilter(SessionFilter.java:62)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.artifactory.webapp.servlet.ArtifactoryFilter.doFilter(ArtifactoryFilter.java:124)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
          at org.apache.catalina.valves.rewrite.RewriteValve.invoke(RewriteValve.java:304)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
          at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
          at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
          at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
          at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
          at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: org.postgresql.util.PSQLException: ERROR: value too long for type character varying(64)
          at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455)
          at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155)
          at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288)
          at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430)
          at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356)
          at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:168)
          at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:135)
          at org.jfrog.storage.JdbcHelper.executeUpdate(JdbcHelper.java:229)
          at org.artifactory.storage.db.build.dao.BuildArtifactsDao.createBuildArtifact(BuildArtifactsDao.java:60)
          at org.artifactory.storage.db.build.dao.BuildArtifactsDao.createBuildArtifacts(BuildArtifactsDao.java:54)
          at org.artifactory.storage.db.build.service.BuildStoreServiceImpl.insertModules(BuildStoreServiceImpl.java:221)
          at org.artifactory.storage.db.build.service.BuildStoreServiceImpl.addBuild(BuildStoreServiceImpl.java:137)
          ... 143 common frames omitted

      PSQL Error

      ERROR:  value too long for type character varying(64)
      STATEMENT:  INSERT INTO build_artifacts (artifact_id, module_id, artifact_name, artifact_type, sha1, md5)VALUES($1, $2, $3, $4, $5, $6)

       

        Attachments

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            samuel.bissig2 Samuel Bissig
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:

                Sync Status

                Connection: RTFACT Sync
                RTMID-21090 -
                SYNCHRONIZED
                • Last Sync Date: