Diagnostic Settings not functioning as expected, not all CL tables registering events

Mike Rees 0 Reputation points Microsoft Employee
2026-01-26T22:03:04.5766667+00:00

I wanted to tag this with Azure Log Analytics but couldn't find that tag. Here goes
We have two spark pools that have the same Spark Version (3.4), same Spark Configuration (which is used to write events to three tables (SparkListenerEvent_CL, SparkLoggingEvent_CL and SparkMetrics_CL).

Pool A has no recent events registered in SparkListenerEvent_CL, but does in the other two tables. The comparable pool, Pool B, has events in all three tables.

I have been trying to troubleshoot this for a couple of days over the past two weeks or so. I have cleared the spark configs, and re assigned them (on Pool A). I have deleted the Diagnostic Settings on this pool (Pool A). At no time did these changes register any records in the SparkListenerEvent_CL table, but events did register in the other two tables.

I run the following query after running a test notebook (and waiting for events to propagate):

SparkListenerEvent_CL
| where workspaceName_s == '<workspacename>' and TimeGenerated >= ago(8h)
| summarize count(), min(TimeGenerated), max(TimeGenerated) by clusterName_s
| order by clusterName_s 
;
SparkLoggingEvent_CL
| where workspaceName_s == '<workspacename>' 
and TimeGenerated >= ago(8h)
| summarize count(), min(TimeGenerated), max(TimeGenerated) by clusterName_s
| order by clusterName_s 
;
SparkMetrics_CL
| where workspaceName_s == '<workspacename>' 
and TimeGenerated >= ago(8h)
| summarize count(), min(TimeGenerated), max(TimeGenerated) by clusterName_s
| order by clusterName_s 

In the first query results (SparkListenerEvent_CL), one record is produced for Pool B.

In the other two query results, there are 18 records (for 18 different spark pools, including both Pool A and Pool B).

I've done this several times now. Again, clearing/reassigning Spark Configuration, and deleting and adding back the appropriate Diagnostic Settings record. In doing so, I did not check the all boxes, and instead checked the only Category available ("Big Data Pool Applications Ended").

I cannot see if there are ingestion errors in this log analytics workspace due to query error.
I'm using :

 .show ingestion failures

And the error message is a little interesting ""error":{"code":"MgmtCslFailedParsing","message":"ApiContractViolationError: management command parsing failed with error: SyntaxError: Expected "schema" but "f" found., Location: line 1, column 25"......"
Each time the column number changes. For example, I ran it again, and
{"error":{"code":"MgmtCslFailedParsing","message":"ApiContractViolationError: management command parsing failed with error: SyntaxError: Expected "capacity", "cluster", "database", "databases", "entity", "function", "functions", "schema", "tables", or "version" but "i" found., Location: line 1, column 7"

Both of these pools (one working (Pool B) one not (Pool A) have the same permissions in the same synapse workspace. Or at least they seem to. Both pools have the same Diagnostic Settings, writing to the same Log Analytics workspace.

I don't see how permissions to write to Log Analytics workspace could differ. We have pipelines using each of these pools (though the one is more frequently used). Records should register at least once a day for Pool A, with many records per day for Pool B.
Fact is, there are several spark pools that are not registering events in SparkListenerEvent_CL, and are in the other two tables.

Azure Monitor
Azure Monitor
An Azure service that is used to collect, analyze, and act on telemetry data from Azure and on-premises environments.
{count} votes

1 answer

Sort by: Most helpful
  1. Q&A Assist
    2026-01-26T22:03:20.7766667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    It seems you are experiencing issues with the SparkListenerEvent_CL table not registering events for Pool A, despite having the same configurations as Pool B, which is functioning correctly. Here are some troubleshooting steps and considerations based on the context provided:

    1. Configuration Verification: Ensure that the Spark configuration settings for Pool A are indeed identical to those of Pool B. Sometimes, subtle differences can lead to discrepancies in event logging.
    2. Diagnostic Settings: Since you mentioned deleting and re-adding the Diagnostic Settings, ensure that the settings are correctly configured to capture all necessary event categories. You may want to double-check that the correct categories are selected, especially if you are only checking "Big Data Pool Applications Ended."
    3. Event Filtering: Review the filters applied to the diagnostic emitters. If there are specific event names or logger names being filtered out, it could prevent events from being logged in SparkListenerEvent_CL.
    4. Permissions: Although you indicated that both pools have the same permissions, it may be worth verifying the permissions on the Log Analytics workspace itself to ensure there are no discrepancies that could affect data ingestion.
    5. Ingestion Errors: The errors you are encountering when using .show ingestion failures suggest there may be issues with the queries being run. Ensure that the syntax of your queries is correct and that you are using valid commands. The error messages indicate parsing issues, which may be due to incorrect command structure or unsupported syntax.
    6. Logs and Metrics: Since you are receiving logs in the other two tables, it may be helpful to compare the logs from both pools to identify any differences in behavior or errors that could provide clues about why events are not being captured in SparkListenerEvent_CL.
    7. Support: If the issue persists after trying these steps, consider reaching out to Microsoft Support for more in-depth troubleshooting, as they can access detailed diagnostic logs that may not be visible to you.

    By following these steps, you should be able to narrow down the cause of the issue with the SparkListenerEvent_CL table not registering events for Pool A.


    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.