Skip to content

Upmerge 3.23.x into 4.0.x - #933

Merged
DanielBadura merged 4 commits into
4.0.xfrom
3.23.x-merge-up-into-4.0.x_qTGNX1VX
Oct 9, 2026
Merged

DanielBadura merged 4 commits into
4.0.xfrom
3.23.x-merge-up-into-4.0.x_qTGNX1VX

Conversation

@DanielBadura

Copy link
Copy Markdown
Member

No description provided.

The PSR-6 and PSR-16 metadata factories of aggregates, events and
subscribers used the class name as cache key. Class names contain a
backslash, which is a reserved character in PSR-6 and PSR-16, so the
factories failed with any compliant cache like symfony/cache.

The class name is now hashed and prefixed per metadata type, so the
factories can also share one cache. A cache hit is only accepted if it
holds the expected metadata, for aggregates it also has to belong to the
requested class.
Fix cache keys of the metadata factories
…l30N9EX

Merge release 3.22.1 into 3.23.x
…-4.0.x_qTGNX1VX

# Conflicts:
#	composer.lock
#	tests/Unit/Metadata/Aggregate/Psr16AggregateRootMetadataFactoryTest.php
#	tests/Unit/Metadata/Aggregate/Psr6AggregateRootMetadataFactoryTest.php
#	tests/Unit/Metadata/Event/Psr16EventMetadataFactoryTest.php
#	tests/Unit/Metadata/Event/Psr6EventMetadataFactoryTest.php
#	tests/Unit/Metadata/Subscriber/Psr16SubscriberMetadataFactoryTest.php
#	tests/Unit/Metadata/Subscriber/Psr6SubscriberMetadataFactoryTest.php
@DanielBadura DanielBadura self-assigned this Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Hello 👋

here is the most recent benchmark result:

SplitStreamBench
================

+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                         | time (kde mode)                                     | memory                                     |
+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                 | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad10000Events () | 2.130ms (±0.00%)   | 2.016ms (±0.00%)   | +5.63%    | 35.775mb        | 36.296mb   | -1.43%      |
| benchSave10000Events () | 348.637ms (±0.00%) | 425.146ms (±0.00%) | -18.00%   | 35.966mb        | 36.431mb   | -1.28%      |
+-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

SimpleSetupTaggableStoreBench
=============================

+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                     | memory                                     |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad1Event ()                     | 849.700μs (±0.00%) | 784.300μs (±0.00%) | +8.34%    | 36.313mb        | 36.313mb   | 0.00%       |
| benchLoad10000Events ()                | 45.344ms (±0.00%)  | 43.855ms (±0.00%)  | +3.40%    | 36.313mb        | 36.313mb   | 0.00%       |
| benchSave1Event ()                     | 1.121ms (±0.00%)   | 1.090ms (±0.00%)   | +2.89%    | 36.313mb        | 36.313mb   | 0.00%       |
| benchSave10000Events ()                | 236.654ms (±0.00%) | 283.816ms (±0.00%) | -16.62%   | 36.313mb        | 36.313mb   | 0.00%       |
| benchSave10000Aggregates ()            | 5.806s (±0.00%)    | 6.096s (±0.00%)    | -4.75%    | 36.313mb        | 36.313mb   | 0.00%       |
| benchSave10000AggregatesTransaction () | 3.654s (±0.00%)    | 3.492s (±0.00%)    | +4.64%    | 36.313mb        | 36.313mb   | 0.00%       |
| benchAppend1Event ()                   | 1.316ms (±0.00%)   | 1.270ms (±0.00%)   | +3.67%    | 36.313mb        | 36.313mb   | 0.00%       |
| benchAppend100Events ()                | 5.470ms (±0.00%)   | 5.569ms (±0.00%)   | -1.78%    | 36.313mb        | 36.313mb   | 0.00%       |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

SubscriptionEngineBench
=======================

+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+
|                           | time (kde mode)                               | memory                                     |
+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+
| subject                   | Tag: <current>  | Tag: base       | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+
| benchHandle10000Events () | 1.706s (±0.00%) | 1.642s (±0.00%) | +3.86%    | 48.302mb        | 48.302mb   | 0.00%       |
+---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+

NoopSubscriptionEngineBench
===========================

+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
|                           | time (kde mode)                                   | memory                                     |
+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| subject                   | Tag: <current>    | Tag: base         | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| benchHandle10000Events () | 66.026ms (±0.00%) | 66.211ms (±0.00%) | -0.28%    | 48.302mb        | 48.302mb   | 0.00%       |
+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+

SimpleSetupStreamStoreBench
===========================

+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                     | memory                                     |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad1Event ()                     | 817.100μs (±0.00%) | 937.300μs (±0.00%) | -12.82%   | 35.147mb        | 35.147mb   | 0.00%       |
| benchLoad10000Events ()                | 45.416ms (±0.00%)  | 43.585ms (±0.00%)  | +4.20%    | 35.147mb        | 35.147mb   | 0.00%       |
| benchSave1Event ()                     | 1.021ms (±0.00%)   | 999.000μs (±0.00%) | +2.21%    | 35.147mb        | 35.147mb   | 0.00%       |
| benchSave10000Events ()                | 212.060ms (±0.00%) | 212.108ms (±0.00%) | -0.02%    | 35.147mb        | 35.147mb   | 0.00%       |
| benchSave10000Aggregates ()            | 5.825s (±0.00%)    | 5.952s (±0.00%)    | -2.14%    | 35.147mb        | 35.147mb   | 0.00%       |
| benchSave10000AggregatesTransaction () | 3.620s (±0.00%)    | 3.419s (±0.00%)    | +5.86%    | 35.147mb        | 35.147mb   | 0.00%       |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

