You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by sa...@apache.org on 2023/04/08 17:19:48 UTC
[pinot] branch master updated: Remove stack trace from logs for multiget calls for getting table size (#10568)
This is an automated email from the ASF dual-hosted git repository.
sajjad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new ea63617018 Remove stack trace from logs for multiget calls for getting table size (#10568)
ea63617018 is described below
commit ea6361701872a753df6faa60e949a40cb2a86580
Author: Sajjad Moradi <mo...@gmail.com>
AuthorDate: Sat Apr 8 10:19:41 2023 -0700
Remove stack trace from logs for multiget calls for getting table size (#10568)
---
.../api/resources/ServerTableSizeReader.java | 3 ++-
.../controller/util/CompletionServiceHelper.java | 21 ++++++++++++++++++---
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/ServerTableSizeReader.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/ServerTableSizeReader.java
index 64eb00c491..6ba049d3db 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/ServerTableSizeReader.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/ServerTableSizeReader.java
@@ -66,7 +66,8 @@ public class ServerTableSizeReader {
CompletionServiceHelper completionServiceHelper =
new CompletionServiceHelper(_executor, _connectionManager, endpointsToServers);
CompletionServiceHelper.CompletionServiceResponse serviceResponse =
- completionServiceHelper.doMultiGetRequest(serverUrls, tableNameWithType, false, timeoutMs);
+ completionServiceHelper.doMultiGetRequest(serverUrls, tableNameWithType, false, timeoutMs,
+ "get segment size info from servers");
Map<String, List<SegmentSizeInfo>> serverToSegmentSizeInfoListMap = new HashMap<>();
int failedParses = 0;
for (Map.Entry<String, String> streamResponse : serviceResponse._httpResponses.entrySet()) {
diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/util/CompletionServiceHelper.java b/pinot-controller/src/main/java/org/apache/pinot/controller/util/CompletionServiceHelper.java
index 8ec3b28238..c311ef379f 100644
--- a/pinot-controller/src/main/java/org/apache/pinot/controller/util/CompletionServiceHelper.java
+++ b/pinot-controller/src/main/java/org/apache/pinot/controller/util/CompletionServiceHelper.java
@@ -57,7 +57,7 @@ public class CompletionServiceHelper {
public CompletionServiceResponse doMultiGetRequest(List<String> serverURLs, String tableNameWithType,
boolean multiRequestPerServer, int timeoutMs) {
- return doMultiGetRequest(serverURLs, tableNameWithType, multiRequestPerServer, null, timeoutMs);
+ return doMultiGetRequest(serverURLs, tableNameWithType, multiRequestPerServer, null, timeoutMs, null);
}
/**
@@ -70,11 +70,14 @@ public class CompletionServiceHelper {
* get response.
* @param requestHeaders Headers to be set when making the http calls.
* @param timeoutMs timeout in milliseconds to wait per request.
+ * @param useCase the use case initiating the multi-get request. If not null and an exception is thrown, only the
+ * error message and the use case are logged instead of the full stack trace.
* @return CompletionServiceResponse Map of the endpoint(server instance, or full request path if
* multiRequestPerServer is true) to the response from that endpoint.
*/
public CompletionServiceResponse doMultiGetRequest(List<String> serverURLs, String tableNameWithType,
- boolean multiRequestPerServer, @Nullable Map<String, String> requestHeaders, int timeoutMs) {
+ boolean multiRequestPerServer, @Nullable Map<String, String> requestHeaders, int timeoutMs,
+ @Nullable String useCase) {
CompletionServiceResponse completionServiceResponse = new CompletionServiceResponse();
// TODO: use some service other than completion service so that we know which server encounters the error
@@ -95,7 +98,8 @@ public class CompletionServiceHelper {
completionServiceResponse._httpResponses
.put(multiRequestPerServer ? uri.toString() : instance, getMethod.getResponseBodyAsString());
} catch (Exception e) {
- LOGGER.error("Connection error", e);
+ String reason = useCase == null ? "" : String.format(" in '%s'", useCase);
+ LOGGER.error("Connection error{}. Details: {}", reason, e.getMessage());
completionServiceResponse._failedResponseCount++;
} finally {
if (getMethod != null) {
@@ -114,6 +118,17 @@ public class CompletionServiceHelper {
return completionServiceResponse;
}
+ public CompletionServiceResponse doMultiGetRequest(List<String> serverURLs, String tableNameWithType,
+ boolean multiRequestPerServer, int timeoutMs, @Nullable String useCase) {
+ return doMultiGetRequest(serverURLs, tableNameWithType, multiRequestPerServer, null, timeoutMs, useCase);
+ }
+
+ public CompletionServiceResponse doMultiGetRequest(List<String> serverURLs, String tableNameWithType,
+ boolean multiRequestPerServer, @Nullable Map<String, String> requestHeaders, int timeoutMs) {
+ return doMultiGetRequest(serverURLs, tableNameWithType, multiRequestPerServer, requestHeaders, timeoutMs, null);
+ }
+
+
/**
* Helper class to maintain the completion service response to be sent back to the caller.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org