page2
State Name
Identification Criteria
Responsible System
Possible Actions
Failure State
Defined
No loc or future column family
Master
1. If the table goal state is Online, then Assign Tablet by setting the future column family to the server to which it will be assigned and notify that tablet server.
2. If the tablet goal state is Deleted, then Delete Tablet by removing it from the metadata table.
No failure modeled
Failed
loc CF references failed TServer instance
Master
1. If the tablet goal state is Online, Offline, or Disabled, then remove the loc reference.
2. If the tablet goal state is Deleted then Delete Tablet by removing it from the !METADATA table.
No failure modeled
Assign Failed
future CF refers to failed TServer instance
Master
1. If the tablet goal state is Online, Offline, or Disabled, then remove the loc reference.
2. If the tablet goal state is Deleted then Delete Tablet by removing it from the !METADATA table.
No failure modeled
Assigned
future CF references TServer with a valid lock
future TServer
1. Always acknowledge hosting as either Host Tablet, Continue Splitting 1, or Continue Splitting 2 by deleting future CF and writing loc CF to the metadata.
Fails to Assign Failed when future TServer dies
Hosted
loc CF references TServer with a valid lock
loc TServer
1. If table goal is Offline or Disabled, or if Master has requested that Tablet be closed, then Close Tablet by minor compacting and moving it to the offline state.
2. Otherwise, if tablet is ready to split then Split Tablet by minor compacting and moving to the Splitting state
Fails to Failed state when TServer loses its lock
Splitting
loc CF references TServer with a valid lock, TServer is holding reads/writes to that tablet, tablet is large enough to split
loc TServer
1. Always, Mark Split by writing split info to metadata
Fails to Failed state when TServer loses its lock
Splitting 1
loc CF references TServer with a valid lock, metadata references split point
loc TServer
1. Always, Define Lower Tablet by writing row (end row, loc, directory, and files) to metadata table and creating a new Tablet in the Hosted state
Fails to Failed Splitting 1 when loc TServer dies
Splitting 2
loc CF references TServer with a valid lock, metadata references split, overlapping Lower Tablet exists in metadata table
loc TServer
1. Always, Define Upper Tablet by writing new prev end row to metadata table and creating a new Tablet in the Hosted state
Fails to Failed Splitting 2 when loc TServer dies
Split
No references to the tablet exist
nobody
-
-
Offline
loc CF references TServer with a valid lock, TServer is not responding to requests
loc TServer
1. Always, Remove loc CF from metadata
Fails to Failed state when loc TServer dies
Deleted
No references to the tablet exist
nobody
-
-