Let me preface this with the statement that as best I can tell from docs and code, this function is supposed to be 100% atomic and this shouldn't be able to happen. I also have not found anything in the module's github commit logs that would indicate this behavior has changed from previous versions.
That being said, I appear to have run into an oddity where intermittently I'm getting 2 slots being put in the same entry, which results in trying to parse the output for graphing and reporting not working quite right. The mechanism I'm using is a very simple counter mechanism to record statistics about calls. As an example, I am using the following mechanism:
$var(z) = $shtinc(callstats=>$avp(realm),cps_exceeded); or $var(z) = $shtinc(callstats=>$avp(realm),sessions_exceeded);
This typically results in something like this:
{ entry: 4335 size: 1 slot: { { name: realm1,total_requests value: 2365034 type: int } } } { entry: 4532 size: 1 slot: { { name: realm2,cps_exceeded value: 30 type: int } } } And so on... However, one or more of them sometimes end up like this:
{ entry: 4646 size: 2 slot: { { name: realm1,total_requests value: 15958026 type: int } { name: realm2,cps_exceeded value: 6432103 type: int } } }
Thanks in advance for your help and/or suggestions!
Brooks Bridges | Engineering Manager O1 Communications 4359 Town Center Boulevard, Suite 217 El Dorado Hills, California 95762 office: 916.235.2097 | main: 888.444.1111, Option 2 email: bbridges@o1.commailto:bbridges@o1.com | web: www.o1.comhttp://www.o1.com/