Motivations behind the soft deletion of streams feature?

What are the motivations of having implemented the soft deletion feature for streams?
Is it just like a security measure for production envs?

Are there other interesting use cases?

Actually I realize that once the stream is hard deleted it is gone forever and the stream name can not be used anymore.
If trying to add an event to a hard deleted stream it will answer with 410 Gone.

I am actually building a Client and would like to reset the state of GES on every integration test.

Is there a way to allow to re-use a deleted stream as if it never existed?

You could use in memory mode for development purposes. e.g. start the cluster with


What environment are you building the client for and in what language?

I am building a PHP client, I am not quite satisfied of what is actually available.
I am starting with an http client the get a grasp of the basic behaviours of GES, and will then dig into a tcp client.

I am using this docker image for testing purposes:

I think I am just going to rebuild the container when necessary for now.

Thx for the --mem-db=true tip.

We will be releasing an official docker image soon. You can keep an eye out on the progress of this here

Subscribed! Thank you!

No because this would totally break any idea of caching/immutability

And to be clear *without restart

I get it. Thank you.