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

lower log level for failed insertion to BlobInfo table

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.0.0
    • Component/s: None
    • Labels:

      Description

      When distributing to multiple edge nodes we might get the following exception:

      2018-05-09 16:03:37,643 [http-nio-8081-exec-5] [WARN ] (o.a.a.c.b.BlobInfoServiceImpl:47) - Storage exception during cache insertion: 
      org.artifactory.exception.SQLIntegrityException: Failed to create blobInfo, blobInfo with checksum 9d57558851e6176c5491ef79864366d930578d28c93cbbceb71f2a0678b458b8 already exists
          at org.artifactory.storage.db.blob.infos.service.BlobInfosDBServiceImpl.putBlobInfo(BlobInfosDBServiceImpl.java:39)
          at org.artifactory.addon.common.blobinfo.BlobInfoServiceImpl.getBlobInfo(BlobInfoServiceImpl.java:44)
          at org.artifactory.addon.distribution.strategy.ReplicatorDeployDistributionStrategy.getLocalBlobInfo(ReplicatorDeployDistributionStrategy.java:103)
          at org.artifactory.addon.distribution.strategy.ReplicatorDeployDistributionStrategy.distributeArtifact(ReplicatorDeployDistributionStrategy.java:78)
          at org.artifactory.addon.distribution.DistributionAddonImpl.distributeArtifact(DistributionAddonImpl.java:118)
          at org.artifactory.addon.distribution.DistributionAddonImpl.distributeArtifactStreaming(DistributionAddonImpl.java:75)
          at org.artifactory.rest.resource.replication.ReplicationResource.lambda$replicateArtifactStreaming$0(ReplicationResource.java:191)
          at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:71)
          at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:57)
          at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:302)
          at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1510)
          at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
          at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
          at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
          at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
          at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
          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:184)
          at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:93)
          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.authentication.ArtifactoryAuthenticationFilterChain.lambda$doFilter$1(ArtifactoryAuthenticationFilterChain.java:133)
          at org.artifactory.webapp.servlet.authentication.PropsAuthenticationFilter.doFilter(PropsAuthenticationFilter.java:131)
          at org.artifactory.webapp.servlet.authentication.ArtifactoryAuthenticationFilterChain.doFilter(ArtifactoryAuthenticationFilterChain.java:169)
          at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:312)
          at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:209)
          at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:168)
          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:78)
          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:56)
          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.valves.rewrite.RewriteValve.invoke(RewriteValve.java:279)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
          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:342)
          at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
          at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
          at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
          at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
          at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          at java.lang.Thread.run(Thread.java:748)
      Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '9d57558851e6176c5491ef79864366d930578d28c93cbbceb71f2a0678b458b8' for key 'PRIMARY'
          at sun.reflect.GeneratedConstructorAccessor234.newInstance(Unknown Source)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
          at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
          at com.mysql.jdbc.Util.getInstance(Util.java:408)
          at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
          at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
          at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)
          at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)
          at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
          at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)
          at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
          at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
          at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)
          at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)
          at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)
          at org.jfrog.storage.JdbcHelper.executeUpdate(JdbcHelper.java:215)
          at org.artifactory.storage.db.blob.infos.dao.BlobInfosDao.create(BlobInfosDao.java:40)
          at org.artifactory.storage.db.blob.infos.service.BlobInfosDBServiceImpl.putBlobInfo(BlobInfosDBServiceImpl.java:37)
          ... 60 common frames omitted
      

      This is not a real issue, it just mean the blob info was already saved by another thread / instance.

        Attachments

          Activity

            People

            • Assignee:
              galba Gal Ben Ami
              Reporter:
              galba Gal Ben Ami
              Assigned QA:
              Eli Givoni
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: