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

[Task]: Implement State in Go #22736

Closed
damccorm opened this issue Aug 16, 2022 · 1 comment
Closed

[Task]: Implement State in Go #22736

damccorm opened this issue Aug 16, 2022 · 1 comment
Assignees
Labels
done & done Issue has been reviewed after it was closed for verification, followups, etc. go P2 task

Comments

@damccorm
Copy link
Contributor

What needs to happen?

Part of #20510 - designed here - https://docs.google.com/document/d/1rcKa1Z6orDDFr1l8t6NA1eLl6zanQbYAEiAqk39NQUU/edit?usp=sharing

Issue Priority

Priority: 2

Issue Component

Component: sdk-go

@damccorm
Copy link
Contributor Author

damccorm commented Aug 16, 2022

Generally, things that need to be done for this to be called complete:

Phase 1 - MVP

  • User experience changes - make it possible to declare one or more state member variables. Perform validation. Plumb that information through to graph construction/execution. No/op, and temporarily throw a validation exception until more is implemented.
  • Execution changes - when appropriate, pass in a fully hydrated state provider that knows how to handle ValueState (with set and clear operations) and can talk to the state api. Update validation to allow value state types.
  • Integration test.

Phase 2 - Full support

Following pattern established in part 1, implement:

  • BagState + integration test
  • CombiningState + integration test
  • SetState + integration test
  • MapState + integration test
  • Set and Map remove operations (per key)
  • Clear operation
  • Windowing specific integration test
  • Documentation PR (at least drafted)
  • CHANGES.md updated

Phase 3 - Cleanup

  • Fix any hanging TODOs or create new issues for them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
done & done Issue has been reviewed after it was closed for verification, followups, etc. go P2 task
Projects
None yet
Development

No branches or pull requests

2 participants