Skip to content

Conversation

@rednaxelafx
Copy link
Contributor

What changes were proposed in this pull request?

Along the same lines as #52049, apply the same fix to KVStoreScalaSerializer as well.

Why are the changes needed?

The previous fix in #52049 only removed the Jackson JSON string length limit in JsonProtocol, which covered Spark event <=> JSON SerDe.

However, the exact same problem exists in KVStoreScalaSerializer as well, which is triggered when SHS is configured to use LevelDB/RocksDB KVStores.

Example call chain that triggers the issue:

  ExecutionPage.render()
    → sqlStore.planGraph(executionId, version)
      → store.read(classOf[SparkPlanGraphWrapper], ...)
        → KVStoreSerializer.deserialize()
          → mapper.readValue()  // ← FAILS HERE with 20MB limit

Does this PR introduce any user-facing change?

Yes, users won't hit the Jackson JSON string length limit any more when using SHS.

How was this patch tested?

Manually tested with a SQL workload that had an intentionally long string for the plan graph.
The fix mechanism itself is tested by previous PRs #49163 and #52049, this is just applying the same fix to SHS as well.

Was this patch authored or co-authored using generative AI tooling?

No

@github-actions
Copy link

github-actions bot commented Jan 7, 2026

JIRA Issue Information

=== Bug SPARK-49872 ===
Summary: Spark History UI -- StreamConstraintsException: String length (20054016) exceeds the maximum length (20000000)
Assignee: Wenchen Fan
Status: Resolved
Affected: ["3.5.3","3.5.4"]


This comment was automatically generated by GitHub Actions

@github-actions github-actions bot added the CORE label Jan 7, 2026
@cloud-fan
Copy link
Contributor

thanks, merging to master/4.1/4.0/3.5!

@cloud-fan cloud-fan closed this in ed20139 Jan 7, 2026
cloud-fan pushed a commit that referenced this pull request Jan 7, 2026
…StoreScalaSerializer

### What changes were proposed in this pull request?

Along the same lines as #52049, apply the same fix to `KVStoreScalaSerializer` as well.

### Why are the changes needed?

The previous fix in #52049 only removed the Jackson JSON string length limit in `JsonProtocol`, which covered Spark event <=> JSON SerDe.

However, the exact same problem exists in `KVStoreScalaSerializer` as well, which is triggered when SHS is configured to use LevelDB/RocksDB KVStores.

Example call chain that triggers the issue:
```
  ExecutionPage.render()
    → sqlStore.planGraph(executionId, version)
      → store.read(classOf[SparkPlanGraphWrapper], ...)
        → KVStoreSerializer.deserialize()
          → mapper.readValue()  // ← FAILS HERE with 20MB limit
```

### Does this PR introduce _any_ user-facing change?

Yes, users won't hit the Jackson JSON string length limit any more when using SHS.

### How was this patch tested?

Manually tested with a SQL workload that had an intentionally long string for the plan graph.
The fix mechanism itself is tested by previous PRs #49163 and #52049, this is just applying the same fix to SHS as well.

### Was this patch authored or co-authored using generative AI tooling?

No

Closes #53711 from rednaxelafx/fix-jackson-strlenlimit-kvstore.

Authored-by: Kris Mok <[email protected]>
Signed-off-by: Wenchen Fan <[email protected]>
(cherry picked from commit ed20139)
Signed-off-by: Wenchen Fan <[email protected]>
cloud-fan pushed a commit that referenced this pull request Jan 7, 2026
…StoreScalaSerializer

### What changes were proposed in this pull request?

Along the same lines as #52049, apply the same fix to `KVStoreScalaSerializer` as well.

### Why are the changes needed?

The previous fix in #52049 only removed the Jackson JSON string length limit in `JsonProtocol`, which covered Spark event <=> JSON SerDe.

However, the exact same problem exists in `KVStoreScalaSerializer` as well, which is triggered when SHS is configured to use LevelDB/RocksDB KVStores.

Example call chain that triggers the issue:
```
  ExecutionPage.render()
    → sqlStore.planGraph(executionId, version)
      → store.read(classOf[SparkPlanGraphWrapper], ...)
        → KVStoreSerializer.deserialize()
          → mapper.readValue()  // ← FAILS HERE with 20MB limit
```

### Does this PR introduce _any_ user-facing change?

Yes, users won't hit the Jackson JSON string length limit any more when using SHS.

### How was this patch tested?

Manually tested with a SQL workload that had an intentionally long string for the plan graph.
The fix mechanism itself is tested by previous PRs #49163 and #52049, this is just applying the same fix to SHS as well.

### Was this patch authored or co-authored using generative AI tooling?

No

Closes #53711 from rednaxelafx/fix-jackson-strlenlimit-kvstore.

Authored-by: Kris Mok <[email protected]>
Signed-off-by: Wenchen Fan <[email protected]>
(cherry picked from commit ed20139)
Signed-off-by: Wenchen Fan <[email protected]>
cloud-fan pushed a commit that referenced this pull request Jan 7, 2026
…StoreScalaSerializer

### What changes were proposed in this pull request?

Along the same lines as #52049, apply the same fix to `KVStoreScalaSerializer` as well.

### Why are the changes needed?

The previous fix in #52049 only removed the Jackson JSON string length limit in `JsonProtocol`, which covered Spark event <=> JSON SerDe.

However, the exact same problem exists in `KVStoreScalaSerializer` as well, which is triggered when SHS is configured to use LevelDB/RocksDB KVStores.

Example call chain that triggers the issue:
```
  ExecutionPage.render()
    → sqlStore.planGraph(executionId, version)
      → store.read(classOf[SparkPlanGraphWrapper], ...)
        → KVStoreSerializer.deserialize()
          → mapper.readValue()  // ← FAILS HERE with 20MB limit
```

### Does this PR introduce _any_ user-facing change?

Yes, users won't hit the Jackson JSON string length limit any more when using SHS.

### How was this patch tested?

Manually tested with a SQL workload that had an intentionally long string for the plan graph.
The fix mechanism itself is tested by previous PRs #49163 and #52049, this is just applying the same fix to SHS as well.

### Was this patch authored or co-authored using generative AI tooling?

No

Closes #53711 from rednaxelafx/fix-jackson-strlenlimit-kvstore.

Authored-by: Kris Mok <[email protected]>
Signed-off-by: Wenchen Fan <[email protected]>
(cherry picked from commit ed20139)
Signed-off-by: Wenchen Fan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants