Details

    • Type: Bug
    • Status: Open
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: 4.11.0
    • Fix Version/s: None
    • Component/s: CocoaPods
    • Labels:
      None
    • Environment:

      CentOs 6.8

      Description

      I have upload a tar.gz file using curl (as specified in the setupMe section of repository) under path /MyFramework/1.1.0/myframework.tar.gz.

      The spec file appear under .specs folder in the repository.

      If I select the tar.gz file and I try to delete it, an error appears: "Parent MyFramework/1.1.0 must be a folder"

      Follow the stacktrace:

      2016-08-16 17:48:22,994 [http-nio-8081-exec-255] [ERROR] (o.a.r.c.e.GlobalExceptionMapper:48) - Could not create file system item Parent MyFramework/1.1.0 must be a folder
      java.lang.IllegalArgumentException: Could not create file system item Parent MyFramework/1.1.0 must be a folder
      	at org.artifactory.storage.db.fs.model.DbFsItemProvider.getOrCreateMutableFsItem(DbFsItemProvider.java:160) ~[artifactory-storage-db-4.11.0.jar:na]
      	at org.artifactory.storage.db.fs.model.DbFileProvider.getOrCreMutableFile(DbFileProvider.java:75) ~[artifactory-storage-db-4.11.0.jar:na]
      	at org.artifactory.repo.db.DbStoringRepoMixin.createOrGetFile(DbStoringRepoMixin.java:654) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.db.DbLocalRepo.createOrGetFile(DbLocalRepo.java:227) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.BaseRepoPathMover.getMutableVfsTargetFile(BaseRepoPathMover.java:533) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.BaseRepoPathMover.copyFile(BaseRepoPathMover.java:391) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.DefaultRepoPathCopier.operationOnFile(DefaultRepoPathCopier.java:62) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.BaseRepoPathMover.moveFile(BaseRepoPathMover.java:507) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.BaseRepoPathMover.handleFile(BaseRepoPathMover.java:365) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.BaseRepoPathMover.moveCopyRecursive(BaseRepoPathMover.java:176) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.BaseRepoPathMover.moveOrCopy(BaseRepoPathMover.java:116) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.CopyRepoPathService.handleMoveOrCopy(CopyRepoPathService.java:46) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.RepoPathMover.moveOrCopy(RepoPathMover.java:97) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.CopyRepoPathService.executeOperation(CopyRepoPathService.java:38) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.mover.CopyRepoPathService$$FastClassBySpringCGLIB$$c096001b.invoke(<generated>) ~[spring-core-4.1.5.RELEASE.jar:na]
      	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.artifactory.repo.service.mover.CopyRepoPathService$$EnhancerBySpringCGLIB$$4e1bb80.executeOperation(<generated>) ~[spring-core-4.1.5.RELEASE.jar:na]
      	at org.artifactory.repo.service.RepositoryServiceImpl.moveOrCopy(RepositoryServiceImpl.java:1256) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.RepositoryServiceImpl.copy(RepositoryServiceImpl.java:1222) ~[artifactory-core-4.11.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.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:78) ~[artifactory-storage-common-4.11.0.jar:na]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at com.sun.proxy.$Proxy46.copy(Unknown Source) ~[na:na]
      	at org.artifactory.repo.service.trash.TrashServiceImpl.trashAsSystem(TrashServiceImpl.java:137) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.trash.TrashServiceImpl.copyToTrash(TrashServiceImpl.java:125) ~[artifactory-core-4.11.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.$Proxy82.copyToTrash(Unknown Source) ~[na:na]
      	at org.artifactory.repo.interceptor.TrashInterceptor.beforeDelete(TrashInterceptor.java:53) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.interceptor.storage.StorageInterceptorsImpl.beforeDelete(StorageInterceptorsImpl.java:78) ~[artifactory-core-4.11.0.jar:na]
      	at sun.reflect.GeneratedMethodAccessor98.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.$Proxy62.beforeDelete(Unknown Source) ~[na:na]
      	at org.artifactory.storage.db.fs.model.DbMutableItem.fireBeforeDeleteEvent(DbMutableItem.java:291) ~[artifactory-storage-db-4.11.0.jar:na]
      	at org.artifactory.storage.db.fs.model.DbMutableFile.delete(DbMutableFile.java:156) ~[artifactory-storage-db-4.11.0.jar:na]
      	at org.artifactory.repo.db.DbStoringRepoMixin.undeploy(DbStoringRepoMixin.java:690) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.db.DbLocalRepo.undeploy(DbLocalRepo.java:188) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.RepositoryServiceImpl.undeployInTx(RepositoryServiceImpl.java:1440) ~[artifactory-core-4.11.0.jar:na]
      	at sun.reflect.GeneratedMethodAccessor282.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.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.artifactory.storage.fs.lock.aop.LockingAdvice.invoke(LockingAdvice.java:76) ~[artifactory-storage-common-4.11.0.jar:na]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at com.sun.proxy.$Proxy46.undeployInTx(Unknown Source) ~[na:na]
      	at org.artifactory.repo.service.RepositoryServiceImpl.deleteSingleLeaf(RepositoryServiceImpl.java:1432) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.RepositoryServiceImpl.undeploySingleItemTransactions(RepositoryServiceImpl.java:1401) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.RepositoryServiceImpl.undeployMultiTransaction(RepositoryServiceImpl.java:1385) ~[artifactory-core-4.11.0.jar:na]
      	at org.artifactory.repo.service.RepositoryServiceImpl.undeployMultiTransaction(RepositoryServiceImpl.java:1) ~[artifactory-core-4.11.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.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.artifactory.request.aop.RequestAdvice.invoke(RequestAdvice.java:67) ~[artifactory-core-4.11.0.jar:na]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.1.5.RELEASE.jar:4.1.5.RELEASE]
      	at com.sun.proxy.$Proxy46.undeployMultiTransaction(Unknown Source) ~[na:na]
      	at org.artifactory.ui.rest.service.artifacts.browse.treebrowser.actions.DeleteArtifactService.deleteArtifact(DeleteArtifactService.java:79) ~[artifactory-rest-ui-4.11.0.jar:na]
      	at org.artifactory.ui.rest.service.artifacts.browse.treebrowser.actions.DeleteArtifactService.execute(DeleteArtifactService.java:53) ~[artifactory-rest-ui-4.11.0.jar:na]
      	at org.artifactory.rest.common.service.ServiceExecutor.process(ServiceExecutor.java:38) ~[artifactory-rest-common-4.11.0.jar:na]
      	at org.artifactory.rest.common.resource.BaseResource.runService(BaseResource.java:92) ~[artifactory-rest-common-4.11.0.jar:na]
      	at org.artifactory.ui.rest.resource.artifacts.browse.treebrowser.actions.ArtifactActionsResource.deleteArtifact(ArtifactActionsResource.java:132) ~[artifactory-rest-ui-4.11.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.11.0.jar:na]
      	at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:91) [artifactory-web-application-4.11.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:381) [artifactory-web-application-4.11.0.jar:na]
      	at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:203) [artifactory-web-application-4.11.0.jar:na]
      	at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:157) [artifactory-web-application-4.11.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.11.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.11.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]
      Caused by: org.artifactory.api.repo.exception.RepoRejectException: Parent MyFramework/1.1.0 must be a folder
      	at org.artifactory.storage.db.fs.model.DbFsItemProvider.createAncestors(DbFsItemProvider.java:173) ~[artifactory-storage-db-4.11.0.jar:na]
      	at org.artifactory.storage.db.fs.model.DbFsItemProvider.getOrCreateMutableFsItem(DbFsItemProvider.java:138) ~[artifactory-storage-db-4.11.0.jar:na]
      	... 136 common frames omitted
      
      

      It's also not possible delete repository!

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              nfalco79 Nikolas Falco
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: