diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/aggregate/HashAggregateExec.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/aggregate/HashAggregateExec.scala
index caeeba17936809c9ddc173e484161b4c99304775..54d7340d8acd01be1c9a46a132dfe3752d6ee32f 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/aggregate/HashAggregateExec.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/aggregate/HashAggregateExec.scala
@@ -774,13 +774,13 @@ case class HashAggregateExec(
 
     testFallbackStartsAt match {
       case None =>
-        val keyString = Utils.truncatedString(groupingExpressions, "[", ",", "]")
-        val functionString = Utils.truncatedString(allAggregateExpressions, "[", ",", "]")
-        val outputString = Utils.truncatedString(output, "[", ",", "]")
+        val keyString = Utils.truncatedString(groupingExpressions, "[", ", ", "]")
+        val functionString = Utils.truncatedString(allAggregateExpressions, "[", ", ", "]")
+        val outputString = Utils.truncatedString(output, "[", ", ", "]")
         if (verbose) {
-          s"HashAggregate(key=$keyString, functions=$functionString, output=$outputString)"
+          s"HashAggregate(keys=$keyString, functions=$functionString, output=$outputString)"
         } else {
-          s"HashAggregate(key=$keyString, functions=$functionString)"
+          s"HashAggregate(keys=$keyString, functions=$functionString)"
         }
       case Some(fallbackStartsAt) =>
         s"HashAggregateWithControlledFallback $groupingExpressions " +