org.jfrog.storage.binstore.exceptions.BinaryNotFoundException: Binary provider has no content for '.DS_Store'

JFrog JIRA | Alexis Tual | 8 months ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    Steps to reproduce : - configure existing filestore with 2 shards and redundancy of 2 : {code:xml} <config version="4"> <chain> <provider id="cache-fs" type="cache-fs"> <provider id="sharding" type="sharding"> <sub-provider id="shard1" type="state-aware"/> <sub-provider id="shard2" type="state-aware"/> </provider> </provider> </chain> <provider id="sharding" type="sharding"> <readBehavior>roundRobin</readBehavior> <writeBehavior>roundRobin</writeBehavior> <redundancy>2</redundancy> </provider> <provider id="shard1" type="state-aware"> <fileStoreDir>filestore</fileStoreDir> </provider> <provider id="shard2" type="state-aware"> <fileStoreDir>filestore2</fileStoreDir> </provider> </config> {code} - create a file in filestore/ : touch filestore/.DS_Store - schedule the balancing with the REST API : /api/system/storage/optimize - run the GC to trigger the balancing You should see an exception : {code:java} 2016-06-27 17:40:55,697 [art-exec-256] [INFO ] (o.a.a.f.m.ShardingBinaryProviderImpl:379) - Double filestore found. Activating Checksum synchronization. 2016-06-27 17:40:55,698 [art-exec-256] [INFO ] (o.a.a.f.m.ShardingBinaryProviderImpl:388) - Synchronizing Binary Stores 2016-06-27 17:40:55,699 [art-exec-256] [ERROR] (o.a.a.f.m.ShardingBinaryProviderImpl:383) - Failed to balance the sharding elements org.jfrog.storage.binstore.exceptions.BinaryNotFoundException: Binary provider has no content for '.DS_Store' at org.jfrog.storage.binstore.providers.EmptyBinaryProvider.getStream(EmptyBinaryProvider.java:55) ~[binary-store-core-1.0.0.jar:na] at org.jfrog.storage.binstore.providers.FileBinaryProviderReadOnlyBase.getStream(FileBinaryProviderReadOnlyBase.java:127) ~[binary-store-core-1.0.0.jar:na] at org.artifactory.addon.filestore.multiple.StateAwareFileBinaryProviderImpl.getStream(StateAwareFileBinaryProviderImpl.java:63) ~[artifactory-addon-filestore-4.8.2.jar:na] at org.artifactory.addon.filestore.multiple.ShardingBinaryProviderImpl.balanceInternal(ShardingBinaryProviderImpl.java:423) ~[artifactory-addon-filestore-4.8.2.jar:na] at org.artifactory.addon.filestore.multiple.ShardingBinaryProviderImpl.optimize(ShardingBinaryProviderImpl.java:380) ~[artifactory-addon-filestore-4.8.2.jar:na] at org.jfrog.storage.binstore.common.BinaryProviderManagerImpl$OptimizationBinaryProviderVisitor.collect(BinaryProviderManagerImpl.java:336) [binary-store-core-1.0.0.jar:na] at org.jfrog.storage.binstore.providers.base.BinaryProviderBase.collect(BinaryProviderBase.java:88) [binary-store-core-1.0.0.jar:na] at org.jfrog.storage.binstore.providers.base.BinaryProviderBase.collect(BinaryProviderBase.java:90) [binary-store-core-1.0.0.jar:na] at org.jfrog.storage.binstore.common.BinaryProviderManagerImpl.optimize(BinaryProviderManagerImpl.java:187) [binary-store-core-1.0.0.jar:na] at org.artifactory.storage.db.binstore.service.BinaryServiceImpl.garbageCollect(BinaryServiceImpl.java:366) [artifactory-storage-db-4.8.2.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66] at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) [spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) [spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at com.sun.proxy.$Proxy56.garbageCollect(Unknown Source) [na:na] at org.artifactory.storage.binstore.service.BinaryStoreGarbageCollectorJob.onExecute(BinaryStoreGarbageCollectorJob.java:56) [artifactory-storage-common-4.8.2.jar:na] at org.artifactory.schedule.quartz.QuartzCommand.execute(QuartzCommand.java:52) [artifactory-storage-common-4.8.2.jar:na] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.2.1.jar:na] at org.artifactory.schedule.ArtifactoryConcurrentExecutor$RunnableWrapper.run(ArtifactoryConcurrentExecutor.java:104) [artifactory-storage-common-4.8.2.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_66] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_66] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66] {code} In my case, it's due to hidden files generated by Mac OS X, but I believe any unknown file from Artifactory can trigger this.

    JFrog JIRA | 8 months ago | Alexis Tual
    org.jfrog.storage.binstore.exceptions.BinaryNotFoundException: Binary provider has no content for '.DS_Store'
  2. 0

    After some time, the context of the maven-metadata.xml file for some artifacts is disappearing. I couldn't identify under which circumstances this is happening. The xml file will be back when a new version of that artifact is published, but that won't last for too long. The file will be gone missing again. This error coms up in the logs when content for that file is required.: {code} 2016-10-28 10:19:05,884 [http-nio-8081-exec-9] [ERROR] (o.a.r.c.e.GlobalExceptionMapper:48) - Binary provider has no content for '1595a83d3157891be8dc641447cebd843a7b08ee' org.jfrog.storage.binstore.exceptions.BinaryNotFoundException: Binary provider has no content for '1595a83d3157891be8dc641447cebd843a7b08ee' at org.jfrog.storage.binstore.providers.EmptyBinaryProvider.getStream(EmptyBinaryProvider.java:56) ~[binary-store-core-1.0.1.jar:na] at org.jfrog.storage.binstore.providers.FileBinaryProviderReadOnlyBase.getStream(FileBinaryProviderReadOnlyBase.java:128) ~[binary-store-core-1.0.1.jar:na] at org.artifactory.storage.db.binstore.service.BinaryServiceImpl.getBinary(BinaryServiceImpl.java:270) ~[artifactory-storage-db-4.14.0.jar:na] at sun.reflect.GeneratedMethodAccessor318.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at com.sun.proxy.$Proxy64.getBinary(Unknown Source) ~[na:na] at org.artifactory.storage.db.fs.model.DbFsFile.getStream(DbFsFile.java:68) ~[artifactory-storage-db-4.14.0.jar:na] at org.artifactory.repo.db.DbLocalRepo.getTextFileContent(DbLocalRepo.java:186) ~[artifactory-core-4.14.0.jar:na] at org.artifactory.repo.service.RepositoryServiceImpl.getStringContent(RepositoryServiceImpl.java:803) ~[artifactory-core-4.14.0.jar:na] at org.artifactory.repo.service.RepositoryServiceImpl.getStringContent(RepositoryServiceImpl.java:793) ~[artifactory-core-4.14.0.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE] at com.sun.proxy.$Proxy50.getStringContent(Unknown Source) ~[na:na] at org.artifactory.ui.rest.service.artifacts.browse.treebrowser.actions.ViewArtifactService.getFileContent(ViewArtifactService.java:91) ~[artifactory-rest-ui-4.14.0.jar:na] at org.artifactory.ui.rest.service.artifacts.browse.treebrowser.actions.ViewArtifactService.execute(ViewArtifactService.java:54) ~[artifactory-rest-ui-4.14.0.jar:na] at org.artifactory.rest.common.service.ServiceExecutor.process(ServiceExecutor.java:38) ~[artifactory-rest-common-4.14.0.jar:na] at org.artifactory.rest.common.resource.BaseResource.runService(BaseResource.java:92) ~[artifactory-rest-common-4.14.0.jar:na] at org.artifactory.ui.rest.resource.artifacts.browse.treebrowser.tabs.views.ViewsResource.viewPom(ViewsResource.java:73) ~[artifactory-rest-ui-4.14.0.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101] at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.jar:1.19] at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) [jersey-server-1.19.jar:1.19] at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) [jersey-servlet-1.19.jar:1.19] at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) [jersey-servlet-1.19.jar:1.19] at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) [jersey-servlet-1.19.jar:1.19] at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) [catalina.jar:8.0.32] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32] at org.artifactory.webapp.servlet.RepoFilter.execute(RepoFilter.java:200) [artifactory-web-application-4.14.0.jar:na] at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:91) [artifactory-web-application-4.14.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.32] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32] at org.artifactory.webapp.servlet.AccessFilter.useAuthentication(AccessFilter.java:391) [artifactory-web-application-4.14.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:206) [artifactory-web-application-4.14.0.jar:na] at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:160) [artifactory-web-application-4.14.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.32] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32] at org.artifactory.webapp.servlet.RequestFilter.doFilter(RequestFilter.java:61) [artifactory-web-application-4.14.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.32] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32] at org.artifactory.webapp.servlet.ArtifactoryFilter.doFilter(ArtifactoryFilter.java:111) [artifactory-web-application-4.14.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.32] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.32] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) [catalina.jar:8.0.32] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.32] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [catalina.jar:8.0.32] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.32] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.32] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) [catalina.jar:8.0.32] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) [tomcat-coyote.jar:8.0.32] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) [tomcat-coyote.jar:8.0.32] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) [tomcat-coyote.jar:8.0.32] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) [tomcat-coyote.jar:8.0.32] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.32] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101] {code}

    JFrog JIRA | 4 months ago | Alexandru Ionita
    org.jfrog.storage.binstore.exceptions.BinaryNotFoundException: Binary provider has no content for '1595a83d3157891be8dc641447cebd843a7b08ee'

    Root Cause Analysis

    1. org.jfrog.storage.binstore.exceptions.BinaryNotFoundException

      Binary provider has no content for '.DS_Store'

      at org.jfrog.storage.binstore.providers.EmptyBinaryProvider.getStream()
    2. org.jfrog.storage
      FileBinaryProviderReadOnlyBase.getStream
      1. org.jfrog.storage.binstore.providers.EmptyBinaryProvider.getStream(EmptyBinaryProvider.java:55)[binary-store-core-1.0.0.jar:na]
      2. org.jfrog.storage.binstore.providers.FileBinaryProviderReadOnlyBase.getStream(FileBinaryProviderReadOnlyBase.java:127)[binary-store-core-1.0.0.jar:na]
      2 frames
    3. org.artifactory.addon
      ShardingBinaryProviderImpl.optimize
      1. org.artifactory.addon.filestore.multiple.StateAwareFileBinaryProviderImpl.getStream(StateAwareFileBinaryProviderImpl.java:63)[artifactory-addon-filestore-4.8.2.jar:na]
      2. org.artifactory.addon.filestore.multiple.ShardingBinaryProviderImpl.balanceInternal(ShardingBinaryProviderImpl.java:423)[artifactory-addon-filestore-4.8.2.jar:na]
      3. org.artifactory.addon.filestore.multiple.ShardingBinaryProviderImpl.optimize(ShardingBinaryProviderImpl.java:380)[artifactory-addon-filestore-4.8.2.jar:na]
      3 frames
    4. org.jfrog.storage
      BinaryProviderManagerImpl.optimize
      1. org.jfrog.storage.binstore.common.BinaryProviderManagerImpl$OptimizationBinaryProviderVisitor.collect(BinaryProviderManagerImpl.java:336)[binary-store-core-1.0.0.jar:na]
      2. org.jfrog.storage.binstore.providers.base.BinaryProviderBase.collect(BinaryProviderBase.java:88)[binary-store-core-1.0.0.jar:na]
      3. org.jfrog.storage.binstore.providers.base.BinaryProviderBase.collect(BinaryProviderBase.java:90)[binary-store-core-1.0.0.jar:na]
      4. org.jfrog.storage.binstore.common.BinaryProviderManagerImpl.optimize(BinaryProviderManagerImpl.java:187)[binary-store-core-1.0.0.jar:na]
      4 frames
    5. org.artifactory.storage
      BinaryServiceImpl.garbageCollect
      1. org.artifactory.storage.db.binstore.service.BinaryServiceImpl.garbageCollect(BinaryServiceImpl.java:366)[artifactory-storage-db-4.8.2.jar:na]
      1 frame
    6. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[na:1.8.0_66]
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[na:1.8.0_66]
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[na:1.8.0_66]
      4. java.lang.reflect.Method.invoke(Method.java:497)[na:1.8.0_66]
      4 frames
    7. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      2 frames
    8. com.sun.proxy
      $Proxy56.garbageCollect
      1. com.sun.proxy.$Proxy56.garbageCollect(Unknown Source)[na:na]
      1 frame
    9. org.artifactory.storage
      BinaryStoreGarbageCollectorJob.onExecute
      1. org.artifactory.storage.binstore.service.BinaryStoreGarbageCollectorJob.onExecute(BinaryStoreGarbageCollectorJob.java:56)[artifactory-storage-common-4.8.2.jar:na]
      1 frame
    10. org.artifactory.schedule
      QuartzCommand.execute
      1. org.artifactory.schedule.quartz.QuartzCommand.execute(QuartzCommand.java:52)[artifactory-storage-common-4.8.2.jar:na]
      1 frame
    11. quartz
      JobRunShell.run
      1. org.quartz.core.JobRunShell.run(JobRunShell.java:202)[quartz-2.2.1.jar:na]
      1 frame
    12. org.artifactory.schedule
      ArtifactoryConcurrentExecutor$RunnableWrapper.run
      1. org.artifactory.schedule.ArtifactoryConcurrentExecutor$RunnableWrapper.run(ArtifactoryConcurrentExecutor.java:104)[artifactory-storage-common-4.8.2.jar:na]
      1 frame
    13. Java RT
      Thread.run
      1. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[na:1.8.0_66]
      2. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[na:1.8.0_66]
      3. java.lang.Thread.run(Thread.java:745)[na:1.8.0_66]
      3 frames