Improve exception message when TMDB not available

We saw a few IOExceptions recently which indicated that TMDB may
be down at that time. However, these IOExceptions didn't have
any message to clearly describe that. This CL is to improve
the exception message so next time we don't have to look at the
source code to figure out what happened.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241984023
This commit is contained in:
shicong 2019-04-04 12:37:00 -07:00 committed by jianglai
parent d217939894
commit baed9dc6cc
3 changed files with 21 additions and 3 deletions

View file

@ -115,7 +115,13 @@ public final class Marksdb {
byte[] fetch(URL url, Optional<String> loginAndPassword) throws IOException { byte[] fetch(URL url, Optional<String> loginAndPassword) throws IOException {
HTTPRequest req = new HTTPRequest(url, GET, validateCertificate().setDeadline(60d)); HTTPRequest req = new HTTPRequest(url, GET, validateCertificate().setDeadline(60d));
setAuthorizationHeader(req, loginAndPassword); setAuthorizationHeader(req, loginAndPassword);
HTTPResponse rsp = fetchService.fetch(req); HTTPResponse rsp;
try {
rsp = fetchService.fetch(req);
} catch (IOException e) {
throw new IOException(
String.format("Error connecting to MarksDB at URL %s", url), e);
}
if (rsp.getResponseCode() != SC_OK) { if (rsp.getResponseCode() != SC_OK) {
throw new UrlFetchException("Failed to fetch from MarksDB", req, rsp); throw new UrlFetchException("Failed to fetch from MarksDB", req, rsp);
} }

View file

@ -191,7 +191,13 @@ public final class NordnUploadAction implements Runnable {
HTTPRequest req = new HTTPRequest(new URL(url), POST, validateCertificate().setDeadline(60d)); HTTPRequest req = new HTTPRequest(new URL(url), POST, validateCertificate().setDeadline(60d));
lordnRequestInitializer.initialize(req, tld); lordnRequestInitializer.initialize(req, tld);
setPayloadMultipart(req, "file", "claims.csv", CSV_UTF_8, csvData, random); setPayloadMultipart(req, "file", "claims.csv", CSV_UTF_8, csvData, random);
HTTPResponse rsp = fetchService.fetch(req); HTTPResponse rsp;
try {
rsp = fetchService.fetch(req);
} catch (IOException e) {
throw new IOException(
String.format("Error connecting to MarksDB at URL %s", url), e);
}
if (logger.atInfo().isEnabled()) { if (logger.atInfo().isEnabled()) {
String response = String response =
(rsp.getContent() == null) ? "(null)" : new String(rsp.getContent(), US_ASCII); (rsp.getContent() == null) ? "(null)" : new String(rsp.getContent(), US_ASCII);

View file

@ -98,7 +98,13 @@ public final class NordnVerifyAction implements Runnable {
logger.atInfo().log("LORDN verify task %s: Sending request to URL %s.", actionLogId, url); logger.atInfo().log("LORDN verify task %s: Sending request to URL %s.", actionLogId, url);
HTTPRequest req = new HTTPRequest(url, GET, validateCertificate().setDeadline(60d)); HTTPRequest req = new HTTPRequest(url, GET, validateCertificate().setDeadline(60d));
lordnRequestInitializer.initialize(req, tld); lordnRequestInitializer.initialize(req, tld);
HTTPResponse rsp = fetchService.fetch(req); HTTPResponse rsp;
try {
rsp = fetchService.fetch(req);
} catch (IOException e) {
throw new IOException(
String.format("Error connecting to MarksDB at URL %s", url), e);
}
logger.atInfo().log( logger.atInfo().log(
"LORDN verify task %s response: HTTP response code %d, response data: %s", "LORDN verify task %s response: HTTP response code %d, response data: %s",
actionLogId, rsp.getResponseCode(), rsp.getContent()); actionLogId, rsp.getResponseCode(), rsp.getContent());