summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-06[doc] improve client usage exampledrebs
2017-10-06[doc] move compatibility notes from readme to documentation pagesdrebs
2017-10-06[test] fix script that runs benchmarksdrebs
2017-10-05[bug] fix retries for blobs downloaddrebs
- 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 errorsdrebs
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 conditionallydrebs
2017-10-05[test] use template for ci benchmark jobsdrebs
2017-10-05[tests] move benchmarks back to their own stage in cidrebs
2017-10-05[bug] improve error message on blob download errordrebs
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 errordrebs
2017-10-05[bug] don't use hardcoded number of retries when downloading blobsdrebs
2017-10-05[style] use python3 compatible try/except syntaxdrebs
2017-10-05[bug] ensure maximum concurrency on blobs transferdrebs
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 argumentdrebs
2017-10-05[style] name keyword arguments in function callsdrebs
2017-10-05[style] rename exception to match standardsdrebs
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 misconfiguredVictor 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 commentsVictor Shyba
2017-10-05[bug] set as PROCESSING during processing flowVictor 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 tagVictor 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 waitVictor 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 downloadVictor Shyba
-- Related: #8822
2017-10-05[feature] send/fetch missing using local statusesVictor 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 statusesVictor 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 paramsVictor Shyba
As raised by kali, they can bring some bugs and avoiding it is pretty easy. -- Resolves: #8957
2017-10-05[feature] improve preamble comparisonsVictor 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 listingVictor Shyba
-- Related: #8822
2017-10-05[feature] filter out unavailable blobs on listingVictor Shyba
-- Related: #8822
2017-10-05[feature] concurrent blob download/uploadVictor Shyba
-- Related: #8932
2017-10-03[doc] improve overall client/server infodrebs
2017-10-03[doc] add reviewed reference from old documentationdrebs
2017-10-03[doc] add intro section with reviwed content from old docdrebs
2017-10-03[test] add missing docstrings to some benchmark testsdrebs
2017-09-30[test] run benchmark tests in parallel with other testsdrebs
2017-09-30[bug] fix argument passing in blobs queriesdrebs
2017-09-30[test] fix e2e test call to remote_listdrebs
2017-09-29[doc] add dependency on mock for docsdrebs
2017-09-29[refactor] make parameters of blobmanager methods explicitdrebs
2017-09-29[bug] check all http response status codesdrebs
2017-09-29[bug] raise when trying to get flags of unexisting blobdrebs
2017-09-28[doc] add api reference to the docsdrebs
2017-09-28[doc] remove unused pagesdrebs
2017-09-28[doc] fix blobs table in reference docdrebs
2017-09-28[doc] mock the pysqlcihper module on readthedocsdrebs
2017-09-28[doc] fix readthedocs yaml file namedrebs
2017-09-28[doc] add license informationdrebs
2017-09-28[doc] move migrations doc to server sectiondrebs
2017-09-28[doc] move development docs to a subdirdrebs
2017-09-28[doc] improve client docdrebs
2017-09-28[doc] move server db info to reference sectiondrebs