You might need to rethink your clustered index
A common table design that you might be familiar with, is to have an identity column, could be int, or long, or uniqueidentifier, and then, a clustered index is conveniently created on that column. An identity is, technically speaking, the perfect choice for clustered index - it is not null, it is unique, and in most case it’s small. But is that really the best choice?
My coffee journey
It all started 5 years ago.
(Draft) The mysterious case of Gen 2 GC
Have you ever track and debug a Heisenbug? It’s elusive bug that disappear when you try to find it. But how about the opposite of Heisenbug, the one that tracking the bug actually causes it?
Death by a (Few) Thousands of Threads 👻
There are things in life that excites and scares you at the same time. Recently I helped out a case when it’s both exciting and scary. The problem was a gigantic 106 GB memory dump with a very small managed heap compared to the dump’s size. That hints unmanaged memory leak. While I’m fairly confident with memory dump analysis, I haven’t had a lot of good luck with unmanaged memory leaks. It could have turned into a big headache and unknown territory. But if it’s not me then who will go to hell? Then game is on.
Why you should care about what you return in your ScheduledJob.Execute
Why You Should Care About What You Return in Your ScheduledJob.Execute
Welcome back to my blog
Finally get my blog up and running again, welcome
Fatal Flaw with Geta-NotFoundHandler
A deep dive into a fatal flaw in Geta-NotFoundHandler that caused high CPU usage due to an endless loop triggered by an empty redirect rule.
Solving the Mystery of High Memory Usage
Solving the Mystery of High Memory Usage
A Curious Case of Free Objects
A memory dump investigation into rising memory usage and the mystery of free objects in the Large Object Heap.