- Issue created by @cmlara
- Merge request !50Issue #3416009 by cmlara: Allow serialization mode to be configured per queue β (Merged) created by cmlara
- Status changed to Needs review
10 months ago 8:13pm 15 February 2024 - πΊπΈUnited States cmlara
This adds 2 serializers based on core's existing. Both throw an on-api Exception when a failure occurs (serialize() indicates it can never fail and does not have an exception). This is mandatory to properly implement π Make conversion from json to php serialization easier when upgrading to 4.x Active and simultaneously fixes a silent bug (that even core has) where serialization failures may be silently hidden. The JSON serializer matches our historical use of json_encode() as compared to Core which uses more escaping for web transfer.
We can remove our own PHP serializer after π Json and PHP serializers should throw exception on failure Active . We may want to keep our own JSON serializer due to difference in quoting options.
With this new structure any type of serializer can be implemented to meet the data transfer needs. In theory the core YAML serializer is already compatible and would just need to be tagged with
rabbitmq_serializer
to be utilized.I have not implemented this for the Queue workers as they have their own method of defining the serializer.
This will need a 3.x backport.
This does not provide a method to change the serializer globally. I believe we can consider that acceptable given the reason we implemented PHP in 4.x was to avoid an API breach. It would seem reasonable to require an admin to configure each queue that has been verified as acceptable to use non-php serialization.
-
zach.bimson β
committed a922653b on 4.x authored by
cmlara β
Issue #3416009 by cmlara: Allow serialization mode to be configured per...
-
zach.bimson β
committed a922653b on 4.x authored by
cmlara β
- Status changed to Fixed
10 months ago 12:15am 18 February 2024 -
zach.bimson β
committed a922653b on 5.x authored by
cmlara β
Issue #3416009 by cmlara: Allow serialization mode to be configured per...
-
zach.bimson β
committed a922653b on 5.x authored by
cmlara β
-
zach.bimson β
committed a922653b on refactor-dynamic-services authored by
cmlara β
Issue #3416009 by cmlara: Allow serialization mode to be configured per...
-
zach.bimson β
committed a922653b on refactor-dynamic-services authored by
cmlara β
- Status changed to Downport
10 months ago 7:01pm 18 February 2024 - πΊπΈUnited States cmlara
I still need to look at backporting this to 3.x to allow a smoother path to 4.x.