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

Add development mode #898

Open
1 of 5 tasks
Tracked by #204
tillrohrmann opened this issue Nov 20, 2023 · 5 comments
Open
1 of 5 tasks
Tracked by #204

Add development mode #898

tillrohrmann opened this issue Nov 20, 2023 · 5 comments
Labels
needs-refinement Issues that need further investigation umbrella

Comments

@tillrohrmann
Copy link
Contributor

tillrohrmann commented Nov 20, 2023

This is an umbrella issue for tracking efforts around introducing a development mode for our users. It is currently not clear how the development mode should behave. We need to collect more feedback and ideas.

Tasks

  1. admin good first issue ops-ex
  2. admin ops-ex

The previous issue can be found here. We also created a design document before.

@tillrohrmann tillrohrmann added the api-devex Restate user facing Development model label Nov 20, 2023
@tillrohrmann tillrohrmann changed the title Dev-mode Add development mode Nov 20, 2023
@tillrohrmann tillrohrmann added umbrella needs-refinement Issues that need further investigation labels Nov 20, 2023
@tillrohrmann
Copy link
Contributor Author

Will probably be covered by the CLI (#888) eventually.

@tillrohrmann
Copy link
Contributor Author

@slinkydeveloper what prevented us from merging the original dev mode. I faintly remember that it had something to do with invoking Docker on different platforms.

@slinkydeveloper
Copy link
Contributor

slinkydeveloper commented Dec 11, 2023

I faintly remember that it had something to do with invoking Docker on different platforms.

It wasn't that AFAIR, because I fixed it with having slight code differences depending on the platform. Maybe it was something about having the typescript experience? restatedev/sdk-typescript#23

@tillrohrmann tillrohrmann removed the api-devex Restate user facing Development model label Dec 12, 2023
@oferh
Copy link

oferh commented Dec 13, 2023

Some more ideas:

  • Testing utilities such as mocks for side effects, fixtures or pre-loaded states that can be used to test workflows that check an initial state.
  • Ability to invoke a service using a transport different from the one used in production.
  • Replay of an invocation
  • Breakpoints:
    • when reaching a set state or side effect, i.e. pause execution until the developer resumes it
    • on errors
    • when a condition on a set turns to true
  • Durable timers related tests: don't actually wait for duration but provide wrappers for the system time that can be used to simulate the expected behavior.

@tillrohrmann
Copy link
Contributor Author

Thanks a lot for your ideas @oferh. I think these things would be really awesome to have for Restate :-) For the test utility related ideas, we do have restatedev/sdk-typescript#101 which aims at providing better testing utilities for the TS SDK. For the Java SDK we already have some testing utilities (admittedly yet not as powerful as you've described them).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-refinement Issues that need further investigation umbrella
Projects
None yet
Development

No branches or pull requests

3 participants