-
Notifications
You must be signed in to change notification settings - Fork 74
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
Storing logs fails with operation error S3: UploadPart, https response error StatusCode: 404 ... api error NoSuchUpload: UnknownError
#719
Comments
Excerpt from the above:
Does this |
To answer my own comment, it seems to be bytes so this would be 207Mb: https://github.com/tektoncd/results/blob/32314594d4e5cf6de35e13cb7429ae216a969781/pkg/api/server/v1alpha2/logs.go#L173C21-L173C28 |
@iainsproat I believe the size of the log has something to do with this. Are you still having difficulties in storing large logs? |
Hi @sayan-biswas - yes, this continues to be an issue for me. Unfortunately I haven't had time to yet recreate a minimal replicating example so I'm as yet not sure if it's an issue with our cloud provider, my configuration of s3 or logs in tekton results, or something amiss with tekton results. |
We experience similar errors when persisting TaskRun logs with version 0.13.0. The related log records from the watcher pod are these:
And here the matching log in the api pod:
The according record in the database is this:
An interesting coincidence with the original report:
So upload seems to fail at the exact same amount of bytes. |
With this pipeline run I'm able to reproduce the error in our OpenShift environment with tekton-results v0.13.0 configured to save logs to S3:
I hope this will help you to reproduce and further investigate this issue. |
Also skip s3.UploadPart call if part is empty Fixes tektoncd#719
I have meanwhile identified the error in the code. The error occurs when the logs to be uploaded exceed the S3_MULTI_PART_SIZE config option. In this case, the call to Here's a pull request to fix this: #909. |
There is a step in a pipeline run which fails with an error (the application exits with a non-zero exit code). Unfortunately the log content is not stored.
All other pipelines and steps have their logs stored as expected, so this does not seem to be a general configuration problem.
Expected Behavior
All steps in the pipeline would have their logs stored, even (and especially) if the user application exited with a non-zero exit code. A copy of the pipeline can be found below.
This is consistently failing for all numerous repeats.
Actual Behavior
The Tekton results API logs the following two errors:
I can see that a corresponding log record has been stored:
For convenience, the decoded base64 content of the above value is:
When inspecting the content of the s3 blob storage directly I can see that no bucket has been created at the given path.
Likewise the logs cannot be retrieved via the API, as would be expected given the above symptoms.
Steps to Reproduce the Problem
Unfortunately I am not able to yet recreate a minimally failing example of the user workload generating the logs. The pipeline is as follows:
Additional Info
v1.28.2
v0.56.1
v0.9.1
The text was updated successfully, but these errors were encountered: