Tim Möhlmann
63d733b3a2
perf(oidc): disable push of user token meta-event ( #8691 )
...
# Which Problems Are Solved
When executing many concurrent authentication requests on a single
machine user, there were performance issues. As the same aggregate is
being searched and written to concurrently, we traced it down to a
locking issue on the used index.
We already optimized the token endpoint by creating a separate OIDC
aggregate.
At the time we decided to push a single event to the user aggregate, for
the user audit log. See [technical advisory
10010](https://zitadel.com/docs/support/advisory/a10010 ) for more
details.
However, a recent security fix introduced an additional search query on
the user aggregate, causing the locking issue we found.
# How the Problems Are Solved
Add a feature flag which disables pushing of the `user.token.v2.added`.
The event has no importance and was only added for informational
purposes on the user objects. The `oidc_session.access_token.added` is
the actual payload event and is pushed on the OIDC session aggregate and
can still be used for audit trail.
# Additional Changes
- Fix an event mapper type for
`SystemOIDCSingleV1SessionTerminationEventType`
# Additional Context
- Reported by support request
- https://github.com/zitadel/zitadel/pull/7822 changed the token
aggregate
- https://github.com/zitadel/zitadel/pull/8631 introduced user state
check
Load test trace graph with `user.token.v2.added` **enabled**. Query
times are steadily increasing:

Load test trace graph with `user.token.v2.added` **disabled**. Query
times constant:

---------
Co-authored-by: Livio Spring <livio.a@gmail.com>
2024-09-26 13:55:41 +00:00
..
2023-12-08 15:30:55 +01:00
2024-05-04 11:55:57 +02:00
2024-07-31 14:42:12 +02:00
2024-08-12 22:32:01 +02:00
2024-07-31 14:42:12 +02:00
2024-05-04 11:55:57 +02:00
2024-05-04 11:55:57 +02:00
2024-08-12 22:32:01 +02:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-06-17 09:50:12 +00:00
2024-08-12 22:32:01 +02:00
2024-06-17 09:50:12 +00:00
2023-12-05 17:01:03 +00:00
2024-09-26 09:14:33 +02:00
2024-08-12 22:32:01 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-08-28 05:33:20 +00:00
2024-08-28 05:33:20 +00:00
2024-09-11 08:24:00 +00:00
2024-09-11 08:24:00 +00:00
2024-09-11 08:24:00 +00:00
2024-09-03 13:19:00 +00:00
2024-09-17 13:21:49 +00:00
2024-09-17 13:21:49 +00:00
2024-09-11 10:53:55 +00:00
2023-10-19 15:21:31 +00:00
2024-05-07 06:11:20 +00:00
2024-08-12 22:32:01 +02:00
2024-07-04 14:11:06 +00:00
2023-12-08 15:30:55 +01:00
2024-05-23 05:04:07 +00:00
2024-06-19 12:56:33 +02:00
2024-05-13 16:01:50 +02:00
2024-04-03 10:43:43 +00:00
2024-08-28 05:33:20 +00:00
2024-06-17 12:47:38 +00:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2024-06-17 12:47:38 +00:00
2023-10-19 12:19:10 +02:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2023-10-19 12:19:10 +02:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2023-10-19 15:21:31 +00:00
2024-08-12 22:32:01 +02:00
2024-07-31 18:00:38 +03:00
2024-09-26 13:55:41 +00:00
2024-09-04 10:14:50 +00:00
2024-09-26 13:55:41 +00:00
2024-04-03 10:43:43 +00:00
2023-12-08 15:30:55 +01:00
2024-04-09 19:32:00 +00:00
2024-04-03 10:43:43 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-05-23 05:04:07 +00:00
2024-04-05 09:35:49 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-08-12 22:32:01 +02:00
2024-05-23 05:04:07 +00:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-04-11 09:16:10 +02:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-08-12 22:32:01 +02:00
2023-12-21 10:03:37 +01:00
2023-10-26 05:54:09 +00:00
2024-08-12 22:32:01 +02:00
2024-05-23 12:28:46 +02:00
2023-10-19 12:19:10 +02:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2023-12-19 10:25:50 +00:00
2024-04-03 10:43:43 +00:00
2024-04-03 10:43:43 +00:00
2023-12-08 15:30:55 +01:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-04-10 09:14:55 +00:00
2024-08-12 22:32:01 +02:00
2024-05-30 22:08:48 +00:00
2024-05-13 16:01:50 +02:00
2024-08-12 22:32:01 +02:00
2024-05-13 16:01:50 +02:00
2024-03-20 10:18:46 +00:00
2024-02-28 10:21:11 +00:00
2023-10-19 12:19:10 +02:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-09-13 13:22:25 +00:00
2024-08-12 22:32:01 +02:00
2024-08-12 22:32:01 +02:00
2024-07-31 18:00:38 +03:00
2024-07-31 18:00:38 +03:00
2024-09-12 06:27:29 +02:00
2024-08-14 14:18:14 +00:00
2024-08-14 14:18:14 +00:00
2024-01-17 10:16:48 +00:00
2024-01-17 10:16:48 +00:00
2024-08-12 22:32:01 +02:00
2024-01-17 10:16:48 +00:00
2024-07-31 18:00:38 +03:00
2023-07-06 08:38:13 +02:00
2024-05-16 07:07:56 +02:00
2024-09-26 13:55:41 +00:00
2024-09-26 13:55:41 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-05-13 16:01:50 +02:00
2024-08-28 05:33:20 +00:00
2024-06-19 12:56:33 +02:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2023-10-19 15:21:31 +00:00
2024-08-12 22:32:01 +02:00
2024-07-31 18:00:38 +03:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-04-03 10:43:43 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-05-23 05:04:07 +00:00
2024-04-05 09:35:49 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-09-06 14:47:57 +02:00
2024-05-23 05:04:07 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-04-10 09:14:55 +00:00
2024-04-10 09:14:55 +00:00
2024-06-19 12:56:33 +02:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-04-03 10:43:43 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-05-13 16:01:50 +02:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-07-31 18:00:38 +03:00
2024-07-31 18:00:38 +03:00
2023-12-08 15:30:55 +01:00
2024-09-26 09:14:33 +02:00
2023-10-26 05:54:09 +00:00
2023-07-20 04:06:16 +00:00
2023-12-08 15:30:55 +01:00
2024-04-10 09:14:55 +00:00
2024-05-13 16:01:50 +02:00
2024-08-12 22:32:01 +02:00
2024-04-05 09:35:49 +00:00
2024-08-28 18:19:50 +00:00
2024-08-28 18:19:50 +00:00
2024-04-03 10:43:43 +00:00
2024-04-05 09:35:49 +00:00
2024-06-19 12:56:33 +02:00
2024-04-05 09:35:49 +00:00
2024-08-28 18:19:50 +00:00
2024-08-28 18:19:50 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2023-04-11 15:07:32 +00:00
2024-08-12 22:32:01 +02:00
2024-06-20 13:31:58 +00:00
2024-08-12 22:32:01 +02:00
2024-07-04 16:18:43 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-07-03 15:00:56 +00:00
2024-08-12 22:32:01 +02:00
2024-07-03 15:00:56 +00:00
2024-08-12 22:32:01 +02:00
2024-07-03 15:00:56 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2023-10-19 12:19:10 +02:00
2023-09-15 16:58:45 +02:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2023-12-09 08:59:51 +00:00
2023-12-05 11:12:01 +00:00
2024-08-12 22:32:01 +02:00
2024-04-08 08:15:44 +00:00
2023-08-11 15:36:18 +00:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-08-12 22:32:01 +02:00
2024-05-30 22:08:48 +00:00
2023-12-08 15:30:55 +01:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-12 06:27:29 +02:00
2024-09-12 06:27:29 +02:00
2024-09-26 13:55:41 +00:00
2024-09-04 10:14:50 +00:00
2024-09-26 13:55:41 +00:00
2023-10-19 15:21:31 +00:00
2024-01-02 14:26:31 +00:00
2024-05-16 07:07:56 +02:00
2023-12-08 15:30:55 +01:00
2024-06-19 12:56:33 +02:00
2024-08-12 22:32:01 +02:00
2024-07-04 16:18:43 +00:00
2024-04-03 10:43:43 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-04-24 17:50:58 +02:00
2024-08-12 22:32:01 +02:00
2024-07-17 06:43:07 +02:00
2024-04-24 17:50:58 +02:00
2024-08-12 22:32:01 +02:00
2024-05-02 11:50:13 +02:00
2023-09-07 14:06:11 +00:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-04-03 10:43:43 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2024-05-16 07:07:56 +02:00
2024-09-26 09:14:33 +02:00
2023-08-11 15:36:18 +00:00
2024-07-26 22:39:55 +02:00
2024-09-26 09:14:33 +02:00
2023-08-04 11:35:36 +02:00
2024-08-14 13:04:26 +00:00
2024-08-14 13:04:26 +00:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-04-05 09:35:49 +00:00
2024-08-12 22:32:01 +02:00
2024-04-05 09:35:49 +00:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-08-12 22:32:01 +02:00
2024-06-19 12:56:33 +02:00
2024-09-11 10:53:55 +00:00
2023-12-08 15:30:55 +01:00
2023-12-08 15:30:55 +01:00
2024-04-03 10:43:43 +00:00
2024-08-12 22:32:01 +02:00
2023-12-08 15:30:55 +01:00
2024-09-17 08:27:48 +00:00
2024-08-28 19:46:45 +00:00
2024-09-17 08:27:48 +00:00
2024-08-12 22:32:01 +02:00
2024-08-12 22:32:01 +02:00
2024-05-03 07:23:40 +00:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-11 10:53:55 +00:00
2024-09-11 10:53:55 +00:00
2024-09-11 10:53:55 +00:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-11 10:53:55 +00:00
2024-09-11 10:53:55 +00:00
2024-08-12 22:32:01 +02:00
2024-04-05 09:35:49 +00:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-08-12 22:32:01 +02:00
2024-05-14 09:20:31 +02:00
2024-05-07 05:38:26 +00:00
2024-07-31 18:00:38 +03:00
2024-05-07 05:38:26 +00:00
2024-07-05 09:36:00 +02:00
2023-12-21 10:03:37 +01:00
2024-09-25 13:31:31 +00:00
2024-09-25 13:31:31 +00:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-26 09:14:33 +02:00
2024-09-11 10:53:55 +00:00
2024-08-14 14:18:14 +00:00
2024-08-14 14:18:14 +00:00
2024-08-14 14:18:14 +00:00