Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-10-06 | [test] fix script that runs benchmarks | drebs | |
2017-10-05 | [bug] fix retries for blobs download | drebs | |
- add a MaximumRetriesError exception to encapsulate other exceptions. - record the pending status before trying to download - modify update_sync_status to insert or update - modify retry tests to check number of retries - add a test for download retry limit | |||
2017-10-05 | [bug] retry blob download for all retriable errors | drebs | |
Because the exception catching was being made inside _download_and_decrypt() and only accounted for InvalidBlob exceptions, not all retriable errors would lead to an actual retry. This commit moves the exception catching to one level up and catches any kind of exception, as is done in the upload part. This allows for retrying on all retriable errors. | |||
2017-10-05 | [tests] run benchmarks conditionally | drebs | |
2017-10-05 | [test] use template for ci benchmark jobs | drebs | |
2017-10-05 | [tests] move benchmarks back to their own stage in ci | drebs | |
2017-10-05 | [bug] improve error message on blob download error | drebs | |
The previous error message had some problems: - the connection should not be a problem, as this is going over TCP. If the HTTP request was succesful, there's no reason to think its contents could have been corrupted by a connection problem. - I am not sure what's the best communication strategy here, but the real problem is either a bug or actual tampering, so i make this explicit. - A problem like this should be reported always, not only when the problem persists. | |||
2017-10-05 | [bug] log the exception on blob download error | drebs | |
2017-10-05 | [bug] don't use hardcoded number of retries when downloading blobs | drebs | |
2017-10-05 | [style] use python3 compatible try/except syntax | drebs | |
2017-10-05 | [bug] ensure maximum concurrency on blobs transfer | drebs | |
The way in that concurrency limit was being enforced was such that transfer attempts were being spawned in groups of 3, and all of them had to finish before a new group could be spawned. This modification allows for use of maximum concurrency level at all times. | |||
2017-10-05 | [style] param is not keyword argument | drebs | |
2017-10-05 | [style] name keyword arguments in function calls | drebs | |
2017-10-05 | [style] rename exception to match standards | drebs | |
We have been using "Error" instead of "Exception" in exception names, so this commit is only enforcing an unwritten policy. | |||
2017-10-05 | [bug] refuse to start if blobs is misconfigured | Victor Shyba | |
As kali pointed out, one can disable blobs after enabling it, which would cause data loss as blobs documents would become unreacheable. This commit adds a warning and refuses to start the server. -- Resolves: #8866 | |||
2017-10-05 | [style] fix typos on filenames and comments | Victor Shyba | |
2017-10-05 | [bug] set as PROCESSING during processing flow | Victor Shyba | |
It was previously setting to PROCESSED. Also added some tests to check if the underlying wrapped calls matches the intent. -- Resolves: #8955 | |||
2017-10-05 | [feature] notify, retry and fail from invalid tag | Victor Shyba | |
Notify, log something meaninful and retry at most 3 times before marking the download as unusable (FAILED_DOWNLOAD). -- Related: #8825 | |||
2017-10-05 | [feature] retry during upload + proper wait | Victor Shyba | |
Added retry to upload and modified retry implementation to comply with discussed spec. According to it, we should wait between retries, something like 1s, 10s, .. up to 1 minute. -- Resolves: #8822 | |||
2017-10-05 | [feature] retry during download | Victor Shyba | |
-- Related: #8822 | |||
2017-10-05 | [feature] send/fetch missing using local statuses | Victor Shyba | |
Instead of querying the server, fetch_missing and send_missing now uses the PENDING_DOWNLOAD and PENDING_UPLOAD statuses to guide itself on what to do. This allows the sync mechanism to control when/how to query data from server and reuse the query data during the sync. -- Related: #8822 | |||
2017-10-05 | [feature] blob get/put handle unavailable statuses | Victor Shyba | |
PENDING_DOWNLOAD is an empty blob, so during blob_manager.get we need to return empty as it's not available. This status is used during sync. During put, if we have an empty unavailable blob, then we delete and replace with is being put, marking it as SYNCED. -- Related: #8822 | |||
2017-10-05 | [refactor] change default dict params | Victor Shyba | |
As raised by kali, they can bring some bugs and avoiding it is pretty easy. -- Resolves: #8957 | |||
2017-10-05 | [feature] improve preamble comparisons | Victor Shyba | |
We were comparing the raw content of preambles. This commit adds a way to compare excluding time so comparisons don't suffer from false negatives caused by time deltas. -- Resolves: #8920 | |||
2017-10-05 | [feature] persist pending_download remote listing | Victor Shyba | |
-- Related: #8822 | |||
2017-10-05 | [feature] filter out unavailable blobs on listing | Victor Shyba | |
-- Related: #8822 | |||
2017-10-05 | [feature] concurrent blob download/upload | Victor Shyba | |
-- Related: #8932 | |||
2017-10-03 | [doc] improve overall client/server info | drebs | |
2017-10-03 | [doc] add reviewed reference from old documentation | drebs | |
2017-10-03 | [doc] add intro section with reviwed content from old doc | drebs | |
2017-10-03 | [test] add missing docstrings to some benchmark tests | drebs | |
2017-09-30 | [test] run benchmark tests in parallel with other tests | drebs | |
2017-09-30 | [bug] fix argument passing in blobs queries | drebs | |
2017-09-30 | [test] fix e2e test call to remote_list | drebs | |
2017-09-29 | [doc] add dependency on mock for docs | drebs | |
2017-09-29 | [refactor] make parameters of blobmanager methods explicit | drebs | |
2017-09-29 | [bug] check all http response status codes | drebs | |
2017-09-29 | [bug] raise when trying to get flags of unexisting blob | drebs | |
2017-09-28 | [doc] add api reference to the docs | drebs | |
2017-09-28 | [doc] remove unused pages | drebs | |
2017-09-28 | [doc] fix blobs table in reference doc | drebs | |
2017-09-28 | [doc] mock the pysqlcihper module on readthedocs | drebs | |
2017-09-28 | [doc] fix readthedocs yaml file name | drebs | |
2017-09-28 | [doc] add license information | drebs | |
2017-09-28 | [doc] move migrations doc to server section | drebs | |
2017-09-28 | [doc] move development docs to a subdir | drebs | |
2017-09-28 | [doc] improve client doc | drebs | |
2017-09-28 | [doc] move server db info to reference section | drebs | |
2017-09-28 | [doc] improve server doc | drebs | |
2017-09-28 | [doc] move auth to reference section | drebs | |