Arch Forum 2023-05-11¶
Participants: Andy, Johan D, Liangxiong, Shoaib, Thani, Victor and Zakarya
Agenda¶
- Round the table
- Techy issues / backend thoughts document
Notes¶
Round the table: Liangxiong brought up an interesting question - How to test both on and off for feature flags? When a new feature is built and hidden behind a feature flag, it can be useful to run tests both with the flag on, and with the flag off. However, this is not so easy. Several ideas were brought up, but more or less directly discarded. Shoaib pointed out that the simple way is to write a unit test with the flag off (Since its easy to inject whatever in a unit test), and let other tests run with the flag on.
Related to this is how a feature flag is used. The view is that we primarily use them as part of deployment, e.g. code is deployed with flag off, then after a short period its turned on and then never toggled back. Because of this it is not very important to continue to run tests with the flag off long after the deployment and release is completed.
Techy issues / backend thoughts document: Just like in the previous meeting we looked at the Backend Thoughts/Roman handover document.
This time we mostly talked about performance and logging. JD has a feeling that the backend is slow and a main cause might be logging. However, there are other parts of the platform that we know are slow, such as AutoFac (DI) and CastleCore (Dynamic runtime proxy). Regarding logging one issue we have at least had before is log sanitizing. In general it is important for Card data / CDE environment, but less in other areas. Also, even for card data the most important part is that we detect and fix any mistakes quickly.
Regarding if we actually have performance issues, we know some parts, while in others its mostly a feeling.
- Running tests locally is very slow in startup/warmup
- Recently the transaction service didn't handle transaction callback events fast enough
- There are many APIs used by apps that are slow.
At the same time we do not really know, and especially we do not know what parts that contribute the most to any slowness.