How do we improve our locking code, so we don't have to spawn millions of sequences?
What is the locking method you are using?
I am not using locking with the million sequence solution. I do not want something that locks because the problems described below
I prefer the solution generates a gap (skip a couple of numbers) and not using locks.
> The lock part is because we solved a similar problem with a counter by > row locking the counter and increasing it in another part of the > database. The result is that all the queries using that table are queued > by pair (group, element) that is not that bad because we are not > inserting thousands of rows by second. Still is killing cluster > performance (but performance is still OK from the business point of > view). The problem using locks is that they are too sensitive to > developer errors and bugs. Sometimes connected clients aborts and the > connection is returned to the pool with the lock active until the > connection is closed or someone unlocks the row. I would prefer to have > something more resilient to developers/programming errors, if possible. >
Now I read this paragraph, I realize I was not clear enough.
I am saying we do not want to use locks because of all the problems described.