I have a private network consisting of a "Ethereum proof-of-work consortium" on Azure and my development pc.
In azure there are 2 mining nodes and one transaction node. All on Ubuntu virtual machines running geth 1.8.11. My dev pc is windows 10 with geth 1.8.12.
In the genesis.json I set the gaslimit to 100000000000 because the application I'm developing will always run on a private network where gas shouldn't be a problem.
However I noticed that the gas limit on each block was dropping when I turned on mining on my development pc and started slowly rising again when I stopped it. Even when I set the flag --targetgaslimit on my dev pc to 100000000000, just like it is set on the two mining nodes. It will just keep falling when my dev pc is mining and rising when it's not.
In my understanding, since all three nodes that are mining have the same target gas limit it would just continuously go up since all three machines would be voting to get it near to 100000000000. However it doesn't, two keep voting to pull it upward and one keeps voting to pull it down.
Does anyone know why this keeps happening? It prevented me from deploying some contracts because my dev pc kept pulling the gaslimit down.
Edit: I tried setting the targetgaslimit of my local node to 99913949 just above the current limit of 94513949 and it still keeps dropping.