Read time:
4 minutes
Gary Davies
Ok so firstly, lets look at when its been a needed feature.
Its been a recurring topic for me over the years, and either revolves around large interconnected systems or large numbers of users. As architects and developers we adapted to this limit creating our own means of scaling via secondaries or splitting up processes to achieve what we needed. This usually adds unnecessary complexity to the systems and while it can be good fun to work to solve it’s not quite as simple as just allowing the connections like we can in 4.1. I already know of a few of our clients who could simplify architecture and functionality off the back of the changes, and these simplifications make it easier to support.
But then there was the other side, the dark side.
There was that time where a script started spawning child processes that blocked up a critical process, or the time that the hopen did not hclose and was polling repeatedly, or the time when the hopen logic got called a few thousand too many times, or the time when the user knew kdb+ but not enough kdb+…..
OK so they are bugs,
But the key thing for all of these was that each kdb+ process said NO, stop, you have exceeded – now like Bradley Cooper, they are limitless*
* Connections are constrained of course by the architecture, but then you can’t use a Bradley Cooper reference
Share this: