Skip to content

Arch Forum 2023-09-28

Participants: Andy, JD, Liangxiong, Shakib, Thani, Victor, Zak

Agenda

  • Licenses
  • Log Sanitizer
  • Event stats

Notes

Licenses: Since we had the localization LGPL license issue, JD showed a compilation of licenses of all different libraries we use in the backend, and we had a small discussion around licenses. Basically we should always be mindful of what license any dependency we bring in have, and if It's less permissive than BSD/MIT we need to discuss.

In addition, we cannot copy code into our codebase unless we evaluate the licensing implications first. Some open source licenses like LGPL will create a mess if we bring in.

Log Sanitizer: We discussed the log sanitizer. Currently, we use the "old" on in bank, but "new" in MF. The "new" one is better, but has bugs that make it not work in all cases (KPI metric doesn't work, endpoint is not logged etc). We decided that the easiest & best way forward is to fix the new one. This is tracked in this ticket: https://majority.atlassian.net/browse/MIB-8796

Event stats: Victor had compiled latency statistics of events - how long it takes between an event is put on a topic to someone reading it. Aggregated data here: Event statistics 20230921
The data is not complete, and some of it is not perfect since we sometimes use scheduling etc, and does not log everything, but we could still draw some conclusions:
- Transaction service is (too) slow to handle messages, 1% with more than 400s delay.
- Overhead of sending a message over service bus is about 40ms!
- Even Galileo service has some bottleneck in how fast it processes events, but not as severe as transaction service. (but this should really be no delays since it doesn't do much)
- Fees & promotions has some big slowness in processing transaction completed events, we should investigate.
- It is very interesting stats, we should improve our metrics/logs to easily track these over time and more reliable.
- We should check what the overhead of sending events over RabbitMQ is.