Event deletion question

Hello ESDB team,

I’ve read a number of threads about event deletion and also the documentation. I’m trying to verify if the following behavior is expected.

I have an input stream, a projection and an output stream. Before pushing to the input stream I call stream.Recv() (golang client) to get the stream revision.

If I set maxAge on the input stream’s metadata ($$inputStreamName) to a value like 60 seconds, after a minute events will disappear and the inputStream becomes empty as expected. My understanding is that this should be a soft delete and I should be able to continue appending events to the stream.

However, the next time stream.Recv() is called, it returns an error with code 0 (UnknownErrorCode).

Is this expected behavior or is this a possible bug with the Go client?

ESDB server version 23, go client is /v3 v3.3.0

It’s indeed a soft-delete. I am wondering if you check the error against EOF like the docs says?

    event, err := stream.Recv()

    if errors.Is(err, io.EOF) {
        break
    }

Ah, you’re right I was not doing that. Thank you