Skip to content

Commit 9269a0b

Browse files
WweiLHyukjinKwon
authored andcommitted
[SPARK-49525][SS][CONNECT] Minor log improvement to Server Side Streaming Query ListenerBus Listener
### What changes were proposed in this pull request? Change the log of onQueryStarted and onQueryTerminated from `logDebug` to `logInfo`. They would be useful for debugging as they indicate the events are indeed being fired from the server. It won't add more logging burden as there won't be so many queries start / end, at least much less than `onQueryProgress`. ### Why are the changes needed? Debug improvement ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? No need ### Was this patch authored or co-authored using generative AI tooling? No Closes #48002 from WweiL/SPARK-49525-listener-bus-improvement. Authored-by: Wei Liu <[email protected]> Signed-off-by: Hyukjin Kwon <[email protected]>
1 parent e49e31d commit 9269a0b

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

sql/connect/server/src/main/scala/org/apache/spark/sql/connect/planner/SparkConnectPlanner.scala

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import org.apache.spark.connect.proto.ExecutePlanResponse.SqlCommandResult
4040
import org.apache.spark.connect.proto.Parse.ParseFormat
4141
import org.apache.spark.connect.proto.StreamingQueryManagerCommandResult.StreamingQueryInstance
4242
import org.apache.spark.connect.proto.WriteStreamOperationStart.TriggerCase
43-
import org.apache.spark.internal.{Logging, MDC}
43+
import org.apache.spark.internal.{Logging, LogKeys, MDC}
4444
import org.apache.spark.internal.LogKeys.{DATAFRAME_ID, SESSION_ID}
4545
import org.apache.spark.resource.{ExecutorResourceRequest, ResourceProfile, TaskResourceProfile, TaskResourceRequest}
4646
import org.apache.spark.sql.{Dataset, Encoders, ForeachWriter, Observation, RelationalGroupedDataset, Row, SparkSession}
@@ -3052,10 +3052,13 @@ class SparkConnectPlanner(
30523052
sessionHolder.streamingServersideListenerHolder.streamingQueryStartedEventCache.remove(
30533053
query.runId.toString))
30543054
queryStartedEvent.foreach {
3055-
logDebug(
3056-
s"[SessionId: $sessionId][UserId: $userId][operationId: " +
3057-
s"${executeHolder.operationId}][query id: ${query.id}][query runId: ${query.runId}] " +
3058-
s"Adding QueryStartedEvent to response")
3055+
logInfo(
3056+
log"[SessionId: ${MDC(LogKeys.SESSION_ID, sessionId)}]" +
3057+
log"[UserId: ${MDC(LogKeys.USER_ID, userId)}] " +
3058+
log"[operationId: ${MDC(LogKeys.OPERATION_ID, executeHolder.operationId)}] " +
3059+
log"[query id: ${MDC(LogKeys.QUERY_ID, query.id)}]" +
3060+
log"[query runId: ${MDC(LogKeys.QUERY_RUN_ID, query.runId)}] " +
3061+
log"Adding QueryStartedEvent to response")
30593062
e => resultBuilder.setQueryStartedEventJson(e.json)
30603063
}
30613064

sql/connect/server/src/main/scala/org/apache/spark/sql/connect/service/SparkConnectListenerBusListener.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,11 @@ private[sql] class SparkConnectListenerBusListener(
160160
}
161161

162162
override def onQueryTerminated(event: StreamingQueryListener.QueryTerminatedEvent): Unit = {
163-
logDebug(
164-
s"[SessionId: ${sessionHolder.sessionId}][UserId: ${sessionHolder.userId}] " +
165-
s"Sending QueryTerminatedEvent to client, id: ${event.id} runId: ${event.runId}.")
163+
logInfo(
164+
log"[SessionId: ${MDC(LogKeys.SESSION_ID, sessionHolder.sessionId)}]" +
165+
log"[UserId: ${MDC(LogKeys.USER_ID, sessionHolder.userId)}] " +
166+
log"Sending QueryTerminatedEvent to client, id: ${MDC(LogKeys.QUERY_ID, event.id)} " +
167+
log"runId: ${MDC(LogKeys.QUERY_RUN_ID, event.runId)}.")
166168
send(event.json, StreamingQueryEventType.QUERY_TERMINATED_EVENT)
167169
}
168170

0 commit comments

Comments
 (0)