|
4 | 4 | import io.dingodb.sdk.common.DingoClientException.InvalidRouteTableException; |
5 | 5 | import io.dingodb.sdk.common.DingoClientException.RequestErrorException; |
6 | 6 | import io.dingodb.sdk.common.utils.ErrorCodeUtils; |
7 | | -import io.dingodb.sdk.service.JsonMessageUtils; |
8 | | -import io.dingodb.sdk.service.Caller; |
9 | | -import io.dingodb.sdk.service.ChannelProvider; |
10 | | -import io.dingodb.sdk.service.Service; |
11 | | -import io.dingodb.sdk.service.ServiceCallCycles; |
| 7 | +import io.dingodb.sdk.service.*; |
12 | 8 | import io.dingodb.sdk.service.entity.Message.Request; |
13 | 9 | import io.dingodb.sdk.service.entity.Message.Response; |
14 | 10 | import io.dingodb.sdk.service.entity.error.Errno; |
@@ -99,6 +95,8 @@ public <REQ extends Request, RES extends Response> RES call( |
99 | 95 | errMsgs.compute( |
100 | 96 | channel.authority() + ">>" + error.getErrmsg(), (k, v) -> v == null ? 1 : v + 1 |
101 | 97 | ); |
| 98 | + log.error(JsonMessageUtils.toJson(methodName, requestId, request, response, options) + |
| 99 | + getRegionId(channelProvider)); |
102 | 100 | boolean isPreWriteFailed = isPreWriteFailed(request); |
103 | 101 | switch (handler.onErrStrategy( |
104 | 102 | isPreWriteRequestFailed(errCode, isPreWriteFailed) ? |
@@ -158,6 +156,13 @@ private static <REQ extends Request> boolean isPreWriteFailed(REQ request) { |
158 | 156 | return false; |
159 | 157 | } |
160 | 158 |
|
| 159 | + private String getRegionId(ChannelProvider channelProvider) { |
| 160 | + if (channelProvider instanceof RegionChannelProvider) { |
| 161 | + return ",regionId:" + ((RegionChannelProvider) channelProvider).getRegionId(); |
| 162 | + } |
| 163 | + return ""; |
| 164 | + } |
| 165 | + |
161 | 166 | private void waitRetry() { |
162 | 167 | LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1)); |
163 | 168 | } |
|
0 commit comments