Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-10970

Ruby migration has problems with gems that have non-standard platform strings

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.0
    • Fix Version/s: 3.1.0
    • Component/s: Migration, RubyGems
    • Labels:
      None
    • Sprint:
      Sprint 80

      Description

      While setting up for demo of rubygems migration, I noticed this gem causing issues when migrating to NX3

      2016-09-27 12:35:47,500-0400 ERROR [plan-executor-4-thread-3] admin com.sonatype.nexus.migration.repository.ProcessChangesStep - Failed processing of CREATE /gems/m/mysql2-0.4.4-x64-mingw32.gem, will ignore and move on. platform string needs none or two '-': x64-mingw32
      java.lang.IllegalArgumentException: platform string needs none or two '-': x64-mingw32
              at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) [na:na]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.8.0_91]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [na:1.8.0_91]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [na:1.8.0_91]
              at java.lang.reflect.Method.invoke(Method.java:498) [na:1.8.0_91]
              at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [na:na]
              at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [na:na]
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46) [na:na]
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91) [na:na]
              at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [na:na]
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [na:na]
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) [na:na]
              at org.sonatype.nexus.repository.rubygems.marshal.GemPlatform.<init>(GemPlatform.groovy:47) [na:na]
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.8.0_91]
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [na:1.8.0_91]
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [na:1.8.0_91]
              at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [na:1.8.0_91]
              at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80) [na:na]
              at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105) [na:na]
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247) [na:na]
              at org.sonatype.nexus.repository.rubygems.marshal.GemSpecification.<init>(GemSpecification.groovy:77) [na:na]
              at org.sonatype.nexus.repository.rubygems.internal.GemsUtils.retrieveGemSpecification(GemsUtils.java:187) [na:na]
              at org.sonatype.nexus.repository.rubygems.internal.RubygemsContentFacetImpl.putGemFile(RubygemsContentFacetImpl.java:273) [na:na]
              at org.sonatype.nexus.repository.rubygems.internal.RubygemsContentFacetImpl.putRubygemsFile(RubygemsContentFacetImpl.java:207) [na:na]
              at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:45) [na:na]
              at com.sonatype.nexus.migration.repository.migrators.RubygemsRepositoryMigrator.lambda$1(RubygemsRepositoryMigrator.java:66) [na:na]
              at org.sonatype.nexus.transaction.Operations$1.proceed(Operations.java:138) [na:na]
              at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:54) [na:na]
              at org.sonatype.nexus.transaction.Operations.transactional(Operations.java:150) [na:na]
              at org.sonatype.nexus.transaction.TransactionalBuilder.call(TransactionalBuilder.java:88) [na:na]
              at com.sonatype.nexus.migration.repository.migrators.RepositoryMigratorSupport.inStorageTx(RepositoryMigratorSupport.java:210) [na:na]
              at com.sonatype.nexus.migration.repository.migrators.RubygemsRepositoryMigrator.streamContent(RubygemsRepositoryMigrator.java:65) [na:na]
              at com.sonatype.nexus.migration.repository.migrators.RepositoryMigratorSupport.streamWithRetry(RepositoryMigratorSupport.java:191) [na:na]
              at com.sonatype.nexus.migration.repository.migrators.RepositoryMigratorSupport.ingestContent(RepositoryMigratorSupport.java:182) [na:na]
              at com.sonatype.nexus.migration.repository.migrators.RepositoryMigratorSupport.processChange(RepositoryMigratorSupport.java:147) [na:na]
              at com.sonatype.nexus.migration.repository.RepositoryMigrator$processChange.call(Unknown Source) [na:na]
              at com.sonatype.nexus.migration.repository.ProcessChangesStep$_submit_closure2.doCall(ProcessChangesStep.groovy:314) [na:na]
              at com.sonatype.nexus.migration.repository.ProcessChangesStep$_submit_closure2.doCall(ProcessChangesStep.groovy) [na:na]
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.8.0_91]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [na:1.8.0_91]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [na:1.8.0_91]
              at java.lang.reflect.Method.invoke(Method.java:498) [na:1.8.0_91]
              at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [na:na]
              at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [na:na]
              at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) [na:na]
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) [na:na]
              at groovy.lang.Closure.call(Closure.java:426) [na:na]
              at groovy.lang.Closure.call(Closure.java:420) [na:na]
              at groovy.lang.Closure.run(Closure.java:507) [na:na]
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_91]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_91]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_91]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91]
              at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
      

        Attachments

          Activity

            People

            Assignee:
            dbradicich Damian Bradicich
            Reporter:
            dbradicich Damian Bradicich
            Last Updated By:
            Peter Lynch Peter Lynch
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Date of First Response:

                tigCommentSecurity.panel-title