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

protobuf Oneof field serialization+deseriablization not supported by Cadence #1296

Open
jiaoyli opened this issue Nov 22, 2023 · 0 comments
Open
Labels
enhancement feature new feature request up-for-grabs Issues that are good entry points for those new to Cadence that want to contribute

Comments

@jiaoyli
Copy link

jiaoyli commented Nov 22, 2023

Describe the bug
passing OneOf field in request will fail with error:

'''json: cannot unmarshal object into Go struct field'''

To Reproduce
Is the issue reproducible?

  • Yes

Steps to reproduce the behavior:
Create a Cadence workflow that takes in a request field that contains a OneOf protobuf field.
Deserializing the input will fail with error '''json: cannot unmarshal object into Go struct field'''

Expected behavior
the oneof field should be supported.

Additional context
The root cause could be because cadence uses encode/json for serialization+deserialization. And this lib doesn't work for oneof fields. My current workaround is: before calling cadence, convert fields that contain Oneof to json string with package: "github.com/gogo/protobuf/jsonpb". then convert it back to proto field in Cadence workflow.

@ibarrajo ibarrajo added enhancement feature new feature request up-for-grabs Issues that are good entry points for those new to Cadence that want to contribute labels Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement feature new feature request up-for-grabs Issues that are good entry points for those new to Cadence that want to contribute
Projects
None yet
Development

No branches or pull requests

2 participants