-
-
Notifications
You must be signed in to change notification settings - Fork 223
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
Consider using a single table for checkpoints #4152
Comments
@bwaidelich IMHO there were good reasons for the current approach - making every projection completely self-contained; and I think there were problems with the other approach (I don't remember them fully though). I am not sure if we should again change this - I don't see any benefits in changing this. |
@dlubitz brought it up and I could not answer why we need 19 tables (instead of 13) for a CR instance. But I'm totally happy with keeping it for now! |
UPDATE: Nevermind, it was a copy/paste mistake in my case and I used the same subscriber id twice ¯\(ツ)/¯ |
Phew, good 😊 |
Closing for now, because the current implementation has no severe drawbacks This might be addressed with #4746 (keyword: subscription engine) |
indeed with the subscription engine we are thinking about doing this: #5321 the problem so far is how to get the transactions right. As even on fatal errors we want the subscription position (checkpoint) to match what the projection has done. |
Currently we create six tables per CR instance to store the checkpoints of projections.
We should consider using a single table for those instead, since they already use a unique subscriber id (= FQN projection class name).
Note: We might have chosen this approach to make the locking mechanism work (better) – but I'm not sure
The text was updated successfully, but these errors were encountered: