In the previous article, we improved Kotlin MDC to make it more convenient and safe. However, there is an issue with it — it isn’t compatible with Spring Controllers. Why is that so and what can we do about it? Read further to find out! This article covers only blocking code. Reactive code and coroutines have their […]
All posts
Supercharge your logging MDC with Kotlin: Part 1
If you’re using any JVM-based language, then you are likely familiar with logging MDC (Mapped Diagnostic Context) – a default solution for passing the logging context. However, while being widely used and well known, with good support from libraries and services (such as ELK stack), MDC still has some issues and rough edges. Let’s use […]
When database integration beats microservices
From one solution to another, follow our journey to find the best design for the system. Find out how database integration comes to the rescue.
Why you shouldn’t use LocalDateTime (to avoid production issues)
On one unfortunate day, the alert is fired – there is a difference between data in two systems that should be in sync. You checked all the code that might be related, and everything looks good. However, the data timestamps are indeed different. Or some users complain about incorrect history records order. Again, the code looks fine, and only some users are affected. Or maybe after some server maintenance, your data doesn’t look like the day before. You didn’t touch the code, and there are no changes in the database, but the system returns different results. What do all these cases have in common?