Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reposilite service availability affected during upload #17

Open
malliaridis opened this issue May 30, 2024 · 2 comments
Open

Reposilite service availability affected during upload #17

malliaridis opened this issue May 30, 2024 · 2 comments
Assignees

Comments

@malliaridis
Copy link
Contributor

This is the continuation of dzikoysk/reposilite#2121 (see issue for previous conversation)

Bug Description

When uploading an artifact to a kubernetes deployment of reposilite with port-forward reposilite becomes unavailable most of the times and the upload rarely completes successfully.

Environment

  • Host OS: Windows
  • Docker Desktop
  • k3d
  • Reposilite 3.5.12 via Helm chart according to Kubernetes guide (no additional configuration used, only different namespace)

Steps to reproduce

  1. Deploy a simple reposilite instance on kubernetes according to guide
  2. Port-forward to a port to make reposilite available on the host machine
  3. Generate a token
  4. Try to upload an artifact with maven-publish
  5. Check web page (should be unreachable) and port-forwarding output (should return at some point a timeout)

Expected Behavior

Reposilite availability should be reliable and consistent.

Actual Behavior

Reposilite availability during uploads is unpredictable.

Additional Information

The uploaded file is about 50MB-100MB large. Initially I thought this was because of an outdated / invalid token (because it behaves the same way), but after double-checking it this seems not to be related to tokens.

When not uploading a file, reposilite looks to work just fine. The gradle task does also never end when the upload fails.

Reposilite version

3.x

Relevant log output

Nothing was logged on reposilite site (or I couldn't find any logs)


port-forwarding error during upload (repeating):

Handling connection for 8083
E0527 11:41:12.692728   27436 portforward.go:347] error creating error stream for port 8083 -> 8080: Timeout occurred
Handling connection for 8083
E0527 11:40:10.649155   27436 portforward.go:347] error creating error stream for port 8083 -> 8080: Timeout occurred
@malliaridis
Copy link
Contributor Author

After further investigation the bug seems to occur when I try to redeploy an artifact with the same version but have not enabled the redeployment option for the according repository (releases/snapshots). This breaks the port-forwarding and renders the service unavailable on the host machine. Once the service becomes unavailable, the port-forwarding needs to be restarted in order to make the service available again.

The simplest solution is to just enabled redeployment for the repository or not redeploy the artifacts with the same version.

In a simple docker deployment the gradle task fails successfully if the redeployment is disabled.

@malliaridis
Copy link
Contributor Author

malliaridis commented Jun 1, 2024

Additional notes:

  • Reposilite is deployed in my case on a different namespace (should not have any effect)
  • Reposilite is forwarded to a different port than the service is listening to (should not have any effect)
  • The service is forwarded via the following command:
    kubectl port-forward -n reposilite-system svc/reposilite 8083:8080

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants