Skip to content

Commit dd4c2fa

Browse files
simon824pan3793
authored andcommitted
[KYUUBI #1780] Log error message on REST endpoints
### _Why are the changes needed?_ closes #1780 Add error log in Rest be ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [ ] Add screenshots for manual tests if appropriate - [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/develop_tools/testing.html#running-tests) locally before make a pull request Closes #1781 from simon824/printerror. Closes #1780 5dfaafa [simon] style 17a2a3b [simon] logging 2abc9c8 [simon] print error log Authored-by: simon <zhangshiming@cvte.com> Signed-off-by: Cheng Pan <chengpan@apache.org>
1 parent a4de0e6 commit dd4c2fa

File tree

2 files changed

+55
-32
lines changed

2 files changed

+55
-32
lines changed

kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/OperationsResource.scala

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,15 @@ import io.swagger.v3.oas.annotations.tags.Tag
2929
import org.apache.hive.service.rpc.thrift._
3030

3131
import org.apache.kyuubi.KyuubiSQLException
32+
import org.apache.kyuubi.Logging
3233
import org.apache.kyuubi.events.KyuubiOperationEvent
3334
import org.apache.kyuubi.operation.{FetchOrientation, KyuubiOperation}
3435
import org.apache.kyuubi.operation.OperationHandle.parseOperationHandle
3536
import org.apache.kyuubi.server.api.ApiRequestContext
3637

3738
@Tag(name = "Operation")
3839
@Produces(Array(MediaType.APPLICATION_JSON))
39-
private[v1] class OperationsResource extends ApiRequestContext {
40+
private[v1] class OperationsResource extends ApiRequestContext with Logging {
4041

4142
@ApiResponse(
4243
responseCode = "200",
@@ -53,8 +54,10 @@ private[v1] class OperationsResource extends ApiRequestContext {
5354
val operation = fe.be.sessionManager.operationManager.getOperation(opHandle)
5455
KyuubiOperationEvent(operation.asInstanceOf[KyuubiOperation])
5556
} catch {
56-
case NonFatal(_) =>
57-
throw new NotFoundException(s"Error getting an operation event")
57+
case NonFatal(e) =>
58+
val errorMsg = "Error getting an operation event"
59+
error(errorMsg, e)
60+
throw new NotFoundException(errorMsg)
5861
}
5962
}
6063

@@ -78,9 +81,10 @@ private[v1] class OperationsResource extends ApiRequestContext {
7881
}
7982
Response.ok().build()
8083
} catch {
81-
case NonFatal(_) =>
82-
throw new NotFoundException(s"Error applying ${request.action} " +
83-
s"for operation handle $operationHandleStr")
84+
case NonFatal(e) =>
85+
val errorMsg = s"Error applying ${request.action} for operation handle $operationHandleStr"
86+
error(errorMsg, e)
87+
throw new NotFoundException(errorMsg)
8488
}
8589
}
8690

@@ -116,9 +120,10 @@ private[v1] class OperationsResource extends ApiRequestContext {
116120
c.getComment)
117121
}))
118122
} catch {
119-
case NonFatal(_) =>
120-
throw new NotFoundException(
121-
s"Error getting result set metadata for operation handle $operationHandleStr")
123+
case NonFatal(e) =>
124+
val errorMsg = s"Error getting result set metadata for operation handle $operationHandleStr"
125+
error(errorMsg, e)
126+
throw new NotFoundException(errorMsg)
122127
}
123128
}
124129

@@ -141,9 +146,10 @@ private[v1] class OperationsResource extends ApiRequestContext {
141146
val logRowSet = rowSet.getColumns.get(0).getStringVal.getValues.asScala
142147
OperationLog(logRowSet, logRowSet.size)
143148
} catch {
144-
case NonFatal(_) =>
145-
throw new NotFoundException(
146-
s"Error getting operation log for operation handle $operationHandleStr")
149+
case NonFatal(e) =>
150+
val errorMsg = s"Error getting operation log for operation handle $operationHandleStr"
151+
error(errorMsg, e)
152+
throw new NotFoundException(errorMsg)
147153
}
148154
}
149155

@@ -188,9 +194,10 @@ private[v1] class OperationsResource extends ApiRequestContext {
188194
})
189195
ResultRowSet(rows, rows.size)
190196
} catch {
191-
case NonFatal(_) =>
192-
throw new NotFoundException(
193-
s"Error getting result row set for operation handle $operationHandleStr")
197+
case NonFatal(e) =>
198+
val errorMsg = s"Error getting result row set for operation handle $operationHandleStr"
199+
error(errorMsg, e)
200+
throw new NotFoundException(errorMsg)
194201
}
195202
}
196203
}

kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/v1/SessionsResource.scala

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse
2828
import io.swagger.v3.oas.annotations.tags.Tag
2929
import org.apache.hive.service.rpc.thrift.{TGetInfoType, TProtocolVersion}
3030

31-
import org.apache.kyuubi.Utils.error
31+
import org.apache.kyuubi.Logging
3232
import org.apache.kyuubi.events.KyuubiEvent
3333
import org.apache.kyuubi.operation.OperationHandle
3434
import org.apache.kyuubi.server.api.ApiRequestContext
@@ -37,7 +37,7 @@ import org.apache.kyuubi.session.SessionHandle.parseSessionHandle
3737

3838
@Tag(name = "Session")
3939
@Produces(Array(MediaType.APPLICATION_JSON))
40-
private[v1] class SessionsResource extends ApiRequestContext {
40+
private[v1] class SessionsResource extends ApiRequestContext with Logging {
4141

4242
@ApiResponse(
4343
responseCode = "200",
@@ -162,8 +162,10 @@ private[v1] class SessionsResource extends ApiRequestContext {
162162
request.runAsync,
163163
request.queryTimeout)
164164
} catch {
165-
case NonFatal(_) =>
166-
throw new NotFoundException(s"Error executing statement")
165+
case NonFatal(e) =>
166+
val errorMsg = "Error executing statement"
167+
error(errorMsg, e)
168+
throw new NotFoundException(errorMsg)
167169
}
168170
}
169171

@@ -178,8 +180,10 @@ private[v1] class SessionsResource extends ApiRequestContext {
178180
try {
179181
fe.be.getTypeInfo(parseSessionHandle(sessionHandleStr))
180182
} catch {
181-
case NonFatal(_) =>
182-
throw new NotFoundException(s"Error getting type information")
183+
case NonFatal(e) =>
184+
val errorMsg = "Error getting type information"
185+
error(errorMsg, e)
186+
throw new NotFoundException(errorMsg)
183187
}
184188
}
185189

@@ -194,8 +198,10 @@ private[v1] class SessionsResource extends ApiRequestContext {
194198
try {
195199
fe.be.getCatalogs(parseSessionHandle(sessionHandleStr))
196200
} catch {
197-
case NonFatal(_) =>
198-
throw new NotFoundException(s"Error getting catalogs")
201+
case NonFatal(e) =>
202+
val errorMsg = "Error getting catalogs"
203+
error(errorMsg, e)
204+
throw new NotFoundException(errorMsg)
199205
}
200206
}
201207

@@ -218,7 +224,9 @@ private[v1] class SessionsResource extends ApiRequestContext {
218224
operationHandle
219225
} catch {
220226
case NonFatal(e) =>
221-
throw new NotFoundException(s"Error getting schemas", e)
227+
val errorMsg = "Error getting schemas"
228+
error(errorMsg, e)
229+
throw new NotFoundException(errorMsg)
222230
}
223231
}
224232

@@ -240,8 +248,10 @@ private[v1] class SessionsResource extends ApiRequestContext {
240248
request.tableName,
241249
request.tableTypes)
242250
} catch {
243-
case NonFatal(_) =>
244-
throw new NotFoundException(s"Error getting tables")
251+
case NonFatal(e) =>
252+
val errorMsg = "Error getting tables"
253+
error(errorMsg, e)
254+
throw new NotFoundException(errorMsg)
245255
}
246256
}
247257

@@ -256,8 +266,10 @@ private[v1] class SessionsResource extends ApiRequestContext {
256266
try {
257267
fe.be.getTableTypes(parseSessionHandle(sessionHandleStr))
258268
} catch {
259-
case NonFatal(_) =>
260-
throw new NotFoundException(s"Error getting table types")
269+
case NonFatal(e) =>
270+
val errorMsg = "Error getting table types"
271+
error(errorMsg, e)
272+
throw new NotFoundException(errorMsg)
261273
}
262274
}
263275

@@ -279,8 +291,10 @@ private[v1] class SessionsResource extends ApiRequestContext {
279291
request.tableName,
280292
request.columnName)
281293
} catch {
282-
case NonFatal(_) =>
283-
throw new NotFoundException(s"Error getting columns")
294+
case NonFatal(e) =>
295+
val errorMsg = "Error getting columns"
296+
error(errorMsg, e)
297+
throw new NotFoundException(errorMsg)
284298
}
285299
}
286300

@@ -301,8 +315,10 @@ private[v1] class SessionsResource extends ApiRequestContext {
301315
request.schemaName,
302316
request.functionName)
303317
} catch {
304-
case NonFatal(_) =>
305-
throw new NotFoundException(s"Error getting functions")
318+
case NonFatal(e) =>
319+
val errorMsg = "Error getting functions"
320+
error(errorMsg, e)
321+
throw new NotFoundException(errorMsg)
306322
}
307323
}
308324
}

0 commit comments

Comments
 (0)