Hi curator users! I'm using the DistributedIdQueue recipe in my system. Although I'm aware of the tech note that this is not suitable for production use, this is a pretty lightweight use case with very few items in the queue at any time. It has actually been working rather well.
I encountered a situation recently that was uncovered because of a bug in my code. I neglected to catch an exception in my QueueConsumer, leading to an endless re-queueing of the item. While this is perhaps expected behavior, I also noticed that the name of the znode (and the corresponding lock znode) grew with each requeue. After many hours, this name grew so long that it brought the entire zookeeper ensemble to its knees. It refused to accept any client connections. Starting with this: Exception processing queue item: queue-|616682fa-15b6-48e0-b7cc-ea6e3023248f And this is how the node name grew: queue-|616682fa-15b6-48e0-b7cc-ea6e3023248f|00000010940000001095 queue-|616682fa-15b6-48e0-b7cc-ea6e3023248f|0000001094000000109500000010960000001097 queue-|616682fa-15b6-48e0-b7cc-ea6e3023248f|000000109400000010950000001096000000109700000010980000001099 ...and so on Before I knew it the node name was many pages long. Is this a defect in the recipe? Or have I done anything wrong myself? Regards Adarsh Bhat
