Simulate Replica Set Failure with Restart
Let's simulate a replica set failure. In this example, a TimesTenScaleout object's .spec.ttspec.replicaSetRecovery
datum has not been specified. The default of Restart
is assumed, indicating that the TimesTen Operator forcibly unloads and reloads the database when a total replica set failure occurs.
Let's observe how a TimesTenScaleout object transitions through various state changes.
Note:
This example is for demonstration purposes only. Do not attempt this example in a production environment.In the example, there is a deployed TimesTenScaleout object that is functioning properly.
kubectl get tts samplescaleout
NAME OVERALL MGMT CREATE LOAD OPEN AGE
samplescaleout Normal Normal created loaded-complete open 99m
Note the High Level state is Normal
, the management state is Normal
, and the database state is created,loaded-complete,open
.
In this example, there are three replica sets.
kubectl get pods
NAME READY STATUS RESTARTS AGE
samplescaleout-data-1-0 2/2 Running 0 11m
samplescaleout-data-1-1 2/2 Running 0 11m
samplescaleout-data-1-2 2/2 Running 0 11m
samplescaleout-data-2-0 2/2 Running 0 11m
samplescaleout-data-2-1 2/2 Running 0 11m
samplescaleout-data-2-2 2/2 Running 0 11m
samplescaleout-mgmt-0 2/2 Running 0 11m
samplescaleout-zk-0 1/1 Running 0 11m
samplescaleout-zk-1 1/1 Running 0 10m
samplescaleout-zk-2 1/1 Running 0 9m35s
timesten-operator-7677964df9-sp2zp 1/1 Running 0 7d3h
Let's delete the samplescaleout-data-1-0
and samplescaleout-data-2-0
Pods that belong to one of the replica sets.
Even though there was a total replica set failure, TimesTen Scaleout forcibly unloaded and reloaded the database. The Operator returned the grid and database to a Normal state, indicating both are functioning normally. There was no manual intervention required.