Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#985 closed defect (fixed)

sqlite3_ds might not clean up well in load() method

Reported by: jelte Owned by: jelte
Priority: medium Milestone: Sprint-20110614
Component: data source Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DNS Feature Depending on Ticket:
Estimated Difficulty: 3.0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

it does check for exceptions on its initial query, but it lets any exceptions from commit() rise up, and in either case it does not close the connection. I suspect this may leave the database locked. And errors aren't handled well then by xfrin.

Don't think this is a big change, just a bit of reordering and adding a finally clause.

proposing this for next sprint (already have a partial fix)

Subtickets

Change History (7)

comment:1 Changed 9 years ago by jelte

  • Owner set to jelte
  • Status changed from new to assigned

comment:2 Changed 9 years ago by stephen

  • Milestone changed from Next-Sprint-Proposed to Sprint-20110614

comment:3 Changed 9 years ago by jelte

  • Owner changed from jelte to UnAssigned
  • Status changed from assigned to reviewing

Moved all sqlite3 calls into the catch block in load()

Added two tests, one that simply loads the example zone, and one that makes sure it raises the correct exception when the database is locked (twice, using two different methods to ensure it is locked).

comment:4 Changed 9 years ago by stephen

  • Owner changed from UnAssigned to stephen

comment:5 Changed 9 years ago by stephen

  • Owner changed from stephen to jelte

Looks OK to me. Please merge.

comment:6 Changed 9 years ago by jelte

  • Resolution set to fixed
  • Status changed from reviewing to closed

Thanks, merged, closing ticket.

comment:7 Changed 9 years ago by stephen

  • Estimated Difficulty changed from 0.0 to 3
Note: See TracTickets for help on using tickets.