this is actually a very serious problem. I dint't really notice this issue until now.

The questions is not one about scalability or size of the network, or one of optimization. By definition, a subscriber record is only present in the one serving VLR (and optionally serving SGSN, if there is packet services).

blindly inserting a subscriber into every HLR/VLR out there will break mobility management across VLR/SGSN coverage areas. What this means is that subscribers can actually witch from one VLR coverage area into another VLR coverage area without having to do a Location Update. Normally, that Location Update is what will trigger creating the subscriber record in the VLR. However, we're blindly creating them in advance on every VLR in the network.

In short: The entire data / consistency model of when subscriber information is where is completely broken by the current behavior :/

I actually think the safe choice for now is to disable sending ISD on subscriber changes until this is sorted out. I'll submit a patch shortly.