Commit Graph

250 Commits

Author SHA1 Message Date
Shane Kilkelly 961cec5bc8 Implement swap/restore in SqliteDBStore 2021-02-04 09:52:13 +00:00
Shane Kilkelly a3d4976ce2 Implement swap/restore on NoopDbStore 2021-02-04 09:52:13 +00:00
Shane Kilkelly 83d9d122bf Add swap/restore methods to DBStore interface 2021-02-04 09:52:13 +00:00
Shane Kilkelly 21c524d8b6 Log actions when (un)compressing project 2021-02-04 09:52:13 +00:00
Shane Kilkelly eba7cbe696 Implement gzip in FSGitRepoStore 2021-02-04 09:52:13 +00:00
Shane Kilkelly 1c81fcf501 Add gzip to RepoStore interface 2021-02-04 09:52:13 +00:00
Shane Kilkelly 8496871ab2 Add gzip support to Tar helper 2021-02-04 09:52:13 +00:00
Shane Kilkelly 169de1fead Configure swap compression method: bzip2 or gzip 2021-02-04 09:52:13 +00:00
Shane Kilkelly c520ecd70d Allow configuration of AWS region 2021-01-27 10:41:32 +00:00
Eric Mc Sween 8a5027255a Merge pull request #86 from overleaf/em-handle-history-error
Handle errors from the history service
2020-12-09 09:05:24 -05:00
Eric Mc Sween 8bbeee0f8d Strip token from blob URLs when using cache
Blob URLs coming from web may now contain a token for authentication
with history v1. This token will change every request, which makes the
URL not suitable as a cache key. Removing the token fixes that.
2020-12-04 15:15:10 -05:00
Eric Mc Sween 2430d5fe1d Handle errors from the history service
If the history service returns a non-success status code when we request
a blob, chances are the payload is not the expected blob contents. We
throw an exception in that case, which will abort the git operation.
2020-12-04 11:27:00 -05:00
Shane Kilkelly c6cfd51fb4 Use the NoGitignoreIterator recursively 2020-09-29 12:44:33 +01:00
Shane Kilkelly d07ecd2a1b During pull: reset repo before writing data 2020-09-23 11:38:22 +01:00
Shane Kilkelly bb7831012b When logging IOException for put, include error 2020-09-01 13:28:35 +01:00
Shane Kilkelly 2b8f3f4de8 Use 422 status when rejecting Git LFS request 2020-08-05 13:00:20 +01:00
Shane Kilkelly f7125b9159 Handle Git LFS requests, with error message
We don't support Git LFS. This change adds a handler for
POST requests to "<project>.git/info/lfs/objects/batch",
and sends back a 406 response, with json data that the
client can use to print a nice error message.
2020-08-05 10:08:40 +01:00
Shane Kilkelly e7b19ea4a0 Update src/main/java/uk/ac/ic/wlgitbridge/server/StatusHandler.java
Co-authored-by: John Lees-Miller <jdleesmiller@gmail.com>
2020-06-26 13:37:18 +01:00
Shane Kilkelly 4161416659 Update src/main/java/uk/ac/ic/wlgitbridge/server/HealthCheckHandler.java
Co-authored-by: John Lees-Miller <jdleesmiller@gmail.com>
2020-06-26 13:37:09 +01:00
Shane Kilkelly 5e31a11938 Respond to HEAD request in /status, /health_check 2020-06-26 11:54:18 +01:00
Shane Kilkelly a9a7f54a96 Handle trailing slash on status and health_check 2020-06-25 16:43:57 +01:00
Shane Kilkelly ec278ffe0a Fix log lines 2020-06-19 15:50:42 +01:00
Shane Kilkelly ed778639a8 Move the status and healthcheck to root level 2020-06-19 15:50:27 +01:00
Shane Kilkelly 8def058d85 Fix log level 2020-06-19 15:50:16 +01:00
Shane Kilkelly 40a171d44a Also check we can touch the filesystem in healthcheck 2020-06-18 14:56:50 +01:00
Shane Kilkelly 689362b24f Use the bridge.healthCheck method 2020-06-18 11:45:21 +01:00
Shane Kilkelly 86769eedea Add a healthCheck method to the Bridge, check db 2020-06-18 11:45:04 +01:00
Shane Kilkelly 1befc3582b wip: add skeleton health-check handler 2020-06-17 16:15:40 +01:00
Shane Kilkelly eba6c907e9 wip: status handler 2020-06-17 16:05:53 +01:00
Ersun Warncke d89dbb7ff8 Revert "add debug"
This reverts commit 0d28d39563ad5de0db666c9e67493f5c814fe930.
2019-11-27 09:05:18 -04:00
Ersun Warncke b6812462d6 add debug 2019-11-25 10:20:43 -04:00
Ersun Warncke b1262ff06e pass client ip as url param 2019-11-19 12:08:35 -04:00
Ersun Warncke 5188e7c06a add file limit error 2019-11-12 11:16:54 -04:00
Shane Kilkelly ac4f4082c8 Use 404 code when rejecting invalid project id 2019-08-02 13:31:27 +01:00
Shane Kilkelly 76b349591c Refactor to use new helper to send error response 2019-08-02 13:31:27 +01:00
Shane Kilkelly b0ab2e07c5 Reject requests when the project uri begins with '/project' 2019-08-02 13:31:27 +01:00
Shane Kilkelly 3fac2cc825 Merge pull request #59 from das7pad/tests/cleanup-resources
[tests] cleanup resources
2019-08-01 16:26:51 +01:00
Shane Kilkelly 88adce3a02 Use UUID in file url, not (encoded) file path.
This fixes a bunch of issues where funny characters in the file path
(spaces, unicode, etc) would cause the file server in this process to
respond with a 404 when asked for the file. The 404 would then cause
the push to fail.

