Later today, I am venturing into hacking all over the codebase to shift away from ofID and into using MySQL primary keys for its DefaultConnectionProvider. It’s pretty straightforward to do, a lot of grunt work and hopefully gain scale after that.
I was caught by surprise when reviewing the codebase and saw no implementation of auto increment usage (a.k.a Oracle sequence via nextval)! The codebase simply bangs real hard on the ofID table for 5 attempts and quits after that if it never manages to gain atomicity in getting the next ID. I’d imagine this would be the first thing to do to increase concurrency and reduce race conditions (DB row locks)
I was wondering whether someone else have done something simliar and saw any significant gains after that. I’d imagine it will.
There’s a similar thread on this nearly 5 years ago (!!!) and it was never answered. http://community.igniterealtime.org/message/183135
ps: Currently hacking on adding a DefaultSlaveConnectionProvider . . . guess what that’ll give us?