Questions regarding updating projections

Hello ESDB team!

We have some general questions regarding updating projections, and would appreciate the help! We’ve read through the documentation as well, but wanted to clarifying several things.

We currently have a pretty simple setup of a single projection with code like fromCategory("category").foreachStream()..., which then emits events into a respective result stream for each input stream within the category. As we go forward with deploying this projection, we wanted to confirm some behaviors regarding updating a projection that is already deployed. The behavior that we see is:

  1. The projection is updated (currently we are updating it via the UI)
  2. All of the input events from all input streams get reprocessed with the new projection code
  3. Events in the result streams corresponding to the previous version of the projection code gets soft deleted (i.e. marked with “tb”)
    Would it be possible to get some confirmation on whether this is the expected behavior?

If the above is expected behavior, our concern is step 2, when all of the events get reprocessed by the new projection code. Is there a way to configure the behavior so prevent the reprocessing? Or, if there is a general strategy for safely and efficiently updating projections, please let me know!

Thank you all in advance.

1 Like