hangc0276 commented on code in PR #3778:
URL: https://github.com/apache/bookkeeper/pull/3778#discussion_r1111770259
##########
bookkeeper-server/src/test/java/org/apache/bookkeeper/server/http/TestHttpService.java:
##########
@@ -794,6 +794,14 @@ public void testTriggerGCService() throws Exception {
HttpServiceRequest request2 = new HttpServiceRequest(null,
HttpServer.Method.PUT, null);
HttpServiceResponse response2 = triggerGCService.handle(request2);
assertEquals(HttpServer.StatusCode.OK.getValue(),
response2.getStatusCode());
+
+ //3, PUT with body, should return OK
+ String putBody4 = "{\"forceMajor\": true, \"forceMinor\": true,
\"majorCompactionThreshold\":0.4,"
Review Comment:
Add invalid parameter tests.
##########
bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/TriggerGCService.java:
##########
@@ -71,7 +71,15 @@ public HttpServiceResponse handle(HttpServiceRequest
request) throws Exception {
Map<String, Object> configMap = JsonUtil.fromJson(requestBody,
HashMap.class);
Boolean forceMajor = (Boolean)
configMap.getOrDefault("forceMajor", null);
Boolean forceMinor = (Boolean)
configMap.getOrDefault("forceMinor", null);
-
bookieServer.getBookie().getLedgerStorage().forceGC(forceMajor, forceMinor);
+ Double majorCompactionThreshold = (Double)
configMap.getOrDefault("majorCompactionThreshold", null);
+ Double minorCompactionThreshold = (Double)
configMap.getOrDefault("minorCompactionThreshold", null);
+ Long majorCompactionMaxTimeMillis = Long.valueOf((Integer)
configMap.getOrDefault(
+ "majorCompactionMaxTimeMillis", null));
+ Long minorCompactionMaxTimeMillis = Long.valueOf((Integer)
configMap.getOrDefault(
+ "minorCompactionMaxTimeMillis", null));
+
bookieServer.getBookie().getLedgerStorage().forceGC(forceMajor, forceMinor,
+ majorCompactionThreshold, minorCompactionThreshold,
+ majorCompactionMaxTimeMillis,
minorCompactionMaxTimeMillis);
Review Comment:
We need to validate the above four configured values.
##########
bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/TriggerGCService.java:
##########
@@ -71,7 +71,15 @@ public HttpServiceResponse handle(HttpServiceRequest
request) throws Exception {
Map<String, Object> configMap = JsonUtil.fromJson(requestBody,
HashMap.class);
Boolean forceMajor = (Boolean)
configMap.getOrDefault("forceMajor", null);
Boolean forceMinor = (Boolean)
configMap.getOrDefault("forceMinor", null);
-
bookieServer.getBookie().getLedgerStorage().forceGC(forceMajor, forceMinor);
+ Double majorCompactionThreshold = (Double)
configMap.getOrDefault("majorCompactionThreshold", null);
+ Double minorCompactionThreshold = (Double)
configMap.getOrDefault("minorCompactionThreshold", null);
+ Long majorCompactionMaxTimeMillis = Long.valueOf((Integer)
configMap.getOrDefault(
Review Comment:
use `(Long) configMap.getOrDefault(
"majorCompactionMaxTimeMillis", null)`?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]