powered by Jive Software

RRD Creating Locks on database

Hi, our DBA and CEO just contacted me asking about locks on one of our DB machines (db04). Last night, around 10, we starting seeing locks shoot through the roof on db04.

Graph (image): http://privatepaste.com/ec18z8JEiS

Example Query: 7764 | UPDATE entRRDs SET bytes = $1, updatedDate=$2 WHERE id =

$3 | 2 |

RowExclusiveLock | 2008-02-20 09:36:09.063839-05

Is it possible to turn off rrd graphing or have this resolved soon?

Thank you,

Dallas

Unfortunately the graphing cannot be turned off. The locks are requred by the plugin to ensure the data can be written safely. The locks should be released once the reports have been generated.

Is it possible the issue(s) we’re having with the RRD stats have to do with the clustering system?

What are the issues you’re seeing other than the number of locks raising? Do the locks seem to be causing issues with your instance?

Errors:

2008.02.28 09:20:12 com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362) Error sampling for statistic server_sessio$

org.jrobin.core.RrdException: Bad sample timestamp 1204208400. Last update time was 1204208400, at least one second step is required

at org.jrobin.core.RrdDb.store(Unknown Source)

at org.jrobin.core.Sample.update(Unknown Source)

at com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngi ne.java:356)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2008.02.28 09:20:12 com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362) Error sampling for statistic muc_rooms

org.jrobin.core.RrdException: Bad sample timestamp 1204208400. Last update time was 1204208400, at least one second step is required

at org.jrobin.core.RrdDb.store(Unknown Source)

at org.jrobin.core.Sample.update(Unknown Source)

at com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngi ne.java:356)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2008.02.28 09:20:12 com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362) Error sampling for statistic conversations

org.jrobin.core.RrdException: Bad sample timestamp 1204208400. Last update time was 1204208400, at least one second step is required

at org.jrobin.core.RrdDb.store(Unknown Source)

at org.jrobin.core.Sample.update(Unknown Source)

at com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngi ne.java:356)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2008.02.28 09:20:12 com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362) Error sampling for statistic server_bytes_$

org.jrobin.core.RrdException: Bad sample timestamp 1204208400. Last update time was 1204208400, at least one second step is required

at org.jrobin.core.RrdDb.store(Unknown Source)

at org.jrobin.core.Sample.update(Unknown Source)

at com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngi ne.java:356)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

2008.02.28 09:20:12 com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngin e.java:362) Error sampling for statistic muc_users

org.jrobin.core.RrdException: Bad sample timestamp 1204208400. Last update time was 1204208400, at least one second step is required

at org.jrobin.core.RrdDb.store(Unknown Source)

at org.jrobin.core.Sample.update(Unknown Source)

at com.jivesoftware.openfire.enterprise.stats.StatsEngine$SampleTask.run(StatsEngi ne.java:356)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

These errors aren’t really anything to worry about, it’s basically throwing out a sample because it was taken too close to the last sample. Are you experiencing any odd functionality or other errors? If not I’d say that the locks aren’t causing any issues and you should be fine to let the server run as is.