The given checkpoint is invalid. possible causes might include having written an event to the projection's managed stream. the bad checkpoint: phase: 0

I think I may have accidentally written to an $et-* stream. Is there a way to fix this?

related issue:


Could you truncate the stream, and restart the event type projection?
If that means millions of events being replayed, perhaps you could just this one event out by whatever consumes it?

How do I truncate a stream?

I use postman.
The UI has a Delete button, but I think this has recently changed how it works, so I would avoid that option.
Alternatively, you can post a truncate event onto the metadata stream.

So by truncate you mean issue a DELETE request to that stream?

Yeah. Once you truncate the stream, there will be an event written to the metadata stream, something like:

{ “$tb” : 10 } //everything below 10 is gone


what did you mean by this? seems like some words are missing :slight_smile:

Ah sorry.

Should have read:

perhaps you could just filter this one event out by whatever consumes it? I am assuming it was only one event that you wrote to this stream.

A number greater than one :slight_smile:

It worked to stop the projection, and reset it. I tested it on a copy of our production DB, which has 50m events, and it took about 5 hours, during that time we would have experienced downtime, but I guess that’s what it has to be.

1 Like