Now we just use a UUID as an opaque and unambiguous identifier for each file.
2019-07-05 11:07:47 +01:00
Shane Kilkelly a68afc2e28 Merge pull request #67 from overleaf/sk-dont-catch-throwable-swap-impl
Don't catch `Throwable` in swap-job, catch Exception
2019-06-13 12:11:01 +01:00
Shane Kilkelly 591617f996 Merge pull request #68 from overleaf/sk-fix-unicode-file-paths
Encode file path when building url, allows unicode
2019-06-13 12:10:55 +01:00
Shane Kilkelly 71df1b0a31 Encode file path when building url, allows unicode 2019-06-07 14:17:33 +01:00
Shane Kilkelly 28865e2956 Don't catch Throwable in swap-job, catch Exception 2019-06-07 10:26:55 +01:00
Shane Kilkelly 552e0955da Tell user to remove .git folder 2019-05-29 11:05:53 +01:00
Shane Kilkelly 545a9240d3 Merge pull request #61 from overleaf/spd-colon-passwords
GitBridge: Allow colons in passwords
2019-05-29 10:33:38 +01:00
Shane Kilkelly b1d7a0cf63 Merge pull request #65 from overleaf/sk-handle-409-has-dot-git
Handle a 409 response with code=projectHasDotGit
2019-05-29 10:33:22 +01:00
Shane Kilkelly b6fc48645a Merge pull request #64 from overleaf/sk-skip-failing-projects-in-swap-job
Skip failing projects in swap job, and give up after a certain number
2019-05-29 10:33:06 +01:00
Shane Kilkelly 719f0c3661 Give up on projects that cannot be swapped, rather than spinning the loop forever 2019-05-29 10:20:37 +01:00
Shane Kilkelly 2492c95c0b Handle a 409 response with code=projectHasDotGit 2019-05-29 10:18:49 +01:00
Shane Kilkelly f237efa6d5 Log and trap/ignore gc errors during swap 2019-05-23 11:14:02 +01:00
Shane Kilkelly c7d8c1c6b5 Run GC on a project at start of swap job.
When there is an exception during swap, add project name to log
2019-05-16 11:42:13 +01:00