Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research/solve truncating failure stack traces SDK-side so they don't get truncated server side #597

Open
1 of 9 tasks
cretz opened this issue Feb 12, 2025 · 0 comments
Open
1 of 9 tasks
Labels
enhancement New feature or request

Comments

@cretz
Copy link
Member

cretz commented Feb 12, 2025

Describe the solution you'd like

Today if a failure is too large, the server truncates. But the server can't truncate a stack trace for an "encoded" failure (i.e. one that is in the encoded_attributes), so that entire set of payloads is dropped which means the entire message and stack trace is gone, not just partial. So we need to do this SDK side.

Need to truncate the stack trace to a reasonably small size by default, ideally cutting out the middle frames only replacing them with "...X frames omitted..." or something. And this should be overridable in the failure converter options. First task is to find out what that number is, which likely requires consulting with the server to see what their default truncation size is and stay a bit under that (since theirs may be whole-proto size and ours is just stack trace).

Per-SDK Tickets

  • Go -
  • Java -
  • Core -
  • TypeScript -
  • Python -
  • .NET -
  • Ruby -
  • PHP -
  • Temporal CLI - N/A
@cretz cretz added the enhancement New feature or request label Feb 12, 2025
@cretz cretz changed the title Research truncating failure stack traces SDK-side so they don't get truncated server side Research/solve truncating failure stack traces SDK-side so they don't get truncated server side Feb 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant