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

500 responses from Nexus after enabling quarantine on NuGet proxy repository

    XMLWordPrintable

    Details

    • Story Points:
      3
    • Release Note:
      Yes

      Description

      Reproduce steps:

      1. Configure Nexus 3.3.1 to use an IQ server
      2. Set up audit/quarantine capability for a proxy of "https://www.nuget.org/api/v2/".  Enable quarantine for this capability
      3. Request a NuGet package through the server, such as"http://localhost:8081/repository/nuget.org-proxy/Newtonsoft.Json/10.0.2" 

       

      You'll get a 500 response from the server.   Note that this affects all new component requests, not just the first one.

      Not all repository formats are affected by this bug.  I was not able to reproduce this using Maven, for example. 

      When the failure occurs the log shows:

       

      2017-06-01 11:07:21,705-0500 WARN  [qtp1583363509-140] admin com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary - Error deserializing record with id #29:0 send this data for debugging: AAphc3NldD0AAABEPwAAAEZBAAAATDsAAABSRwAACUsBAAAJTUkAAAlkSwAACWhNAAAJeE8AAAnTUQAACdlTAAAJ3wAuAApudWdldJK1ysaMVwoHCm51Z2V0AAAAmQwHEGNoZWNrc3VtAAAIGAwHDmNvbnRlbnQAAAjcDAcKY2FjaGUAAAkUDAcUcHJvdmVuYW5jZQAACS8MOgc0cmVxdWlyZV9saWNlbnNlX2FjY2VwdGFuY2UAAAK/AAcgcmVwb3J0X2FidXNlX3VybAAAAsAHBxBrZXl3b3JkcwAAAwMHBxhwYWNrYWdlX3NpemUAAANzAwcWZGVzY3JpcHRpb24AAAN3BwcWcHJvamVjdF91cmwAAAO2BwcQbGFuZ3VhZ2UAAAPVBwcKdGl0bGUAAAPbBwcmZ2FsbGVyeV9kZXRhaWxzX3VybAAAA+QHByxwYWNrYWdlX2hhc2hfYWxnb3JpdGhtAAAEGgcHBGlkAAAEIQcHEGljb25fdXJsAAAEMQcHDnN1bW1hcnkAAARoBwcYbGFzdF91cGRhdGVkAAAEaQYHGmlzX3ByZXJlbGVhc2UAAARvAAcOY3JlYXRlZAAABHAGBxJwdWJsaXNoZWQAAAR2BgcOdmVyc2lvbgAABHwHBxxkb3dubG9hZF9jb3VudAAABIMBBxhkZXBlbmRlbmNpZXMAAASHBwcIdGFncwAABwsHByx2ZXJzaW9uX2Rvd25sb2FkX2NvdW50AAAHEAEHEGxvY2F0aW9uAAAHFAcHFG5hbWVfb3JkZXIAAAdQBwcYcGFja2FnZV9oYXNoAAAHaAcHFmxpY2Vuc2VfdXJsAAAHwgcHDmF1dGhvcnMAAAgEBwciaXNfbGF0ZXN0X3ZlcnNpb24AAAgWAAc0aXNfYWJzb2x1dGVfbGF0ZXN0X3ZlcnNpb24AAAgXAACCAWh0dHBzOi8vd3d3Lm51Z2V0Lm9yZy9wYWNrYWdlcy9OZXd0b25zb2Z0Lkpzb24vMTAuMC4yL1JlcG9ydEFidXNl3AFuZXd0b25zb2Z0Lmpzb24ganNvbi5uZXQganNvbi5uZXQgaXMgYSBwb3B1bGFyIGhpZ2gtcGVyZm9ybWFuY2UganNvbiBmcmFtZXdvcmsgZm9yIC5uZXQganNvbiBqYW1lcyBuZXd0b24ta2luZ5K/+wF8SnNvbi5ORVQgaXMgYSBwb3B1bGFyIGhpZ2gtcGVyZm9ybWFuY2UgSlNPTiBmcmFtZXdvcmsgZm9yIC5ORVQ8aHR0cDovL3d3dy5uZXd0b25zb2Z0LmNvbS9qc29uCmVuLVVTEEpzb24uTkVUamh0dHBzOi8vd3d3Lm51Z2V0Lm9yZy9wYWNrYWdlcy9OZXd0b25zb2Z0Lkpzb24vMTAuMC4yDFNIQTUxMh5OZXd0b25zb2Z0Lkpzb25saHR0cDovL3d3dy5uZXd0b25zb2Z0LmNvbS9jb250ZW50L2ltYWdlcy9udWdldGljb24ucG5nAPzslu7lVgD87Jbu5Vb87Jbu5VYMMTAuMC4yqraOOYQKOjpuZXQ0NXw6Om5ldDQwfDo6bmV0MzV8OjpuZXQyMHw6OnBvcnRhYmxlNDUtbmV0NDUrd2luOCt3cDgrd3BhODF8Ojpwb3J0YWJsZTQwLW5ldDQwK3NsNSt3aW44K3dwOCt3cGE4MXxNaWNyb3NvZnQuQ1NoYXJwOls0LjMuMCwgKTpuZXRzdGFuZGFyZDEuM3xORVRTdGFuZGFyZC5MaWJyYXJ5OlsxLjYuMSwgKTpuZXRzdGFuZGFyZDEuM3xTeXN0ZW0uQ29tcG9uZW50TW9kZWwuVHlwZUNvbnZlcnRlcjpbNC4zLjAsICk6bmV0c3RhbmRhcmQxLjN8U3lzdGVtLlJ1bnRpbWUuU2VyaWFsaXphdGlvbi5Gb3JtYXR0ZXJzOls0LjMuMCwgKTpuZXRzdGFuZGFyZDEuM3xTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLlByaW1pdGl2ZXM6WzQuMy4wLCApOm5ldHN0YW5kYXJkMS4zfFN5c3RlbS5YbWwuWG1sRG9jdW1lbnQ6WzQuMy4wLCApOm5ldHN0YW5kYXJkMS4zfE1pY3Jvc29mdC5DU2hhcnA6WzQuMy4wLCApOm5ldHN0YW5kYXJkMS4wfE5FVFN0YW5kYXJkLkxpYnJhcnk6WzEuNi4xLCApOm5ldHN0YW5kYXJkMS4wfFN5c3RlbS5Db21wb25lbnRNb2RlbC5UeXBlQ29udmVydGVyOls0LjMuMCwgKTpuZXRzdGFuZGFyZDEuMHxTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLlByaW1pdGl2ZXM6WzQuMy4wLCApOm5ldHN0YW5kYXJkMS4wCGpzb26y46MBdmh0dHBzOi8vd3d3Lm51Z2V0Lm9yZy9hcGkvdjIvcGFja2FnZS9OZXd0b25zb2Z0Lkpzb24vMTAuMC4yLmpzb24ubmV0bmV3dG9uc29mdC5qc29usAFpd0VsU1UySVhtd0d2eXRKc2V6eURNTDJaV0RrRzJKelRZemxVL0JObG16TWRsbVJ2Ym53SVRzR0dZNzRnd1ZFcERsaTFVZE9Ma01UNy8zanhXdlh6QT09gAFodHRwczovL3Jhdy5naXRodWIuY29tL0phbWVzTksvTmV3dG9uc29mdC5Kc29uL21hc3Rlci9MSUNFTlNFLm1kIkphbWVzIE5ld3Rvbi1LaW5nAQEEBwxzaGE1MTIAAAgxBwcIc2hhMQAACLMHgAI4YjAxMjU0OTRkODg1ZTZjMDZiZjJiNDliMWVjZjIwY2MyZjY2NTYwZTQxYjYyNzM0ZDhjZTU1M2YwNGQ5NjZjY2M3NjU5OTFiZGI5ZjAyMTNiMDYxOThlZjg4MzA1NDRhNDM5NjJkNTQ3NGUyZTQzMTNlZmZkZTNjNTZiZDdjY1A1MDZkMTkzODcwY2Q3YzBiMTE2YzFlYWM2NDAwZTBiODViMDcwOThhBAcIZXRhZwAACPwHBxpsYXN0X21vZGlmaWVkAAAJDgYiMHg4RDQ3OTkyQzc1QjY1Q0XAqZLW5VYCBxpsYXN0X3ZlcmlmaWVkAAAJKQbasMrGjFcCByZoYXNoZXNfbm90X3ZlcmlmaWVkAAAJSgAAMgAsTmV3dG9uc29mdC5Kc29uLzEwLjAuMpK/+wEeYXBwbGljYXRpb24vemlwsgFkZWZhdWx0QDc2OTkzNTkxLTgxNkYxNkNBLThGNzc0REVCLTI2MUYzQzQyLTZBRDE4RDZFOjE0YjNkZmExLTc3YzgtNDI5My05NWQ5LWIxN2Y3NWIzZjIzZIisysaMV4a1ysaMV4a1ysaMVw==
      2017-06-01 11:07:21,729-0500 WARN  [qtp1583363509-140] admin org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: GET /repository/nuget.org-proxy/Newtonsoft.Json/10.0.2
      com.orientechnologies.orient.core.exception.ODatabaseException: The database instance is not set in the current thread. Be sure to set it with: ODatabaseRecordThreadLocal.INSTANCE.set(db);
      at com.orientechnologies.orient.core.db.ODatabaseRecordThreadLocal.get(ODatabaseRecordThreadLocal.java:51) [na:na]
      at com.orientechnologies.orient.core.record.ORecordAbstract.getDatabase(ORecordAbstract.java:237) [na:na]
      at com.orientechnologies.orient.core.record.impl.ODocument.getGlobalPropertyById(ODocument.java:2194) [na:na]
      at com.orientechnologies.orient.core.record.impl.ODocumentInternal.getGlobalPropertyById(ODocumentInternal.java:64) [na:na]
      at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.getGlobalProperty(ORecordSerializerBinaryV0.java:513) [na:na]
      at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserialize(ORecordSerializerBinaryV0.java:259) [na:na]
      at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:80) [na:na]
      at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1854) [na:na]
      at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:2623) [na:na]
      at com.orientechnologies.orient.core.record.impl.ODocument.setDirty(ODocument.java:1421) [na:na]
      at com.orientechnologies.orient.core.record.impl.ODocument.setDirty(ODocument.java:63) [na:na]
      at com.orientechnologies.orient.core.db.record.OTrackedMap.setDirty(OTrackedMap.java:167) [na:na]
      at com.orientechnologies.orient.core.db.record.OTrackedMap.fireCollectionChangedEvent(OTrackedMap.java:226) [na:na]
      at com.orientechnologies.orient.core.db.record.OTrackedMap.put(OTrackedMap.java:82) [na:na]
      at org.sonatype.nexus.common.collect.NestedAttributesMap.child(NestedAttributesMap.java:117) [na:na]
      at com.sonatype.nexus.clm.internal.QuarantineStatusUtil.getAttributes(QuarantineStatusUtil.java:99) [na:na]
      at com.sonatype.nexus.clm.internal.QuarantineStatusUtil.getQuarantineStatus(QuarantineStatusUtil.java:85) [na:na]
      at com.sonatype.nexus.clm.internal.QuarantineContributedHandler.handle(QuarantineContributedHandler.java:68) [na:na]

       

      When we confirm the fix, we need to make sure that we haven't left a whole bunch of artifacts in pending status.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              fmilens Frederick Milens
              Reporter:
              rseddon Rich Seddon
              Last Updated By:
              Peter Lynch
              Team:
              Nexus - Formats
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title