SubscriptionEngineBatchBench
============================

+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
|                           | time (kde mode)                                   | memory                                     |
+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| subject                   | Tag: <current>    | Tag: base         | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| benchHandle10000Events () | 71.450ms (±0.00%) | 67.197ms (±0.00%) | +6.33%    | 35.727mb        | 35.727mb   | 0.00%       |
+---------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+

DynamicConsistencyBoundaryBench
===============================

+------------------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
|                                                | time (kde mode)                                   | memory                                     |
+------------------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| subject                                        | Tag: <current>    | Tag: base         | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+------------------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+
| benchDecisionModelSmall ()                     | 1.318ms (±0.00%)  | 1.318ms (±0.00%)  | +0.04%    | 13.862mb        | 13.862mb   | 0.00%       |
| benchDecisionModelComposite ()                 | 11.343ms (±0.00%) | 11.218ms (±0.00%) | +1.11%    | 13.862mb        | 13.862mb   | 0.00%       |
| benchDecisionModel10000Events ()               | 63.633ms (±0.00%) | 62.318ms (±0.00%) | +2.11%    | 13.862mb        | 13.862mb   | 0.00%       |
| benchDecisionModel10000EventsWithCheckpoint () | 7.704ms (±0.00%)  | 9.520ms (±0.00%)  | -19.08%   | 13.862mb        | 13.862mb   | 0.00%       |
| benchDecisionModelOnlyLastEvent ()             | 1.126ms (±0.00%)  | 1.054ms (±0.00%)  | +6.87%    | 13.862mb        | 13.862mb   | 0.00%       |
| benchDecideAndAppend ()                        | 20.564ms (±0.00%) | 26.062ms (±0.00%) | -21.09%   | 13.862mb        | 13.862mb   | 0.00%       |
| benchAppendWithCondition ()                    | 2.824ms (±0.00%)  | 2.884ms (±0.00%)  | -2.11%    | 13.862mb        | 13.862mb   | 0.00%       |
+------------------------------------------------+-------------------+-------------------+-----------+-----------------+------------+-------------+

PersonalDataBench
=================

+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                     | memory                                     |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad1Event ()                     | 829.700μs (±0.00%) | 809.700μs (±0.00%) | +2.47%    | 37.009mb        | 37.009mb   | 0.00%       |
| benchLoad10000Events ()                | 111.897ms (±0.00%) | 107.696ms (±0.00%) | +3.90%    | 37.009mb        | 37.009mb   | 0.00%       |
| benchSave1Event ()                     | 2.583ms (±0.00%)   | 2.011ms (±0.00%)   | +28.49%   | 37.009mb        | 37.009mb   | +0.00%      |
| benchSave10000Events ()                | 290.964ms (±0.00%) | 299.730ms (±0.00%) | -2.92%    | 37.064mb        | 37.064mb   | 0.00%       |
| benchSave10000Aggregates ()            | 9.448s (±0.00%)    | 9.386s (±0.00%)    | +0.65%    | 37.009mb        | 37.009mb   | 0.00%       |
| benchSave10000AggregatesTransaction () | 7.038s (±0.00%)    | 6.768s (±0.00%)    | +3.99%    | 37.009mb        | 37.009mb   | 0.00%       |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

SnapshotsBench
==============

+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
|                                        | time (kde mode)                                     | memory                                     |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| subject                                | Tag: <current>     | Tag: base          | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+
| benchLoad10000EventsMissingSnapshot () | 46.169ms (±0.00%)  | 43.176ms (±0.00%)  | +6.93%    | 35.218mb        | 35.218mb   | 0.00%       |
| benchLoad10000Events ()                | 887.100μs (±0.00%) | 966.300μs (±0.00%) | -8.20%    | 35.218mb        | 35.218mb   | 0.00%       |
+----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+

CommandToQueryBench
===================

+----------------+------------------+-------------------+-----------+-----------------+------------+-------------+
|                | time (kde mode)                                  | memory                                     |
+----------------+------------------+-------------------+-----------+-----------------+------------+-------------+
| subject        | Tag: <current>   | Tag: base         | time-diff | Tag: <current>  | Tag: base  | memory-diff |
+----------------+------------------+-------------------+-----------+-----------------+------------+-------------+
| benchCreate () | 2.935ms (±0.00%) | 11.316ms (±0.00%) | -74.06%   | 5.061mb         | 5.061mb    | 0.00%       |
| benchUpdate () | 3.832ms (±0.00%) | 12.582ms (±0.00%) | -69.55%   | 5.757mb         | 5.757mb    | 0.00%       |
| benchBoth ()   | 6.101ms (±0.00%) | 25.420ms (±0.00%) | -76.00%   | 5.213mb         | 5.213mb    | +0.00%      |
+----------------+------------------+-------------------+-----------+-----------------+------------+-------------+

This comment gets update everytime a new commit comes in!

@DanielBadura
DanielBadura merged commit 106c90e into 4.0.x Oct 9, 2026
42 of 43 checks passed
@DanielBadura
DanielBadura deleted the 3.23.x-merge-up-into-4.0.x_qTGNX1VX branch October 9, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant