Skip to content

Commit 9f17781

Browse files
committed
Set status 503 when backup is in progress. Fixes #5221
1 parent aa4c0d4 commit 9f17781

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

server/src/main/java/com/thoughtworks/go/server/web/BackupFilter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
8282
} else {
8383
generateHTMLResponse(response);
8484
}
85+
86+
((HttpServletResponse) response).setStatus(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
8587
} else {
8688
chain.doFilter(request, response);
8789
}
@@ -130,7 +132,6 @@ private void generateAPIResponse(ServletRequest request, ServletResponse respons
130132
} catch (IOException e) {
131133
LOGGER.error("General IOException: {}", e.getMessage());
132134
}
133-
((HttpServletResponse) response).setStatus(503);
134135
}
135136

136137
private boolean requestIsOfType(String type, HttpServletRequest request) {

server/src/test-fast/java/com/thoughtworks/go/server/web/BackupFilterTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public void shouldPassRequestWhenBackupIsNotBeingTaken() throws Exception {
7373
backupFilter.doFilter(request, res, chain);
7474
verify(res, times(0)).setContentType("text/html");
7575
verify(writer, times(0)).print("some test data for my input stream");
76+
verify(res, never()).setStatus(anyInt());
7677
}
7778

7879
@Test
@@ -91,6 +92,7 @@ public void shouldWriteToResponseWhenBackupIsBeingTaken() throws Exception {
9192
verify(writer).print(content);
9293
verify(res).setHeader("Cache-Control", "private, max-age=0, no-cache");
9394
verify(res).setDateHeader("Expires", 0);
95+
verify(res).setStatus(503);
9496
}
9597

9698
@Test
@@ -109,6 +111,7 @@ public void shouldGenerateHTMLResponseWhenBackupIsBeingTakenAndMessageJsonIsCall
109111
verify(writer).print(content);
110112
verify(res).setHeader("Cache-Control", "private, max-age=0, no-cache");
111113
verify(res).setDateHeader("Expires", 0);
114+
verify(res).setStatus(503);
112115
}
113116

114117

@@ -127,6 +130,7 @@ public void shouldReturnJsonResponseWhenBackupIsFinishedJsonAPIIsBeingCalled() t
127130
verify(writer).print(json);
128131
verify(res).setHeader("Cache-Control", "private, max-age=0, no-cache");
129132
verify(res).setDateHeader("Expires", 0);
133+
verify(res, never()).setStatus(anyInt());
130134
}
131135

132136
@Test
@@ -162,6 +166,7 @@ private void assertResponse(JsonObject json) {
162166
verify(writer).print(json);
163167
verify(res).setHeader("Cache-Control", "private, max-age=0, no-cache");
164168
verify(res).setDateHeader("Expires", 0);
169+
verify(res).setStatus(503);
165170
}
166171

167172
private Request request(HttpMethod method, String contentType, String uri) {

0 commit comments

Comments
 (0)