Skip to content

Get 404 error during upload artefacts to a maven repository #377

@soreshin

Description

@soreshin

What happened:

  1. I had made backup from maven2-type repository with n3dr-tool (version 7.2.4)
  2. I tried to restore result of backup from point 1 to nexus with n3dr-tool (version 7.2.4) and I got an error.
  3. The I tried to restore result of backup from point 1 to nexus n3dr-tool (version 7.1.0) with the same command as previous try and it ended successfully.

What you expected to happen:

I expected that version 7.2.4 can restore maven artifacts too. As older versions do 😄

Anything else we need to know?:

Command that I used for backup:
./n3dr repositoriesV2 --backup --directory-prefix ./mvn --config ./config.yaml --n3drRepo maven-releases

Command that I used for restore
./n3dr repositoriesV2 --upload --directory-prefix /home/s.oreshin/restore/move-mvn --config ./config.yaml --n3drRepo maven-releases

Text of config.yaml:

---
n3drPass: my_password
n3drURL: nexus_hostname
n3drUser: my_login
showLogo: false

The error looks like:

  1. Lines with [INFO] messages like about every file:
INFO[0010]/home/runner/work/n3dr/n3dr/internal/app/n3dr/artifactsv2/upload/upload.go:307 github.com/030/n3dr/internal/app/n3dr/artifactsv2/upload.(*Nexus3).checkLocalChecksumAndCompareWithOneInRemote() URL:             https://nexus_hostname/repository/maven-releases/com/mycompany/ml/feature-inventory-proto_2.12/23.2.6.0/feature-inventory-proto_2.12-23.2.6.0.jar.sha512
INFO[0010]/home/runner/work/n3dr/n3dr/internal/app/n3dr/artifactsv2/upload/upload.go:294 github.com/030/n3dr/internal/app/n3dr/artifactsv2/upload.(*Nexus3).checkLocalChecksumAndCompareWithOneInRemote() /home/s.oreshin/restore/move-mvn/maven-releases/com/mycompany/services/admin-service-model_2.12/8.1.2/admin-service-model_2.12-8.1.2-javadoc.jardc2f29671fe022febeda09604d941285fe13dbb07d8895b4cb4784a22add7bc665223e0480b7132cb0cfe965392645d827d0069169cf3822f9d8073b4f570d46
INFO[0010]/home/runner/work/n3dr/n3dr/internal/app/n3dr/artifactsv2/upload/upload.go:307 github.com/030/n3dr/internal/app/n3dr/artifactsv2/upload.(*Nexus3).checkLocalChecksumAndCompareWithOneInRemote() URL:             https://nexus_hostname/repository/maven-releases/com/mycompany/services/admin-service-model_2.12/8.1.2/admin-service-model_2.12-8.1.2-javadoc.jar.sha512
  1. Then a pack of 404 HTML errors for every file that has to be uploaded
 <link rel="stylesheet" type="text/css" href="../../../../../../../static/css/nexus-content.css?3.40.1-01"/>
</head>
<body>
<div class="nexus-header">
  <a href="../../../../../../..">
    <div class="product-logo">
      <img src="../../../../../../../static/rapture/resources/icons/x32/nexus-white.png?3.40.1-01" alt="Product logo"/>
    </div>
    <div class="product-id">
      <div class="product-id__line-1">
        <span class="product-name">Nexus Repository Manager</span>
      </div>
      <div class="product-id__line-2">
        <span class="product-spec">OSS 3.40.1-01</span>
      </div>
    </div>
  </a>
</div>

<div class="nexus-body">
  <div class="content-header">
    <img src="../../../../../../../static/rapture/resources/icons/x32/exclamation.png?3.40.1-01" alt="Exclamation point" aria-role="presentation"/>
    <span class="title">Error 404</span>
    <span class="description">Not Found</span>
  </div>
  <div class="content-body">
    <div class="content-section">
      com/mycompany/commons/spark-yarn-supervisor_2.11/1.3.0/spark-yarn-supervisor_2.11-1.3.0.jar.sha512
    </div>
  </div>
</div>
</body>
</html>

Environment:

  • nexus version: 3.40.1-01
  • n3dr version (use n3dr -v): command n3dr -v doesn't work actually
  • OS (e.g: cat /etc/os-release): Rocky Linux 8.5 (Green Obsidian)
  • Kernel (e.g. uname -a): 4.18.0-348.el8.0.2.x86_64 CI #1 SMP Sun Nov 14 00:51:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpinned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions