Ceilometer GET events throws deadlock or timeout errors
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ceilometer |
Fix Released
|
Undecided
|
gordon chung |
Bug Description
As part of https:/
As per the documentation of RR (repeatable read), the entire table is locked for every unit of work performed and this could be denying other calls from going through.
This behavior seems to be associated with the RR and we should consider moving away. from RR. Other than ceilometer , I don't see any other services setting an isolation level explicitly . The deadlock or timeout behaviour can occur with any underlying database by virtue of what the isolation level is intended to do.
https:/
http://
"If you are using transactions with REPEATABLE READ isolation level and transaction safe storage engines in your applications, data locks, lock timeouts, and dead lock detection will impact your application in a concurrent multi-user environment like Web sites in several ways"
[DB2/LINUXPPC64] SQL0911N The current transaction has been rolled back because of a deadlock or timeout. Reason code "2". SQLSTATE=40001 SQLCODE=-911". Detail:
Traceback (most recent call last):
File "/usr/lib/
result = f(self, *args, **kwargs)
File "/usr/lib/
limit)]
File "/usr/lib/
models.
File "/usr/lib64/
return list(self)
File "/usr/lib64/
util.
File "/usr/lib64/
reraise(
File "/usr/lib64/
fetch = cursor.fetchall()
File "/usr/lib64/
self.cursor, self.context)
File "/usr/lib64/
util.
File "/usr/lib64/
reraise(
File "/usr/lib64/
l = self.process_
File "/usr/lib64/
return self.cursor.
File "/usr/lib64/
return self._fetch_
File "/usr/lib64/
raise self.messages[
DBDeadlock: (ibm_db_
Changed in ceilometer: | |
status: | Fix Committed → Fix Released |
Changed in ceilometer: | |
milestone: | none → mitaka-1 |
i think it's safe to drop the isolation level... but this needs to be verified.