[CONTROLLER-954] Clustering: ShardWriteTransaction instances don't get garbage collected Created: 25/Oct/14 Updated: 29/Oct/14 Resolved: 29/Oct/14 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | mdsal |
| Affects Version/s: | Helium |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Tom Pantelis | Assignee: | Tom Pantelis |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| External issue ID: | 2252 |
| Description |
|
Looking at a heap dump showed stale Shard(Read)WriteTransaction instances that aren't getting garbage collected. This was caused by recent changes that removed the ThreePhaseCommitCohort actor class however ThreePhaseCommitCohort was the one who terminated the ShardWriteTransaction actor after forwarding the commit to the Shard. Solution: After forwarding the ReadyTransaction message to the shard, the ShardWriteTransaction actor is no longer needed so it can self-destruct (i.e. send PoisonPill to itelf). |
| Comments |
| Comment by Tom Pantelis [ 27/Oct/14 ] |