aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/agent-messaging
Commit message (Collapse)AuthorAge
* Switch to using = for testing numerical equalityChristopher Baines2022-10-22
| | | | As I think I've been abusing eq?.
* Clean up some loggingChristopher Baines2022-10-22
|
* Log when output files are renamedChristopher Baines2022-10-22
|
* Add more logging when output files are deletedChristopher Baines2022-10-22
|
* Tweak upload handling againChristopher Baines2022-10-21
| | | | | | This partially reverts some recent changes. There should now be better handling of when all the bytes have been sent, but the hash hasn't yet been computed.
* Copy upload error handling to the partial routeChristopher Baines2022-10-21
|
* Log the file size and md5 hash on the agent sideChristopher Baines2022-10-21
| | | | When errors occur during upload.
* Include the file size and md5 hash in error messagesChristopher Baines2022-10-21
| | | | | When an error occurs while trying to compute the hash, as I hope this information will help to identify where things have gone wrong.
* Tweak output uploading codeChristopher Baines2022-10-19
| | | | Force sending the file from the start the first time the upload is attempted.
* Use suspendable ports for the agent, with timeoutsChristopher Baines2022-10-16
| | | | | | | | This seems like a way of making the Guile internals for doing network I/O reliable. Currently, there are problems where things on the network timeout, but the Guile code for reading/writing just sits there, hung. This seems like it might help.
* Throttle calling alarmChristopher Baines2022-10-15
| | | | Just in case calling it frequently causes problems.
* Reset the upload progress when appropriateChristopher Baines2022-10-14
|
* Add more logging around file uploadsChristopher Baines2022-10-14
|
* Shorten timeout when submitting outputsChristopher Baines2022-10-14
| | | | By resetting the timeout while the file is being uploaded.
* Tweak output upload timeoutChristopher Baines2022-10-14
| | | | | Make it longer to avoid timeouts for large files, and increase the delay before restarting the upload.
* Don't crash on chunked input exceptionsChristopher Baines2022-10-08
|
* Check the dynamic auth token before creating new agentsChristopher Baines2022-10-08
|
* Move retry in submit-outputChristopher Baines2022-04-09
|
* Add a timeout for submitting outputsChristopher Baines2022-04-09
|
* Only use GC protection when gnutls won't internally retryChristopher Baines2022-02-04
|
* Fix the threshold for metrics delay loggingChristopher Baines2022-02-01
|
* Tweak metrics delay loggingChristopher Baines2022-01-20
| | | | | Just instrument the update-managed-metrics! function, and move some code around so this is clearer in the logs.
* Remove bodies from responses to HEAD requestsChristopher Baines2021-12-27
|
* Fix route for getting the bytes uploaded for an outputChristopher Baines2021-12-24
|
* Improve still more to send log messageChristopher Baines2021-12-22
|
* Improve logging when submitting outputsChristopher Baines2021-12-22
|
* Check before deleting filesChristopher Baines2021-11-26
| | | | As I've seen exceptions here.
* Remove redundant if in the controllerChristopher Baines2021-11-26
|
* Don't print backtraces in the controller when chunked inputs endChristopher Baines2021-11-26
|
* Delete existing files when processing upload requestsChristopher Baines2021-11-22
| | | | I think this will help when handling new requests after failed ones.
* Unwind on some exceptionsChristopher Baines2021-11-22
| | | | The error handling here should be handling by unwinding.
* Improve some way numbers are displayedChristopher Baines2021-11-22
|
* Only check the size of the file once when uploadingChristopher Baines2021-11-21
|
* Fix variable reference in submit-outputChristopher Baines2021-11-21
|
* Compress outputs outside of the upload slotChristopher Baines2021-11-20
| | | | | So that the only thing taking place in the upload slot, is the actual upload, which should improve throughput.
* Track delays for reporting metricsChristopher Baines2021-11-16
|
* Check if an output has been uploaded before trying to upload itChristopher Baines2021-11-16
| | | | | | | | | | This can help if the output has been uploaded, but the hash isn't present, since trying to submit the build result will prompt for the output to be sent again, but it doesn't need to be, the agent just needs to wait. This is a little inelegant, maybe there needs to be some way for the agent to explicitly check for the hash to be computed, but I'm hoping these changes will help with uploading large outputs.
* Add error handling around computing output hashesChristopher Baines2021-11-15
| | | | As I've seen decompression errors.
* Fix the uri when calling coordinator-handle-failed-requestChristopher Baines2021-11-15
|
* Handle the case where there are no more bytes to sendChristopher Baines2021-11-15
| | | | | | | | | When submitting an output. This also fixes a regression in not passing report-bytes-sent on to call-with-streaming-http-request. I think this case where the agent is trying to send 0 bytes to the coordinator can happen when the last request to the coordinator times out, probably due to the computing of the hash taking so long.
* Remove some test codeChristopher Baines2021-11-14
|
* Implement initial support for resuming HTTP uploadsChristopher Baines2021-11-14
| | | | | This means agents reattempting uploads don't have to start from scratch, and can instead pick up from what's already been uploaded to the coordinator.
* Don't error for 404 responses in coordinator-http-requestChristopher Baines2021-11-14
|
* Don't error for responses with no body in coordinator-http-requestChristopher Baines2021-11-14
|
* Start checking the hashes of submitted outputsChristopher Baines2021-11-14
| | | | | | | | | | This provides some extra safety on top of the guarantees from TCP around the integrity of the data received. I'm introducing this now in preparation for supporting resuming partial uploads. Because this will add some extra complexity around receiving uploads, this extra check should ensure that issues with the implementation cannot lead to corrupt uploads.
* Return to compressing outputs then sending themChristopher Baines2021-11-07
| | | | | | | | | | | | | Trying to avoid the GnuTLS bindings breaking when the garbage collector runs is quite difficult, and the current approach isn't very effective. I want to try instead to support resuming partial uploads, as that should both help with the GnuTLS GC issue, as well as network interruptions in general. I think that approach is going to be easier with compressing the files up-front, so revert to doing that. This partially reverts commit 8258e9c8d9f729b2670a602c523c59847b676b1a.
* Move retrying uploads out of the with-upload-slot regionChristopher Baines2021-08-07
| | | | | Such that the retry happens with a fresh slot (and the associated tracking information).
* Support reporting bytes sent when submitting outputsChristopher Baines2021-06-08
|
* Retry more when sending outputsChristopher Baines2021-05-30
| | | | | Since time has been spent building them, so wait longer before giving up submitting the outputs.
* Improve the reveived output messageChristopher Baines2021-05-30
|