googleapis/mcp-toolbox · error
failed to marshal session to JSON: %w
Error message
failed to marshal session to JSON: %w
What it means
protojson.Marshal failed to serialize the fetched Session proto to JSON in GetSession — an internal serialization failure on an unexpected proto state.
Source
Thrown at internal/sources/serverlessspark/serverlessspark.go:437
}
return ListSessionsResponse{Sessions: sessions, NextPageToken: nextPageToken}, nil
}
func (s *Source) GetSession(ctx context.Context, name string) (map[string]any, error) {
client := s.GetSessionControllerClient()
req := &dataprocpb.GetSessionRequest{
Name: fmt.Sprintf("projects/%s/locations/%s/sessions/%s", s.GetProject(), s.GetLocation(), name),
}
sessionPb, err := client.GetSession(ctx, req)
if err != nil {
return nil, fmt.Errorf("failed to get session: %w", err)
}
jsonBytes, err := protojson.Marshal(sessionPb)
if err != nil {
return nil, fmt.Errorf("failed to marshal session to JSON: %w", err)
}
var result map[string]any
if err := json.Unmarshal(jsonBytes, &result); err != nil {
return nil, fmt.Errorf("failed to unmarshal session JSON: %w", err)
}
consoleUrl, err := SessionConsoleURLFromProto(sessionPb)
if err != nil {
return nil, fmt.Errorf("error generating console url: %v", err)
}
logsUrl, err := SessionLogsURLFromProto(sessionPb)
if err != nil {
return nil, fmt.Errorf("error generating logs url: %v", err)
}
wrappedResult := map[string]any{
"consoleUrl": consoleUrl,View on GitHub (pinned to 8cc6e09de2)
Solutions
- Retry the fetch
- Inspect the session proto for unsupported field values
- Report upstream if reproducible
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at internal/sources/serverlessspark/serverlessspark.go:437 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of googleapis/mcp-toolbox@8cc6e09de2 (2026-09-05).
Data as JSON: /api/errors/2ae002256978fe01.
Report an issue: GitHub.