From 5c7fc0ad54d4f53a0daa7229ca825ca645c68d51 Mon Sep 17 00:00:00 2001 From: Neaj Morshad Date: Thu, 16 Apr 2026 20:06:39 +0600 Subject: [PATCH 1/3] wip Signed-off-by: Neaj Morshad --- .../post/chaos-testing-mssqlserver/hero.jpg | Bin 0 -> 567307 bytes .../post/chaos-testing-mssqlserver/index.md | 4219 +++++++++++++++++ 2 files changed, 4219 insertions(+) create mode 100644 content/post/chaos-testing-mssqlserver/hero.jpg create mode 100644 content/post/chaos-testing-mssqlserver/index.md diff --git a/content/post/chaos-testing-mssqlserver/hero.jpg b/content/post/chaos-testing-mssqlserver/hero.jpg new file mode 100644 index 0000000000000000000000000000000000000000..62057b71c2e1297d940096f4d3c1ccd30fc4398c GIT binary patch literal 567307 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 New to KubeDB? Please start [here](https://kubedb.com/docs/v2026.2.26/welcome/). + + + +# Chaos Testing KubeDB Managed SQL Server Availability Group Clusters with Chaos-Mesh + +## Setup Cluster +To follow along with this tutorial, you will need: + +1. A running Kubernetes cluster. +2. KubeDB [installed](https://kubedb.com/docs/v2026.2.26/setup/install/kubedb/) in your cluster. +3. kubectl command-line tool configured to communicate with your cluster. +4. Chaos-Mesh [installed](https://chaos-mesh.org/docs/production-installation-using-helm/) in your cluster. + ```shell + helm upgrade -i chaos-mesh chaos-mesh/chaos-mesh \ + -n chaos-mesh \ + --create-namespace \ + --set dashboard.create=true \ + --set dashboard.securityMode=false \ + --set chaosDaemon.runtime=containerd \ + --set chaosDaemon.socketPath=/run/containerd/containerd.sock \ + --set chaosDaemon.privileged=true + ``` +> Note: Make sure to set correct path to your container runtime socket and runtime in the above command. For ex: `socketPath=/run/containerd/containerd.sock`, or if in **k3s**, set `chaosDaemon.socketPath=/run/k3s/containerd/containerd.sock`. + +## Verify KubeDB and Chaos-Mesh Installation + +```shell +➤ kubectl get pods -n kubedb +NAME READY STATUS RESTARTS AGE +kubedb-kubedb-autoscaler-0 1/1 Running 0 24d +kubedb-kubedb-ops-manager-0 1/1 Running 0 22d +kubedb-kubedb-provisioner-0 1/1 Running 0 146m +kubedb-kubedb-webhook-server-699bf949df-24w5k 1/1 Running 0 146m +kubedb-operator-shard-manager-77c8df4946-4gwhc 1/1 Running 0 146m +kubedb-petset-869495bb7f-2cln2 1/1 Running 0 146m +kubedb-sidekick-794cf489b4-t9rgf 1/1 Running 0 146m +--- + +``` + +```shell +➤ kubectl get pods -n chaos-mesh +NAME READY STATUS RESTARTS AGE +chaos-controller-manager-7d44db47fb-4cwc9 1/1 Running 0 3d17h +chaos-controller-manager-7d44db47fb-cqvf7 1/1 Running 0 3d15h +chaos-controller-manager-7d44db47fb-x4xnt 1/1 Running 0 3d17h +chaos-daemon-f779s 1/1 Running 0 3d17h +chaos-dashboard-6855b9d4c-phkht 1/1 Running 0 4d1h +chaos-dns-server-85b8846dc9-ngcwm 1/1 Running 0 4d1h +``` + +## Introduction to Chaos Engineering + +**Chaos Engineering** is a disciplined approach to test distributed systems by deliberately introducing controlled failure scenarios to discover vulnerabilities and weaknesses before they impact users. Rather than waiting for production incidents, chaos engineering proactively identifies how system behaves under adverse conditions—such as pod failures, network outages, resource exhaustion, and data corruption. + +This methodology is particularly crucial for database systems, where failures can lead to data loss, service downtime, and compromised data consistency. By testing these scenarios in controlled environments, we gain confidence that our system can recover gracefully and maintain availability. + +### What This Blog Covers + +In this comprehensive guide, we will: + +1. **Deploy a SQL Server Availability Group Cluster** on Kubernetes using KubeDB, configured with replication and automatic failover capabilities +2. **Run 16+ Chaos Engineering Experiments** using Chaos-Mesh to simulate real-world failure scenarios +3. **Observe Cluster Behavior** during failures including pod crashes, network issues, resource exhaustion, and disk I/O errors +4. **Measure Resilience** by tracking data consistency, failover speed, and recovery capabilities +5. **Learn Best Practices** for configuring SQL Server replication and failover strategies to maximize availability + +Each experiment progressively tests different aspects of the system—from simple pod failures to complex scenarios involving multiple simultaneous failures. By the end, we'll have a thorough understanding of how our SQL Server cluster behaves under various failure modes and how to configure it for maximum resilience. + +You can see the [`Chaos Testing Results Summary`](#chaos-testing-results-summary) for a quick view of what we have done in this blog. + + +## Create a High-Availability SQL Server Cluster + +First, we need to deploy a SQL Server cluster configured for High Availability. +Unlike a Standalone instance, a HA cluster consists of a primary pod +and one or more standby pods that are ready to take over if the leader +fails. + +Save the following YAML as yamls/sqlserver-ag-cluster.yaml. This manifest +defines a 3-node SQL Server cluster. + + + + + +DONE SO FAR. ############################################## + + + +```yaml +apiVersion: kubedb.com/v1 +kind: MSSQLServer +metadata: + name: sqlserver-ag-cluster + namespace: demo +spec: + clientAuthMode: md5 + deletionPolicy: Delete + podTemplate: + spec: + containers: + - name: postgres + resources: + limits: + memory: 3Gi + requests: + cpu: 2 + memory: 2Gi + replicas: 3 + replication: + walKeepSize: 5000 + walLimitPolicy: WALKeepSize + # forceFailoverAcceptingDataLossAfter: 30s # uncomment this if you want to accept data loss during failover, but want to have minimal downtime. + standbyMode: Hot + storage: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50Gi + storageType: Durable + version: "16.4" +``` +> **`Important Notes`**: +> - We have set walLimitPolicy to WALKeepSize and +> walKeepSize to 5000. This means that we will keep 5000 MB +> of WAL files in our cluster. If your write operations are +> very high, you might want to increase this value. +> We suggest you set it to at least 15 - 30% of your storage. +> - If you can tolerate some data loss, but you want your primary to be up and running at any time with minimal downtime, you can set `.spec.replication.forceFailoverAcceptingDataLossAfter: 30s` +> - You can read/write in your database in both **`Ready`** and **`Critical`** state. So it means even if your db is in `Critical` state, your uptime is not compromised. `Critical` means one or more replicas are offline. But `primary` is up and running along with some other replicas probably. +> - All the results/metrics shown in this blog is related to the chaos scenarios. In general, **a failover takes ~5 seconds** and **without any data loss** ensuring high availability and data safety. + +Now, create the namespace and apply the manifest: + +```shell +# Create the namespace if it doesn't exist +kubectl create ns demo + +# Apply the manifest to deploy the cluster +kubectl apply -f setup/sqlserver-ag-cluster.yaml +``` + +You can monitor the status until all pods are ready: +```shell +watch kubectl get pg,petset,pods -n demo +``` +See the database status is ready. + +```shell +➤ kubectl get pg,petset,pods -n demo +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 4m45s + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 4m41s + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 4m41s +pod/sqlserver-ag-cluster-1 2/2 Running 0 2m45s +pod/sqlserver-ag-cluster-2 2/2 Running 0 2m39s +``` + +Inspect who is primary and who is standby. + +```shell +# you can inspect who is primary +# and who is secondary like below + +➤ kubectl get pods -n demo --show-labels | grep role +sqlserver-ag-cluster-0 2/2 Running 0 20m app.kubernetes.io/component=database,app.kubernetes.io/instance=sqlserver-ag-cluster,app.kubernetes.io/managed-by=kubedb.com,app.kubernetes.io/name=postgreses.kubedb.com,apps.kubernetes.io/pod-index=0,controller-revision-hash=sqlserver-ag-cluster-6c5954fd77,kubedb.com/role=primary,statefulset.kubernetes.io/pod-name=sqlserver-ag-cluster-0 +sqlserver-ag-cluster-1 2/2 Running 0 19m app.kubernetes.io/component=database,app.kubernetes.io/instance=sqlserver-ag-cluster,app.kubernetes.io/managed-by=kubedb.com,app.kubernetes.io/name=postgreses.kubedb.com,apps.kubernetes.io/pod-index=1,controller-revision-hash=sqlserver-ag-cluster-6c5954fd77,kubedb.com/role=standby,statefulset.kubernetes.io/pod-name=sqlserver-ag-cluster-1 +sqlserver-ag-cluster-2 2/2 Running 0 18m app.kubernetes.io/component=database,app.kubernetes.io/instance=sqlserver-ag-cluster,app.kubernetes.io/managed-by=kubedb.com,app.kubernetes.io/name=postgreses.kubedb.com,apps.kubernetes.io/pod-index=2,controller-revision-hash=sqlserver-ag-cluster-6c5954fd77,kubedb.com/role=standby,statefulset.kubernetes.io/pod-name=sqlserver-ag-cluster-2 + +``` +The pod having `kubedb.com/role=primary` is the primary and `kubedb.com/role=standby` are the standbys. + + + +## Chaos Testing + +We will run some chaos experiments to see how our +cluster behaves under failure scenarios like oom kill, network latency, network partition, io latency, io fault etc. We will use a SQL Server client application to simulate high write and read load on the cluster. + +### SQL Server High Write/Read Load Client + +You can apply these YAMLs to create a client application +that will continuously write and read data from the database. +This will help us see how the cluster behaves under load and +during chaos scenarios. Make sure you change the password of your database in the below Secret YAML. + + + +```yaml +# k8s/01-configmap.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: pg-load-test-config + namespace: demo + labels: + app: pg-load-test +data: + # Test Duration (in seconds) + TEST_RUN_DURATION: "400" + + # Concurrency Settings + CONCURRENT_WRITERS: "20" + + # Workload Distribution (must sum to 100) + READ_PERCENT: "80" + INSERT_PERCENT: "10" + UPDATE_PERCENT: "10" + + # Batch Sizes + BATCH_SIZE: "100" + READ_BATCH_SIZE: "100" + + # Database Settings + TABLE_NAME: "load_test_data" + + # Connection Pool Settings + MAX_OPEN_CONNS: "60" + MAX_IDLE_CONNS: "10" + CONN_MAX_LIFETIME: "300" + + # Connection Safety + MIN_FREE_CONNS: "5" + + # Reporting + REPORT_INTERVAL: "20" +--- +# k8s/02-secret.yaml +apiVersion: v1 +kind: Secret +metadata: + name: pg-load-test-secret + namespace: demo + labels: + app: pg-load-test +type: Opaque +data: + # Base64 encoded database credentials + # Replace these with your actual base64-encoded values + + # Example: echo -n "your-postgres-host" | base64 + DB_HOST: cGctaGEtY2x1c3Rlci5kZW1vLnN2Yy5jbHVzdGVyLmxvY2Fs + + # Example: echo -n "5432" | base64 + DB_PORT: NTQzMg== + + # Example: echo -n "postgres" | base64 + DB_USER: cG9zdGdyZXM= + + # Example: echo -n "your-password" | base64 + # IMPORTANT: Replace this with your actual password + DB_PASSWORD: NihrMkohSXVYdChGSSpmSg== + + # Example: echo -n "postgres" | base64 + DB_NAME: cG9zdGdyZXM= + +--- +# How to encode your credentials: +# echo -n "127.0.0.1" | base64 +# echo -n "5678" | base64 +# echo -n "postgres" | base64 +# echo -n "CIX6TzfTYFn8~pj4" | base64 +# echo -n "postgres" | base64 +--- +# k8s/03-job.yaml +apiVersion: batch/v1 +kind: Job +metadata: + name: pg-load-test-job + namespace: demo + labels: + app: pg-load-test + version: v2 +spec: + completions: 1 + backoffLimit: 0 + ttlSecondsAfterFinished: 86400 + template: + metadata: + labels: + app: pg-load-test + version: v2 + spec: + restartPolicy: Never + containers: + - name: load-test + # Replace with your image registry and tag + image: souravbiswassanto/high-write-load-client:v0.0.0 + imagePullPolicy: Always + resources: + requests: + memory: "2Gi" + cpu: "1000m" + limits: + memory: "2Gi" + cpu: "2000m" + envFrom: + - configMapRef: + name: pg-load-test-config + - secretRef: + name: pg-load-test-secret + volumeMounts: + - name: results + mountPath: /results + volumes: + - name: results + persistentVolumeClaim: + claimName: pg-load-test-results +--- +# k8s/04-pvc.yaml +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: pg-load-test-results + namespace: demo + labels: + app: pg-load-test +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +``` + +> Also as a standard, we will use 10% write, 10% update and 80% +read operations. In 5 minutes of high load, +it should generate around 30GB of data, more than +30M rows inserted, more than 300M rows read. + +> **Note**: If you do not want to generate this much data, you can reduce the INSERT_PERCENT and BATCH_SIZE values. + + +Save the above yamls. Then make a script like below: + +```shell +➤ cat run-k8s.sh +#! /usr/bin/bash + +kubectl delete -f k8s/03-job.yaml +kubectl delete -f k8s/04-pvc.yaml + +kubectl apply -f k8s/01-configmap.yaml +kubectl apply -f k8s/03-job.yaml +kubectl apply -f k8s/04-pvc.yaml +``` + +Run the script to start the load test. + +```shell +chmod +x run-k8s.sh +./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +I have attached a sample output of the load test job below. These metrics will be printed after every `REPORT_INTERVAL` seconds. You can see that we are generating around 38GB of data, more than 4M rows inserted, more than 32M rows read in 7 minutes of high load. + +```shell +Test Duration: 7m3s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 408454 (Reads: 326500, Inserts: 40908, Updates: 41046) + Total Number of Rows Reads: 32650000, Inserts: 4090800, Updates: 41046 + Total Errors: 0 + Total Data Transferred: 38187.80 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 0.00 (Reads: 0.00/s, Inserts: 0.00/s, Updates: 0.00/s) + Throughput: 0.00 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 12.097ms, P95: 83.291ms, P99: 100.506ms + Inserts - Avg: 58.51ms, P95: 146.231ms, P99: 218.178ms + Updates - Avg: 37.444ms, P95: 100.994ms, P99: 192.838ms +----------------------------------------------------------------- +Connection Pool: + Active: 13, Max: 100, Available: 87 +================================================================= + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 4140800 + Records Found in DB: 4140800 +I0406 04:26:53.097674 1 load_generator_v2.go:555] Total records in table: 4140800 +I0406 04:26:53.097700 1 load_generator_v2.go:556] totalRows in LoadGenerator: 4140800 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database + +Cleaning up test data... +Cleaning up test table... +Cleanup completed +Test data table deleted successfully + +Test completed successfully! +``` + +> You can see these logs by running `kubectl logs -n demo job/pg-load-test-job` command. + +With this load on the cluster, we are ready to run some chaos experiments and see how our cluster behaves under failure scenarios. + +### Chaos#1: Kill the Primary Pod + +We will ignore the load test for this experiment. + +We are about to kill the primary pod and see how fast the failover happens. We will use Chaos-Mesh to do this. You can also do this manually by running `kubectl delete pod` command, but using Chaos-Mesh will give you more insights about the failover process. + +Save this yaml as `tests/01-pod-kill.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: PodChaos +metadata: + name: pg-primary-pod-kill + namespace: chaos-mesh +spec: + action: pod-kill + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + gracePeriod: 0 + duration: "30s" +``` + +**What this chaos does:** Terminates the primary pod abruptly, forcing an immediate failover to a standby replica. + +We are selecting the primary pod using label selector and killing it. The `duration` field specifies how long the chaos will last. In this case, we are killing the primary pod for 30 seconds. + +Our expectation is that within 30 seconds, the primary pod will be killed, and one of the standby pods will be promoted to primary. The killed pod will be brought back by our PetSet operator and will join the cluster as a standby. + +Before running, let's see who is the primary + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{print $1}' +sqlserver-ag-cluster-0 +``` + +Now run `watch kubectl get pg,petset,pods -n demo`. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 09:36:19 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d15h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d15h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 3m44s +pod/sqlserver-ag-cluster-1 2/2 Running 0 59s +pod/sqlserver-ag-cluster-2 2/2 Running 0 57s + +``` + +While watching the pods, run the chaos experiment. + +```shell +kubectl apply -f primary-pod-kill.yaml +podchaos.chaos-mesh.org/pg-primary-pod-kill created +``` + +```shell +kubectl get pg,petset,pods -n demo +``` + +```shell +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 2d15h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d15h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 1 (8s ago) 10s +pod/sqlserver-ag-cluster-1 2/2 Running 0 3m36s +pod/sqlserver-ag-cluster-2 2/2 Running 0 3m34s +``` + +Note the `Restarts` section; you will see the primary pod was +killed 8 seconds ago. The failover was done almost immediately. +The database state is now `Critical`, which +means your new primary is ready to accept connections, but one or +more of your replicas are not ready. The old primary will +be ready after `chaos.spec.duration` seconds, which is 30 seconds. + +Let's see who is the new primary. + + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{print $1}' +sqlserver-ag-cluster-1 + +``` + +Now wait some time and you should see the old primary is back and the database state is `Ready` again. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 09:39:50 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d15h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d15h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 1 (62s ago) 64s +pod/sqlserver-ag-cluster-1 2/2 Running 0 4m30s +pod/sqlserver-ag-cluster-2 2/2 Running 0 4m28s +``` + +Now let's clean up the chaos experiment. + +```shell +kubectl delete -f tests/01-pod-kill.yaml +podchaos.chaos-mesh.org "pg-primary-pod-kill" deleted +``` + +### Chaos#2: OOMKill the Primary Pod + +Now we are going to OOMKill the primary pod. This is a more realistic scenario than just killing the pod, because in real life, your primary pod might get OOMKilled due to high memory usage. + +Save this yaml as `tests/02-oomkill.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: StressChaos +metadata: + name: pg-primary-oom + namespace: chaos-mesh +spec: + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + stressors: + memory: + workers: 1 + size: "5000MB" # Exceed the 3Gi limit to trigger OOM + duration: "10m" + +``` + +**What this chaos does:** Allocates excessive memory on the primary pod to exceed its limits, triggering an OOMKill that forces failover. + + +Before running this, we will run the load test job. + +```shell +./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +We can see the database is in ready state while the load test job is running. +```shell +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d16h +--------------------------------------------------------------- +pod/pg-load-test-job-z8bxf 1/1 Running 0 22s +``` + +Let's see the log from the load test job: + +```shell +➤ kubectl logs -f -n demo job/pg-load-test-job + +Test Duration: 43s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 70123 (Reads: 55952, Inserts: 7053, Updates: 7118) + Total Number of Rows Reads: 5595200, Inserts: 705300, Updates: 7118 + Total Errors: 0 + Total Data Transferred: 6548.86 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 1526.62 (Reads: 1219.18/s, Inserts: 158.02/s, Updates: 149.42/s) + Throughput: 143.24 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 5.042ms, P95: 27.845ms, P99: 63.214ms + Inserts - Avg: 50.112ms, P95: 128.465ms, P99: 274.199ms + Updates - Avg: 22.783ms, P95: 87.802ms, P99: 211.079ms +----------------------------------------------------------------- +Connection Pool: + Active: 20, Max: 100, Available: 80 +================================================================= +``` + +Now run the chaos experiment. + +```shell +> kubectl apply -f primary-oomkill.yaml +stresschaos.chaos-mesh.org/pg-primary-oom created +``` + +Now you should see the primary pod is OOMKilled and the failover happens. The database state will be `Critical` during the failover and will be `Ready` again after the old primary is back as standby. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 10:47:30 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 2d16h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d16h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 54m +pod/sqlserver-ag-cluster-1 2/2 Running 1 (3s ago) 56m # NOTE: This shows the Restarts counter. It indicates that the pod is OOMKilled and restarted by Kubernetes +pod/sqlserver-ag-cluster-2 2/2 Running 0 54m +pod/pg-load-test-job-z8bxf 1/1 Running 0 113s + +``` + +You can check the status of chaos experiment by running `kubectl get stresschaos -n chaos-mesh pg-primary-oom` command. + +```shell +... + status: + conditions: + - status: "True" + type: Selected + - status: "False" + type: AllInjected + - status: "True" # All chaos recovered + type: AllRecovered + - status: "False" + type: Paused + +``` + +Now after some time, you should see the old primary is back and the database state is `Ready` again. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 10:48:18 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d16h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d16h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 55m +pod/sqlserver-ag-cluster-1 2/2 Running 1 (51s ago) 57m +pod/sqlserver-ag-cluster-2 2/2 Running 0 55m +pod/pg-load-test-job-z8bxf 1/1 Running 0 2m41s +``` +Now check the data loss report from the load test job logs once the test is completed. + +```shell +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 4095300 +I0406 04:52:42.162937 1 load_generator_v2.go:555] Total records in table: 4095300 +I0406 04:52:42.162960 1 load_generator_v2.go:556] totalRows in LoadGenerator: 4095300 + Records Found in DB: 4095300 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database + +Cleaning up test data... +Cleaning up test table... +Cleanup completed +Test data table deleted successfully + +Test completed successfully! + +``` + + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/02-oomkill.yaml +stresschaos.chaos-mesh.org "pg-primary-oom" deleted +``` + + +### Chaos#3: Kill SQL Server process in the Primary Pod + +Now we are going to kill the postgres process in the primary pod. Save this yaml as `tests/03-kill-postgres-process.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: PodChaos +metadata: + name: pg-kill-postgres-process + namespace: chaos-mesh +spec: + action: container-kill + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + containerNames: + - postgres + duration: "30s" +``` + +**What this chaos does:** Forcefully terminates the SQL Server process in the primary container, simulating a database crash without pod termination. + +Create the load test job. I will alter the duration of the load test job to 1 minute as this chaos experiment is generally shorter. + +Just change the `TEST_RUN_DURATION: "60"` in the ConfigMap YAML and apply all the YAMLs again. + +```shell +./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +```shell +pod/pg-load-test-job-79k9p 1/1 Running 0 10s # NOTE the load test job is running +``` + +Now run the chaos experiment. + +```shell +kubectl apply -f pg-kill-postgres-process.yaml +podchaos.chaos-mesh.org/pg-kill-postgres-process created +``` + +As soon as you run the chaos experiment, you should see the primary pod is killed, the failover might/might not happen based on the possibility of data loss. If all the replica were synced up with primary before primary went down, a failover will happen immediately. Conversely, if there was some lag between primary and replica, there is a possibility of data loss and in that case, failover will not happen until the primary is back and the replica is synced up with primary. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 11:15:07 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 2d17h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d17h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 81m +pod/sqlserver-ag-cluster-1 2/2 Running 2 (9s ago) 84m +pod/sqlserver-ag-cluster-2 2/2 Running 0 81m +pod/pg-load-test-job-79k9p 1/1 Running 0 39s + +``` +You can see the primary pod was killed and restarted by Kubernetes. The failover was not performed and the database state is `NotReady`. The reason database didn't go ready is that chaos-mesh killed the postgres process immediately without giving the standby time to receive the last WAL the primary generated under high load. So there is a chance of data loss if we do a failover, so we are not doing a failover in this case to protect your data. However, there are APIs using which you can do a failover in this case also. +Now wait some time and you should see the old primary is back and the database state is `Ready` again. + + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 11:15:32 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d17h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d17h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 82m +pod/sqlserver-ag-cluster-1 2/2 Running 2 (35s ago) 84m +pod/sqlserver-ag-cluster-2 2/2 Running 0 82m +pod/pg-load-test-job-79k9p 1/1 Running 0 65s + +``` + +Now check the data loss report from the load test job logs once the test is completed. + +```shell +Cumulative Statistics: + Total Operations: 83211 (Reads: 66607, Inserts: 8355, Updates: 8249) + Total Number of Rows Reads: 6660700, Inserts: 835500, Updates: 8249) + Total Errors: 19548 + Total Data Transferred: 7790.99 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 1298.86 (Reads: 974.14/s, Inserts: 259.77/s, Updates: 64.94/s) + Throughput: 129.14 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 5.366ms, P95: 30.093ms, P99: 72.567ms + Inserts - Avg: 53.477ms, P95: 135.148ms, P99: 238.446ms + Updates - Avg: 31.277ms, P95: 99.222ms, P99: 202.694ms +----------------------------------------------------------------- +Connection Pool: + Active: 14, Max: 100, Available: 86 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 1327.47 operations/sec + Read Operations: 66607 (1062.59/sec avg) + Insert Operations: 8355 (133.29/sec avg) + Update Operations: 8249 (131.60/sec avg) + Error Rate: 19.0232% + Total Data Transferred: 7.61 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 885500 + Records Found in DB: 885500 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database + +Cleaning up test data... +Cleaning up test table... +I0406 05:15:34.394443 1 load_generator_v2.go:555] Total records in table: 885500 +I0406 05:15:34.394469 1 load_generator_v2.go:556] totalRows in LoadGenerator: 885500 +Cleanup completed +Test data table deleted successfully + +Test completed successfully! +``` + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/03-kill-postgres-process.yaml +podchaos.chaos-mesh.org "pg-kill-postgres-process" deleted +``` + +### Chaos#4: Primary Pod Failure + +In this experiment, we are going to simulate a complete failure of the primary pod, including the node it is running on. This is a more extreme scenario than just killing the pod or the postgres process. + +Save this yaml as `tests/04-pod-failure.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: PodChaos +metadata: + name: pg-primary-pod-failure + namespace: chaos-mesh +spec: + action: pod-failure + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + duration: "5m" + +``` + +**What this chaos does:** Removes the entrypoint which is running the postgres process. + +> **NOTE**: Chaos-Mesh will simulate a pod failure for `.spec.duration` amount of time; for our case, it is 5 minutes. As this simulates the complete failure of a pod for 5 minutes, our database will be in either a NotReady or Critical state for 5 minutes. Once this chaos is `Recovered`, the database will move back to `Ready` state automatically. + +We will not run load tests for this experiment as well. + +Before running this, let's examine the database state. + +```shell +➤ kubectl get pg -n demo +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d17h +--------------------------------------------------------------- +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{print $1}' +sqlserver-ag-cluster-1 # Primary pod +``` + +See the primary pod is in running state. + +```shell +pod/sqlserver-ag-cluster-0 2/2 Running 0 102m +pod/sqlserver-ag-cluster-1 2/2 Running 2 (21m ago) 105m +pod/sqlserver-ag-cluster-2 2/2 Running 0 102m +``` + +Now run the chaos experiment. +```shell +kubectl apply -f pg-primary-pod-failure.yaml +podchaos.chaos-mesh.org/pg-primary-pod-failure created +``` + +See the database went into NotReady state. Now based on the possibility of data loss, a failover will happen or be prohibited. + +```shell +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 2d17h +``` + +A failover happened immediately as there was no possibility of data loss. See the database is now in `Critical` state, which means the new primary is ready to accept connections, but one or more of the replicas are not ready, in this case, the old primary in not ready. The old primary will be ready after `chaos.spec.duration` seconds when chaos will be recovered, which is 5 minutes in our case. + +```shell +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 2d17h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d17h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 103m +pod/sqlserver-ag-cluster-1 2/2 Running 2 (22m ago) 106m +pod/sqlserver-ag-cluster-2 2/2 Running 0 103m +``` + +Let's see who is the new primary. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{print $1}' +sqlserver-ag-cluster-0 +``` + +Now let's wait 5 minutes and follow the status of the chaos experiment by running `kubectl get podchaos -n chaos-mesh pg-primary-pod-failure` command. + +```shell +status: + conditions: + - status: "False" + type: Paused + - status: "True" + type: Selected + - status: "False" + type: AllInjected + - status: "True" + type: AllRecovered + +``` + +If you see `AllRecovered` condition is `True`, that means the chaos experiment is recovered, now you should see the old primary is back and the database state is `Ready` again. + +```shell +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d17h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d17h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 106m +pod/sqlserver-ag-cluster-1 2/2 Running 4 (10m ago) 110m +pod/sqlserver-ag-cluster-2 2/2 Running 0 106m +``` + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/04-pod-failure.yaml +podchaos.chaos-mesh.org "pg-primary-pod-failure" deleted +``` + +### Chaos#5: Network Partition Primary Pod + +> **NOTE**: The only possible way to avoid data loss in the network partition case is to use synchronous replication. You can do this by changing `db.spec.streamingMode: Synchronous`. In this case, there won't be any data loss. + +> **Caution**: This experiment can cause data loss if you are using asynchronous replication. So use this experiment with caution and only on non-production environments. + + +In this experiment, we simulate a network partition affecting the primary pod in a SQL Server cluster. + + +Let's say we have a cluster with 3 nodes: one primary and two standbys. Now we are going to create a network partition between the primary and the standby pods. After the split, the primary will be in the minority partition and the standbys will be in the majority partition. +```shell +Cluster (3 nodes) +----------------- +| Partition A | Partition B | +|---------------|-----------------| +| primary-0 | standby-1 | +| | standby-2 | +``` +The primary will keep running as primary in the minority partition and one of the standbys will be promoted to primary in the majority partition. Because the majority quorum can't reach the primary in the minority partition due to network partition, they +think the primary is down and they will promote one of the standby to primary by leader election. + +```shell +After Split +----------- +| Partition A | Partition B | +|--------------------|--------------------| +| primary-0 (active) | standby-1 → primary| +| | standby-2 | +``` + +```shell +Partition Check +--------------- +| Partition A | Nodes: 1 | No quorum | +| Partition B | Nodes: 2 | Has quorum | +``` + +We will detect this situation and will shutdown the primary in the minority partition to avoid data loss as much as possible. + +```shell +Safe Outcome +------------ +| Partition A | Partition B | +|--------------------|--------------------| +| primary-0 (stopped)| standby-1 → primary| +| | standby-2 | +``` + +But again, there exists a data loss window which is generally small (30s - 1 minute). So how much data might be lost? Depends on your write load during that time, might be none in case there wasn't any write load. + +Now save this yaml as `tests/05-network-partition.yaml`. We will test this scenario against both asynchronous and synchronous replication mode and see the difference. + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: NetworkChaos +metadata: + name: pg-primary-network-partition + namespace: chaos-mesh +spec: + action: partition + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + target: + mode: all + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "standby" + direction: both + duration: "4m" +``` + +**What this chaos does:** Blocks network connectivity between the primary pod and all standby pods, forcing a split-brain scenario where standbys promote a new primary in their partition while the isolated primary continues running. + +Lets first test on the current postgres, which is running in asynchronous replication mode. Its basically the default mode if you have not mentioned anything in the `.spec.streamingMode` field of MSSQLServer Object. + + +Now lets first apply the load test job, but I will modify some config before running it. +```shell +BATCH_SIZE: "100" +TEST_RUN_DURATION: "600" # updated this, 10 minutes +INSERT_PERCENT: "1" # let's put some realistic write load, 1% of the operations will be insert +UPDATE_PERCENT: "19" # 19% of the operations will be update, so total write load is 20% which is quite high for postgres. We want to see some data loss in this case +CONCURRENT_WRITERS: "10" # Reduce the concurrent writers +``` + +Now, + +```shell +./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Before running this experiment, lets examine db state. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 13:21:23 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d19h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d19h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 102s +pod/sqlserver-ag-cluster-1 2/2 Running 0 99s +pod/sqlserver-ag-cluster-2 2/2 Running 0 96s +pod/pg-load-test-job-ztb94 1/1 Running 0 12s + +``` + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{print $1}' +sqlserver-ag-cluster-1 # Primary pod +``` + +Now let's go ahead and run the chaos experiment. + +```shell +➤ kubectl apply -f tests/05-network-partition.yaml +networkchaos.chaos-mesh.org/pg-primary-network-partition created +``` + +Your database will be in `Ready` state for some time until we detect there is a network partition, when we detect the +network partition, +we shutdown the primary in the minority quorum. So you will see the database is in `Ready` state for some +time and then it will go to `NotReady` or `Critical` state based on some other criteria. + +```shell +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d19h +``` + +After some time, you should see the database is in `NotReady` state as we detected the network partition and shutdown the primary in the minority partition to avoid data loss as much as possible. + +```shell +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 2d19h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d19h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 3m55s +pod/sqlserver-ag-cluster-1 2/2 Running 0 3m52s +pod/sqlserver-ag-cluster-2 2/2 Running 0 3m49s +pod/pg-load-test-job-ztb94 1/1 Running 0 2m25s + +``` + +Your database should be in `Critical` state after some time. + +```shell + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 2d19h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d19h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 4m38s +pod/sqlserver-ag-cluster-1 2/2 Running 0 4m35s +pod/sqlserver-ag-cluster-2 2/2 Running 0 4m32s +pod/pg-load-test-job-ztb94 1/1 Running 0 3m8s +``` +> **NOTE**: There is one possible way where data loss might be avoided even with asynchronous replication, this reason is somewhat weird but possible. In a scenario where the standby was lagging behind the primary before the network partition happened, there won't be a failover in this case as we know doing a failover will result in data loss in this case. In this case, your db will be in `NotReady` state. + +> So, if you see your db is in **NotReady** state for longer period, this might be the reason, and you have successfully avoided data loss even with asynchronous replication at the cost of some downtime. Again, if you prefer uptime, use `.spec.replication.forceFailoverAcceptingDataLossAfter: 30s` which will force fully do a failover without considering data loss case. + + +Let's see the logs of the old primary, you should see the postgres process is shutdown immediately after the network partition is detected. + +```shell +➤ kubectl logs -f -n demo sqlserver-ag-cluster-1 +... +2026-04-06 07:23:50.190 UTC [2598] FATAL: the database system is shutting down +2026-04-06 07:23:50.514 UTC [77] LOG: checkpoint complete: wrote 24464 buffers (37.3%); 0 WAL file(s) added, 0 removed, 23 recycled; write=0.441 s, sync=0.036 s, total=0.519 s; sync files=44, longest=0.025 s, average=0.001 s; distance=376832 kB, estimate=376832 kB; lsn=8/48000028, redo lsn=8/48000028 +2026-04-06 07:23:50.576 UTC [48] LOG: database system is shut down +``` +Let's check who is the new primary. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{print $1}' +sqlserver-ag-cluster-0 +``` + +Check the logs of the new primary. It shows that it is now accepting connections, so new read/write operations will now go to the new primary. + +```shell +➤ kubectl logs -f -n demo sqlserver-ag-cluster-0 +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +... +2026-04-06 07:23:26.417 UTC [116] LOG: database system is ready to accept connections +2026-04-06 07:23:26.864 UTC [160] LOG: checkpoint complete: wrote 23062 buffers (35.2%); 0 WAL file(s) added, 0 removed, 17 recycled; write=0.407 s, sync=0.027 s, total=0.460 s; sync files=47, longest=0.011 s, average=0.001 s; distance=287175 kB, estimate=287175 kB; lsn=8/42873F88, redo lsn=8/42871FF0 +2026-04-06 07:23:26.864 UTC [160] LOG: checkpoint starting: immediate force wait +2026-04-06 07:23:26.871 UTC [160] LOG: checkpoint complete: wrote 1 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.002 s, total=0.007 s; sync files=1, longest=0.002 s, average=0.002 s; distance=8 kB, estimate=258459 kB; lsn=8/42874050, redo lsn=8/42874018 +``` + +Now wait for the chaos experiment to be recovered, you can check the status of chaos experiment by running `kubectl get networkchaos -n chaos-mesh pg-primary-network-partition` command. + +```shell + status: + conditions: + - status: "True" + type: Selected + - status: "False" + type: AllInjected + - status: "True" + type: AllRecovered + - status: "False" + type: Paused +``` + +Once `AllRecovered` is `True` you should see the old primary is back as standby and the database state is `Ready` again. + +```shell +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d19h +``` + +Now let's see how many rows we lost in this case by checking the load test job logs. + +```shell +Cumulative Statistics: + Total Operations: 2371907 (Reads: 1897709, Inserts: 47445, Updates: 426753) + Total Number of Rows Reads: 189770900, Inserts: 237225, Updates: 426753) + Total Errors: 73 + Total Data Transferred: 192743.74 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 58.05 (Reads: 26.12/s, Inserts: 2.90/s, Updates: 29.03/s) + Throughput: 2.81 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 5.23ms, P95: 36.986ms, P99: 48.888ms + Inserts - Avg: 7.183ms, P95: 37.949ms, P99: 49.527ms + Updates - Avg: 5.358ms, P95: 33.606ms, P99: 45.95ms +----------------------------------------------------------------- +Connection Pool: + Active: 9, Max: 100, Available: 91 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 3934.44 operations/sec + Read Operations: 1897709 (3147.85/sec avg) + Insert Operations: 47445 (78.70/sec avg) + Update Operations: 426753 (707.88/sec avg) + Error Rate: 0.0031% + Total Data Transferred: 188.23 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 270295 + Records Found in DB: 253365 + Records Lost: 16930 + Data Loss Percentage: 6.26% +================================================================= + +⚠️ WARNING: 16930 records were inserted but not found in database! +``` + +So we incurred data loss. Now the question is: how much? In our above case, there were: +Insert Operations: 47445 (78.70/sec avg) -> 78.70 insert operations per second, each insert uses batch size of `BATCH_SIZE: 5`, +which is 78.70 * 5 = 393.5 rows inserted per second. + +We lost 16930 rows, so the data loss window is 16930 / 393.5 = 43 seconds. +So we can say that there was a network partition for around 4 minutes (`chaos.spec.duration`) +and split brain due of network partition was for 43 seconds. + +This split brain detection time is around ~30 seconds(Your data loss window) despite how longer your network partition lasts. + +> Note: If your network partition window is less than 30 seconds, you won't loose any data even in Asynchronous mode. + +Now lets try to **avoid data loss** by using **Synchronous** replication. Change the `db.spec.streamingMode: Synchronous` to the setup/sqlserver-ag-cluster.yaml. + +```yaml +apiVersion: kubedb.com/v1 +kind: MSSQLServer +metadata: + name: sqlserver-ag-cluster + namespace: demo +spec: + clientAuthMode: md5 + deletionPolicy: Delete + podTemplate: + spec: + containers: + - name: postgres + resources: + limits: + memory: 3Gi + requests: + cpu: 2 + memory: 2Gi + replicas: 3 + replication: + walKeepSize: 5000 + walLimitPolicy: WALKeepSize + standbyMode: Hot + storage: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50Gi + storageType: Durable + streamingMode: Synchronous # Note this line + version: "16.4" + +``` + +Before applying this, let's clean up the previous yamls including postgres, load-test jobs and chaos experiment. + +```shell +kubectl delete -f setup/sqlserver-ag-cluster.yaml +postgres.kubedb.com "sqlserver-ag-cluster" deleted +kubectl delete -f k8s/03-job.yaml +job.batch "pg-load-test-job" deleted +kubectl delete -f tests/05-network-partition.yaml +networkchaos.chaos-mesh.org "pg-primary-network-partition" deleted +``` + +Now apply the setup/sqlserver-ag-cluster.yaml and wait for the db to be in `Ready` state. + +```shell +kubectl apply -f setup/sqlserver-ag-cluster.yaml +``` + + +Once the db is in `Ready` state, apply the load test job and then wait 1 minute, then apply the chaos experiment. + + + +```shell +./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +First delete the previous experiment. + +```shell +➤ kubectl delete -f tests/05-network-partition.yaml +networkchaos.chaos-mesh.org/pg-primary-network-partition deleted +``` + +Now apply the experiment again. + +```shell +➤ kubectl apply -f tests/05-network-partition.yaml +networkchaos.chaos-mesh.org/pg-primary-network-partition created +``` +You should experience the same scenario as before, but this time there won't be any data loss as we are using synchronous replication. + + +Let's wait and verify the logs from the load test job once the test is completed. + +```shell +Final Results: +================================================================= +Test Duration: 10m3s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 1828426 (Reads: 1463758, Inserts: 36327, Updates: 328341) + Total Number of Rows Reads: 146375800, Inserts: 181635, Updates: 328341) + Total Errors: 42 + Total Data Transferred: 151400.85 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 62.77 (Reads: 51.69/s, Inserts: 3.69/s, Updates: 7.38/s) + Throughput: 5.37 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 4.254ms, P95: 6.757ms, P99: 72.028ms + Inserts - Avg: 10.912ms, P95: 59.609ms, P99: 72.482ms + Updates - Avg: 14.94ms, P95: 18.156ms, P99: 70.674ms +----------------------------------------------------------------- +Connection Pool: + Active: 10, Max: 100, Available: 90 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 3032.08 operations/sec + Read Operations: 1463758 (2427.35/sec avg) + Insert Operations: 36327 (60.24/sec avg) + Update Operations: 328341 (544.49/sec avg) + Error Rate: 0.0023% + Total Data Transferred: 147.85 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 231635 + Records Found in DB: 231635 + Records Lost: 0 +I0406 07:45:57.178325 1 load_generator_v2.go:555] Total records in table: 231635 +I0406 07:45:57.178359 1 load_generator_v2.go:556] totalRows in LoadGenerator: 231635 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database + +``` + +See this time there is `no data loss`. + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/05-network-partition.yaml +networkchaos.chaos-mesh.org "pg-primary-network-partition" deleted +``` + +Delete and recreate the postgres with asynchronous replication if you want to do more experiments. +Also revert back this changes + +```shell +BATCH_SIZE: "100" +TEST_RUN_DURATION: "300" # updated this, 5 minutes +INSERT_PERCENT: "10" # lets put some relistic write load, 1% of the operations will be insert +UPDATE_PERCENT: "10" # 19% of the operations will be update, so total write load is 20% which is pretty high for postgres, we want to see some data loss in this case +CONCURRENT_WRITERS: "20" # Reduce the concurrent writters +``` + +### Chaos#6: Limit bandwidth of Primary Pod + +> As you changed `.db.spec.streamingMode: Synchronous` in the previous experiment, change it back to `Asynchronous` for this experiment. You can also keep it as it if you want though. + +Skip these deletion process if you want to continue with `.db.spec.streamingMode: Synchronous`. + +Edit the setup/sqlserver-ag-cluster.yaml and update `.db.spec.streamingMode: Asynchronous` + +Now first delete the previous one, + +```shell +kubectl delete -f setup/sqlserver-ag-cluster.yaml +``` + +Now wait untill all the pods of are gone. + +``` +kubectl get pods -n demo | grep sqlserver-ag-cluster +# This should return nothing +``` + +Now apply the setup/sqlserver-ag-cluster.yaml, + +```shell +kubectl apply -f setup/sqlserver-ag-cluster.yaml +``` + +Now wait until database is in ready state. + +``` +➤ kubectl get pg,pods -n demo +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2m28s + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 2m22s +pod/sqlserver-ag-cluster-1 2/2 Running 0 2m15s +pod/sqlserver-ag-cluster-2 2/2 Running 0 2m8s + + +``` + +For this chaos experiment, we are going to limit the bandwidth of the primary pod. This will cause the replication lag between primary and standby to increase, which can lead to data loss if a failover happens during this time. So this is a good experiment to test the behavior of your cluster under network congestion. + +Save this yaml as `tests/06-bandwidth-limit.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: NetworkChaos +metadata: + name: pg-primary-bandwidth-limit + namespace: chaos-mesh +spec: + action: bandwidth + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + target: + mode: all + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + bandwidth: + rate: "1mbps" + limit: 20000 + buffer: 10000 + direction: both + duration: "2m" +``` + +**What this chaos does:** Restricts the egress/ingress bandwidth of the primary pod to 1 Mbps, simulating a slow network connection and increasing replication lag. + +Additionally, we will run the load test with some changes introduced. + +```shell +INSERT_PERCENT: "19" +UPDATE_PERCENT: "1" +BATCH_SIZE: "200" +TEST_RUN_DURATION: "150" +``` + +Run the load generating job. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` +Now let's watch the pods and postgres. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + + +```shell +> watch -n demo kubectl get pg,petset,pods + +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 17:13:20 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 2d23h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 2d23h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 3h40m +pod/sqlserver-ag-cluster-1 2/2 Running 0 3h38m +pod/sqlserver-ag-cluster-2 2/2 Running 0 3h38m +pod/pg-load-test-job-hf85p 1/1 Running 0 105s + +``` + +Your database should be in ready state all the time. Once the chaos experiment is completed, check the logs of load test job to see if there was any data loss. + +```shell +Final Results: +================================================================= +Test Duration: 3m0s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 24564 (Reads: 19517, Inserts: 4803, Updates: 244) + Total Number of Rows Reads: 1951700, Inserts: 960600, Updates: 244) + Total Errors: 20 + Total Data Transferred: 3067.35 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 0.00 (Reads: 0.00/s, Inserts: 0.00/s, Updates: 0.00/s) + Throughput: 0.00 MB/s + Errors/sec: 2.75 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 13.334ms, P95: 49.334ms, P99: 336.744ms + Inserts - Avg: 168.387ms, P95: 324.687ms, P99: 590.029ms + Updates - Avg: 137.242ms, P95: 189.343ms, P99: 350.323ms +----------------------------------------------------------------- +Connection Pool: + Active: 29, Max: 100, Available: 71 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 136.47 operations/sec + Read Operations: 19517 (108.43/sec avg) + Insert Operations: 4803 (26.68/sec avg) + Update Operations: 244 (1.36/sec avg) + Error Rate: 0.0814% + Total Data Transferred: 3.00 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= +I0406 11:14:41.761915 1 load_generator_v2.go:555] Total records in table: 1014600 +I0406 11:14:41.761938 1 load_generator_v2.go:556] totalRows in LoadGenerator: 1010600 + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 1014600 + Records Found in DB: 1018600 + Records Lost: -4000 + Data Loss Percentage: -0.39% +================================================================= + + No data loss detected - all inserted records are present in database + +``` + +Cleanup the chaos experiment. + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/06-bandwidth-limit.yaml +networkchaos.chaos-mesh.org "pg-primary-bandwidth-limit" deleted +``` + +### Chaos#7: Network Delay Primary Pod + +In this chaos experiment, we are going to introduce network delay to the primary pod. This will cause the replication lag between primary and standby to increase, which can lead to data loss if a failover happens during this time. So this is a good experiment to test the behavior of your cluster under network congestion. + +Save this yaml as `tests/07-network-delay.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: NetworkChaos +metadata: + name: pg-primary-network-delay + namespace: chaos-mesh +spec: + action: delay + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + target: + mode: all + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + delay: + latency: "500ms" + jitter: "100ms" + correlation: "50" + duration: "3m" + direction: both +``` + +**What this chaos does:** Adds 500ms latency with 100ms jitter to all network packets of the primary pod, simulating high-latency network conditions. + +Let's adjust the load test config before running the load test job. + +```shell +TEST_RUN_DURATION: "200" +READ_PERCENT: "80" +INSERT_PERCENT: "10" +UPDATE_PERCENT: "10" +BATCH_SIZE: "100" +``` + +Lets create the load test job. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Now watch the pods and postgres status. + + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 18:39:12 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 3d + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 83m +pod/sqlserver-ag-cluster-1 2/2 Running 0 83m +pod/sqlserver-ag-cluster-2 2/2 Running 0 83m +pod/pg-load-test-job-89flv 1/1 Running 0 72s +``` + +The database should be in `Ready` state all the time. + +```shell +kubectl get networkchaos -n chaos-mesh -oyaml +... + status: + conditions: + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + - status: "True" + type: Selected + - status: "False" + type: AllInjected +``` + +`AllRecovered` condition is `True`, that means the chaos experiment is done. Now let's check how many rows were inserted. + +```shell +Final Results: +================================================================= +Test Duration: 3m23s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 253446 (Reads: 202535, Inserts: 25370, Updates: 25541) + Total Number of Rows Reads: 20253500, Inserts: 2537000, Updates: 25541) + Total Errors: 0 + Total Data Transferred: 23686.56 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 336.68 (Reads: 202.01/s, Inserts: 84.17/s, Updates: 50.50/s) + Throughput: 30.12 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 8.76ms, P95: 64.215ms, P99: 98.166ms + Inserts - Avg: 54.375ms, P95: 124.26ms, P99: 189.16ms + Updates - Avg: 32.242ms, P95: 99.145ms, P99: 150.899ms +----------------------------------------------------------------- +Connection Pool: + Active: 28, Max: 100, Available: 72 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 1250.27 operations/sec + Read Operations: 202535 (999.12/sec avg) + Insert Operations: 25370 (125.15/sec avg) + Update Operations: 25541 (126.00/sec avg) + Error Rate: 0.0000% + Total Data Transferred: 23.13 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 2587000 + Records Found in DB: 2587000 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database + +Cleaning up test data... +Cleaning up test table... +I0406 12:41:39.032079 1 load_generator_v2.go:555] Total records in table: 2587000 +I0406 12:41:39.032102 1 load_generator_v2.go:556] totalRows in LoadGenerator: 2587000 +================================================================= + +``` +As you can see, 25M rows were inserted, 23GB data was transferred to the database and there was no data loss. So even with 500ms network delay, our cluster was able to handle the load and there was no data loss. + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/07-network-delay.yaml +networkchaos.chaos-mesh.org "pg-primary-network-delay" deleted +``` + +### Chaos#8: Network Loss Primary Pod + +In this chaos experiment, we are going to introduce network loss to the primary pod. We expect our database to be able to hold Ready state, even though we see some failover, the end state of database should be `Ready`. + +Save this yaml as `tests/08-network-loss.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: NetworkChaos +metadata: + name: pg-primary-packet-loss + namespace: chaos-mesh +spec: + action: loss + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + target: + mode: all + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + loss: + loss: "100" + correlation: "100" + duration: "3m" + direction: both + +``` + +**What this chaos does:** Drops 100% of network packets to/from the primary pod, simulating a complete network blackhole while allowing recovery when the chaos ends. + +Lets run the load test job with some changes in config. + +```shell + TEST_RUN_DURATION: "200" +``` + +Lets create the load test job. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Now create the chaos experiment. + +```shell +➤ kubectl apply -f tests/08-network-loss.yaml +networkchaos.chaos-mesh.org/pg-primary-packet-loss created +``` + +Now watch the pods and postgres status. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 19:00:54 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 3d + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 104m +pod/sqlserver-ag-cluster-1 2/2 Running 0 104m +pod/sqlserver-ag-cluster-2 2/2 Running 0 104m +pod/pg-load-test-job-44hg8 1/1 Running 0 96s + +``` + +MSSQLServer should be in `Ready` state all the time, even though it switches to Critical, it should be back to `Ready` state after the experiment is done. + +```shell +kubectl get networkchaos -n chaos-mesh -oyaml +... + status: + conditions: + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + - status: "True" + type: Selected + - status: "False" + type: AllInjected + +``` + +`AllRecovered` condition is `True`, that means the chaos experiment is done. Now let's check how many rows were inserted and if there was any data loss. + +```shell +Final Results: +================================================================= +Test Duration: 3m23s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 229680 (Reads: 183614, Inserts: 23016, Updates: 23050) + Total Number of Rows Reads: 18361400, Inserts: 2301600, Updates: 23050) + Total Errors: 0 + Total Data Transferred: 21474.94 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 65.82 (Reads: 29.62/s, Inserts: 23.04/s, Updates: 13.16/s) + Throughput: 5.62 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 13.045ms, P95: 50.368ms, P99: 218.188ms + Inserts - Avg: 45.326ms, P95: 119.711ms, P99: 189.261ms + Updates - Avg: 23.338ms, P95: 81.739ms, P99: 142.693ms +----------------------------------------------------------------- +Connection Pool: + Active: 29, Max: 100, Available: 71 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 1131.63 operations/sec + Read Operations: 183614 (904.67/sec avg) + Insert Operations: 23016 (113.40/sec avg) + Update Operations: 23050 (113.57/sec avg) + Error Rate: 0.0000% + Total Data Transferred: 20.97 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= +I0406 13:02:54.311885 1 load_generator_v2.go:555] Total records in table: 2351600 +I0406 13:02:54.311910 1 load_generator_v2.go:556] totalRows in LoadGenerator: 2351600 + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 2351600 + Records Found in DB: 2351600 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database +``` + +You can see the stats and this clearly shows lots of rows were inserted and reads were performed, but there was no data loss. And no downtime. + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/08-network-loss.yaml +networkchaos.chaos-mesh.org "pg-primary-packet-loss" deleted +``` + +### Chaos#9: Network Duplicate to Primary Pod + +In this experiment, we will introduce packet duplication to the primary pod. We expect the database to be able to handle packet duplication and be ready all the time. + +Save this yaml as `tests/09-network-duplicate.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: NetworkChaos +metadata: + name: pg-primary-packet-duplicate + namespace: chaos-mesh +spec: + action: duplicate + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + target: + mode: all + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + duplicate: + duplicate: "50" + correlation: "25" + duration: "4m" + direction: both + +``` + +**What this chaos does:** Duplicates 50% of network packets to/from the primary pod, creating redundant traffic that can overwhelm or confuse the receiving end. + +Lets run the load test job with some changes in config. + +```shell + TEST_RUN_DURATION: "240" +``` + +```shell +saurov@saurov-pc:~/g/s/g/s/high-write-load-client|main⚡*? +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Now lets create the chaos experiment. + +```shell +➤ kubectl apply -f tests/09-network-duplicate.yaml +networkchaos.chaos-mesh.org/pg-primary-packet-duplicate created +``` + +Now watch the pods and postgres status. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 19:19:44 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 3d1h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d1h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 123m +pod/sqlserver-ag-cluster-1 2/2 Running 0 123m +pod/sqlserver-ag-cluster-2 2/2 Running 0 123m +``` + +You should see your database is in `Ready` state all the time despite the packet duplication. + +```shell +kubectl get networkchaos -n chaos-mesh -oyaml +... + status: + conditions: + - status: "True" + type: AllInjected + - status: "False" + type: AllRecovered + - status: "False" + type: Paused + - status: "True" + type: Selected + +``` +Once the experiment is done, check the logs of load test job to see if there was any data loss. + +```shell +Final Results: +================================================================= +Test Duration: 3m23s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 224846 (Reads: 179994, Inserts: 22547, Updates: 22305) + Total Number of Rows Reads: 17999400, Inserts: 2254700, Updates: 22305) + Total Errors: 0 + Total Data Transferred: 21050.70 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 151.38 (Reads: 105.97/s, Inserts: 22.71/s, Updates: 22.71/s) + Throughput: 13.61 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 13.234ms, P95: 71.521ms, P99: 237.409ms + Inserts - Avg: 46.457ms, P95: 115.989ms, P99: 193.325ms + Updates - Avg: 24.757ms, P95: 91.271ms, P99: 157.036ms +----------------------------------------------------------------- +Connection Pool: + Active: 14, Max: 100, Available: 86 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 1109.38 operations/sec + Read Operations: 179994 (888.08/sec avg) + Insert Operations: 22547 (111.25/sec avg) + Update Operations: 22305 (110.05/sec avg) + Error Rate: 0.0000% + Total Data Transferred: 20.56 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 2304700 + Records Found in DB: 2304700 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database + +Cleaning up test data... +Cleaning up test table... +I0406 13:15:39.100598 1 load_generator_v2.go:555] Total records in table: 2304700 +I0406 13:15:39.100624 1 load_generator_v2.go:556] totalRows in LoadGenerator: 2304700 +================================================================= +``` + +As usual, despite load on the database and packet duplication, there was no data loss and database was in `Ready` state all the time. + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/09-network-duplicate.yaml +networkchaos.chaos-mesh.org "pg-primary-packet-duplicate" deleted +``` + +### Chaos#10: Network Corruption to Primary Pod + +In this experiment, we will introduce packet corruption to the primary pod. We expect the database to be able to handle packet corruption and not lose any data. + +Save this yaml as `tests/10-network-corrupt.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: NetworkChaos +metadata: + name: pg-primary-packet-corrupt + namespace: chaos-mesh +spec: + action: corrupt + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + target: + mode: all + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + corrupt: + corrupt: "50" + correlation: "25" + duration: "4m" + direction: both + +``` + +**What this chaos does:** Corrupts 50% of network packets to/from the primary pod by flipping random bits in the payload, causing checksums to fail. + +Lets change some config and apply the load test creation script. + +```shell + TEST_RUN_DURATION: "240" +``` + +```shellsaurov@saurov-pc:~/g/s/g/s/high-write-load-client|main⚡*? +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Now check if the database is in ready state. + +```shell +kubectl get pg,petset,pods -n demo +``` + +```shell +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 3d1h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d1h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 126m +pod/sqlserver-ag-cluster-1 2/2 Running 0 126m +pod/sqlserver-ag-cluster-2 2/2 Running 0 126m +pod/pg-load-test-job-lftl8 1/1 Running 0 6s + +``` + +Now create the chaos experiment. + +```yaml➤ kubectl apply -f tests/10-network-corrupt.yaml +networkchaos.chaos-mesh.org/pg-primary-packet-corrupt created +``` + +Now watch the pods and postgres status. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 19:27:48 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 3d1h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d1h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 131m +pod/sqlserver-ag-cluster-1 2/2 Running 0 131m +pod/sqlserver-ag-cluster-2 2/2 Running 0 131m + +``` + +The database is ready so far, and sqlserver-ag-cluster-0 is the primary. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +``` + + + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 19:35:09 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 3d1h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d1h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 139m +pod/sqlserver-ag-cluster-1 2/2 Running 0 139m +pod/sqlserver-ag-cluster-2 2/2 Running 0 139m +pod/pg-load-test-job-5q4gh 1/1 Running 0 52s + +``` +Database turns into `NotReady` state as a failover happens due of the corruption. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 19:35:52 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 3d1h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d1h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 139m +pod/sqlserver-ag-cluster-1 2/2 Running 0 139m +pod/sqlserver-ag-cluster-2 2/2 Running 0 139m +pod/pg-load-test-job-5q4gh 1/1 Running 0 95s + +``` + +A new primary is elected and database moved into `Critical` state, which means new primary is ready to accept connections. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-1 +``` + +So sqlserver-ag-cluster-1 is the new primary. Wait for the chaos to be recovered. + +```shell + kubectl get networkchaos -n chaos-mesh -oyaml + ... + status: + conditions: + - status: "False" + type: AllInjected + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + - status: "True" + type: Selected + +``` + +`Alrecovered` true means chaos experiment is over. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 19:36:25 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 3d1h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d1h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 140m +pod/sqlserver-ag-cluster-1 2/2 Running 0 140m +pod/sqlserver-ag-cluster-2 2/2 Running 0 140m +pod/pg-load-test-job-5q4gh 1/1 Running 0 2m8s + +``` +The database has returned to `Ready` state. + + +Now check the stats of data insertion and read. + +```shell +Final Results: +================================================================= +Test Duration: 3m23s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 241642 (Reads: 193608, Inserts: 23878, Updates: 24156) + Total Number of Rows Reads: 19360800, Inserts: 2387800, Updates: 24156) + Total Errors: 0 + Total Data Transferred: 22600.28 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 395.64 (Reads: 237.39/s, Inserts: 138.48/s, Updates: 19.78/s) + Throughput: 39.88 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 10.469ms, P95: 64.429ms, P99: 103.762ms + Inserts - Avg: 51.473ms, P95: 134.532ms, P99: 201.798ms + Updates - Avg: 29.607ms, P95: 98.249ms, P99: 169.741ms +----------------------------------------------------------------- +Connection Pool: + Active: 27, Max: 100, Available: 73 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 1192.38 operations/sec + Read Operations: 193608 (955.36/sec avg) + Insert Operations: 23878 (117.83/sec avg) + Update Operations: 24156 (119.20/sec avg) + Error Rate: 0.0000% + Total Data Transferred: 22.07 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= +I0406 13:26:04.117504 1 load_generator_v2.go:555] Total records in table: 2437800 +I0406 13:26:04.117540 1 load_generator_v2.go:556] totalRows in LoadGenerator: 2437800 + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 2437800 + Records Found in DB: 2437800 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database +``` +So everything looks alright. No data loss. + +Cleanup the chaos experiment: + +```shell +kubectl delete -f tests/10-network-corrupt.yaml +networkchaos.chaos-mesh.org "pg-primary-packet-corrupt" deleted +``` + +### Chaos#11: Time Offset and DNS error + +We will run two chaos experiments one after another in this case. No load test will be run in these two cases. + +Save this yaml as `tests/11-time-offset.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: TimeChaos +metadata: + name: pg-primary-time-offset + namespace: chaos-mesh +spec: + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + timeOffset: "-2h" + clockIds: + - CLOCK_REALTIME + duration: "2m" + +``` + +**What this chaos does:** Shifts the system clock of the primary pod back by 2 hours, simulating time skew that can cause certificate validation, timestamp-based logic, and replication synchronization issues. + +Save this yaml as `tests/12-dns-error.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: DNSChaos +metadata: + name: pg-primary-dns-error + namespace: chaos-mesh +spec: + action: error + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + duration: "2m" + +``` + +**What this chaos does:** Makes all DNS queries from the primary pod fail with resolution errors, simulating DNS service outage or misconfiguration. + +```shell +➤ kubectl apply -f tests/11-time-offset.yaml +timechaos.chaos-mesh.org/pg-primary-time-offset created +saurov@saurov-pc:~/g/s/g/s/chaos-mesh|main⚡* +➤ kubectl apply -f tests/12-dns-error.yaml +dnschaos.chaos-mesh.org/pg-primary-dns-error created +``` + +Your database will be in ready state through the whole chaos. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 19:50:14 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 3d1h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 3d1h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 154m +pod/sqlserver-ag-cluster-1 2/2 Running 0 154m +pod/sqlserver-ag-cluster-2 2/2 Running 0 154m +``` + +Clean up the chaos experiments. + +```shell +kubectl delete -f tests/11-time-offset.yaml +timechaos.chaos-mesh.org "pg-primary-time-offset" deleted +kubectl delete -f tests/12-dns-error.yaml +dnschaos.chaos-mesh.org "pg-primary-dns-error" deleted +``` + +## IO chaos + +### MSSQLServer Recreation with force failover + +For IO related chaos, if you prioritize high availability over data loss, then set +`.spec.replication.forceFailoverAcceptingDataLossAfter: 30s`. This will result in better availability. But if you prefer data safety over high availability, then do not set `.spec.replication.forceFailoverAcceptingDataLossAfter: 30s` this. + + +I will set`.spec.replication.forceFailoverAcceptingDataLossAfter: 30s` for IO related chaos tests. +**If you do not prefer data loss, ignore this Recreation step**. + + +You will see that even though we will force failover accepting the possibility that there might be data loss, +but in really this data loss chances are very not very high. We should be able to achieve high availability without losing any data in most cases. Our end goal is to have +the database in `Ready` state when chaos is recovered. + +> NOTE: In case you do not prefer to set this `.spec.replication.forceFailoverAcceptingDataLossAfter: 30s`. +> Its just you might face some extra downtime(Database might stay in `NotReady` state for longer period +> until chaos is recovered) in some IOChaos cases. + + + +First delete the setup/sqlserver-ag-cluster.yaml + +```shell +kubectl delete -f setup/sqlserver-ag-cluster.yaml +``` +Wait untill all the pods are deleted. + +```shell +kubectl get pods -n demo | grep sqlserver-ag-cluster +# this should not return anything +``` + +Now update your setup/sqlserver-ag-cluster.yaml with below yaml. + +```yaml +apiVersion: kubedb.com/v1 +kind: MSSQLServer +metadata: + name: sqlserver-ag-cluster + namespace: demo +spec: + clientAuthMode: md5 + deletionPolicy: Delete + podTemplate: + spec: + containers: + - name: postgres + resources: + limits: + memory: 3Gi + requests: + cpu: 2 + memory: 2Gi + replicas: 3 + replication: + walKeepSize: 5000 + walLimitPolicy: WALKeepSize + forceFailoverAcceptingDataLossAfter: 30s # New added + standbyMode: Hot + storage: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50Gi + storageType: Durable + version: "16.4" +``` + +Run `kubectl apply -f setup/sqlserver-ag-cluster.yaml` and wait for database to be in ready state. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 20:17:16 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 54s + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 48s + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 48s +pod/sqlserver-ag-cluster-1 2/2 Running 0 43s +pod/sqlserver-ag-cluster-2 2/2 Running 0 38s + +``` + +Let's check which pod is the primary. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-2 +``` + +> Note: If you performed this step, you might need to change the k8s/02-secret.yaml -> DB_PASSWORD: 'new value' + +### Chaos#12: IO latency + +In this experiment, we will simulate IO latency. Our end goal is to have as low downtime as possible and the database should be in `Ready` state when chaos is recovered. + +Save this yaml as `tests/13-io-latency.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: IOChaos +metadata: + name: pg-primary-io-latency + namespace: chaos-mesh +spec: + action: latency + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + volumePath: /var/pv + path: /var/pv/data/**/* + delay: "500ms" + percent: 100 + duration: "5m" + containerNames: + - postgres +``` + +**What this chaos does:** Injects 500ms latency into all disk I/O operations on the primary pod, simulating slow storage that increases replication lag and can trigger failover. + + +Lets change the load test config. + +```shell + TEST_RUN_DURATION: "300" +``` + +In case your database password is changed(you recreated the postgres and used WipeOut deletion policy), you can run the below command to check your database password. + +```shell +➤ kubectl get secret -n demo sqlserver-ag-cluster-auth -oyaml +apiVersion: v1 +data: + password: bVApIWcyYW5PcV9ONXR+bQ== + username: cG9zdGdyZXM= +kind: Secret +... +``` + +Check if your database password given in the secret of load test yaml is changed or not. If changed, then update the password and apply the secret again. + +```shell +DB_PASSWORD: bVApIWcyYW5PcV9ONXR+bQ== +``` + +```shell +➤ kubectl apply -f k8s/02-secret.yaml +secret/pg-load-test-secret configured +``` + +Now apply the load test yamls. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config configured +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Now wait 10-20 second and apply the chaos experiment. + +```shell +➤ kubectl apply -f tests/13-io-latency.yaml +iochaos.chaos-mesh.org/pg-primary-io-latency created +``` + +Soon after we created the chaos test, the database should be in `NotReady` state. The reason for this is, the client call to `Primary` pod is getting timed +out due of slow IO. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 20:37:24 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 21m + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 20m + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 5m55s +pod/sqlserver-ag-cluster-1 2/2 Running 0 5m52s +pod/sqlserver-ag-cluster-2 2/2 Running 0 5m49s +pod/pg-load-test-job-62l88 1/1 Running 0 2m10s + +``` + +Now we might observe some interesting behavior as the IO is not performing correctly. We might see frequent failovers and a possible split brain situation. However, this won't last long. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +sqlserver-ag-cluster-2 +saurov@saurov-pc:~ +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +sqlserver-ag-cluster-2 +saurov@saurov-pc:~ +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +sqlserver-ag-cluster-2 +saurov@saurov-pc:~ +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +sqlserver-ag-cluster-2 +saurov@saurov-pc:~ +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-2 +saurov@saurov-pc:~ +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +saurov@saurov-pc:~ +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +``` + +After some amount of time, we should see a stable primary, in our case which is `sqlserver-ag-cluster-0`. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 20:40:04 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 23m + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 23m + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 8m34s +pod/sqlserver-ag-cluster-1 2/2 Running 0 8m31s +pod/sqlserver-ag-cluster-2 2/2 Running 0 8m28s +pod/pg-load-test-job-62l88 1/1 Running 0 4m49s +``` + +Now, the database is in critical state. We will wait untill the chaos is recovered. + +```shell +➤ kubectl get iochaos -n chaos-mesh -oyaml +... + status: + conditions: + - status: "True" + type: Selected + - status: "False" + type: AllInjected + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + +``` +The chaos is recovered. Now the database should be in `Ready` state. But if anything goes terribly wrong because of slow IO, you might find a database in either `NotReady` and `Critical` state. In this case, contact with us. + + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Mon Apr 6 20:48:52 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 32m + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 32m + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 17m +pod/sqlserver-ag-cluster-1 2/2 Running 0 17m +pod/sqlserver-ag-cluster-2 2/2 Running 0 17m +pod/pg-load-test-job-62l88 0/1 Completed 0 13m + +``` + +So the database is transitioned into `Ready` state as soon as the chaos was recovered. + +```shell +Final Results: +================================================================= +Test Duration: 5m3s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 214087 (Reads: 171304, Inserts: 21358, Updates: 21425) + Total Number of Rows Reads: 17130400, Inserts: 2135800, Updates: 21425) + Total Errors: 15175 + Total Data Transferred: 20024.37 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 45.03 (Reads: 40.53/s, Inserts: 2.25/s, Updates: 2.25/s) + Throughput: 4.46 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 14.961ms, P95: 55.724ms, P99: 153.02ms + Inserts - Avg: 59.45ms, P95: 126.812ms, P99: 218.533ms + Updates - Avg: 27.391ms, P95: 90.496ms, P99: 180.472ms +----------------------------------------------------------------- +Connection Pool: + Active: 11, Max: 100, Available: 89 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 706.23 operations/sec + Read Operations: 171304 (565.10/sec avg) + Insert Operations: 21358 (70.46/sec avg) + Update Operations: 21425 (70.68/sec avg) + Error Rate: 6.6191% + Total Data Transferred: 19.56 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= + +================================================================= +Data Loss Report: +I0406 14:40:33.621876 1 load_generator_v2.go:555] Total records in table: 2185700 +I0406 14:40:33.621913 1 load_generator_v2.go:556] totalRows in LoadGenerator: 2185800 +----------------------------------------------------------------- + Total Records Inserted: 2185700 + Records Found in DB: 2185600 + Records Lost: 100 + Data Loss Percentage: 0.00% +================================================================= + +⚠️ WARNING: 100 records were inserted but not found in database! +This may indicate: + - Database crash/restart occurred during test + - pg_rewind was triggered due to network partition + - Transaction rollback due to replication issues +``` + +Total number of rows inserted 2135800, lost rows 100, so basically 1 batch insert query was lost. +**If you have not set force failover, this data loss won't be there**. + +> **NOTE**: The same chaos experiment is run again in the [`IO Chaos Tests Without Force Failover`](#io-chaos-tests-without-force-failover) section below without the `forceFailoverAcceptingDataLossAfter: 30s` API. In that case, no data loss was incurred. + + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/13-io-latency.yaml +iochaos.chaos-mesh.org "pg-primary-io-latency" deleted +``` + +### Chaos#13: IO Fault to primary + +In this experiment, chaos-mesh will insert io/fault. Our database should handle this chaos and remain in `Ready` or `Critical` state. +Once the chaos is recovered by chaos-mesh, the database should be back in `Ready` state. + +Save this yaml as `tests/14-io-fault.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: IOChaos +metadata: + name: pg-primary-io-fault + namespace: chaos-mesh +spec: + action: fault + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + volumePath: /var/pv + path: /var/pv/data/**/* + errno: 5 # EIO (Input/output error) + percent: 50 + duration: "5m" + containerNames: + - postgres +``` + +**What this chaos does:** Injects I/O errors (EIO) on 50% of disk operations to the primary pod, simulating disk hardware failures or filesystem corruption. + +Let's see how our database is now, + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:00:56 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 11h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 11h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 11h +pod/sqlserver-ag-cluster-1 2/2 Running 0 11h +pod/sqlserver-ag-cluster-2 2/2 Running 0 11h +pod/pg-load-test-job-62l88 0/1 Completed 0 11h +``` + +Let's see who is primary: + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +➤ kubectl exec -it -n demo sqlserver-ag-cluster-0 -- bash +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +sqlserver-ag-cluster-0:/$ psql +psql (16.4) +Type "help" for help. + +postgres=# select pg_is_in_recovery(); + pg_is_in_recovery +------------------- + f +(1 row) + +``` + +Lets now create the load generate job, + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Wait 15-20 second and then apply the io-fault yaml. + +```shell +➤ kubectl apply -f tests/14-io-fault.yaml +iochaos.chaos-mesh.org/pg-primary-io-fault created +``` + +keep watching the database and pods, + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:05:39 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 11h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 11h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 11h +pod/sqlserver-ag-cluster-1 2/2 Running 0 11h +pod/sqlserver-ag-cluster-2 2/2 Running 0 11h +pod/pg-load-test-job-pq4l6 1/1 Running 0 117s +``` + +After running for some time, the database went into critical state. Let's see if there is a failover. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-1 +➤ kubectl exec -it -n demo sqlserver-ag-cluster-1 -- bash +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +sqlserver-ag-cluster-1:/$ psql +psql (16.4) +Type "help" for help. + +postgres=# select pg_is_in_recovery(); + pg_is_in_recovery +------------------- + f +(1 row) + +``` + +There is a failover, and we can run queries on the new primary. Things are looking good so far. + +I will show you what happened to old primary due to i/o error. + +```shell +➤ kubectl logs -n demo sqlserver-ag-cluster-0 +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +... +2026-04-07 02:04:14.564 UTC [2813] LOG: all server processes terminated; reinitializing +2026-04-07 02:04:14.564 UTC [2813] LOG: could not open directory "base/pgsql_tmp": I/O error +2026-04-07 02:04:14.564 UTC [2813] LOG: could not open directory "base": I/O error +2026-04-07 02:04:14.564 UTC [2813] LOG: could not open directory "pg_tblspc": I/O error +2026-04-07 02:04:14.643 UTC [2813] PANIC: could not open file "global/pg_control": I/O error +/scripts/run.sh: line 61: 2813 Aborted (core dumped) /run_scripts/role/run.sh +removing the initial scripts as server is not running ... + +``` + +So as it wasn't able to operate cleanly and communicate with standby's, a new leader election happened and `sqlserver-ag-cluster-1` was promoted as primary. +As we saw earlier, we can run queries on `sqlserver-ag-cluster-1`, so our cluster is usable even in the time of chaos. + +Now wait until chaos is recovered. + +```shell +➤ kubectl get iochaos -n chaos-mesh pg-primary-io-fault -oyaml +... +status: + conditions: + - status: "False" + type: AllInjected + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + - status: "True" + type: Selected + +``` + +Chaos is recovered by chaos-mesh. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:11:28 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 11h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 11h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 11h +pod/sqlserver-ag-cluster-1 2/2 Running 0 11h +pod/sqlserver-ag-cluster-2 2/2 Running 0 11h +pod/pg-load-test-job-pq4l6 0/1 Completed 0 7m47s +``` + +Our database is transitioned back into `Ready` state. + +```shell +Final Results: + Total Data Transferred: 24419.35 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 1115.64 (Reads: 893.05/s, Inserts: 111.29/s, Updates: 111.29/s) + Throughput: 104.36 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 16.1ms, P95: 60.276ms, P99: 295.835ms + Inserts - Avg: 42.911ms, P95: 117.868ms, P99: 204.391ms + Updates - Avg: 18.051ms, P95: 65.577ms, P99: 131.106ms +----------------------------------------------------------------- +Connection Pool: + Active: 29, Max: 100, Available: 71 +================================================================= +================================================================= +Test Duration: 5m3s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 260920 (Reads: 208927, Inserts: 26033, Updates: 25960) + Total Number of Rows Reads: 20892700, Inserts: 2603300, Updates: 25960) + Total Errors: 242129 + Total Data Transferred: 24420.59 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 35.96 (Reads: 32.97/s, Inserts: 3.00/s, Updates: 0.00/s) + Throughput: 3.71 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 16.102ms, P95: 60.291ms, P99: 295.835ms + Inserts - Avg: 42.912ms, P95: 117.868ms, P99: 204.391ms + Updates - Avg: 18.051ms, P95: 65.577ms, P99: 131.106ms +----------------------------------------------------------------- +Connection Pool: + Active: 11, Max: 100, Available: 89 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 861.35 operations/sec + Read Operations: 208927 (689.71/sec avg) + Insert Operations: 26033 (85.94/sec avg) + Update Operations: 25960 (85.70/sec avg) + Error Rate: 48.1323% + Total Data Transferred: 23.85 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 2653300 + Records Found in DB: 2653300 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database +``` + +You can see the statistics here, 25 GB was inserted in 5 minutes with zero data loss even though we accepted data loss via `forceFailoverAcceptingDataLossAfter`. + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/14-io-fault.yaml +iochaos.chaos-mesh.org "pg-primary-io-fault" deleted +``` + +### Chaos#14: IO attribute overwrite + +In this experiment, i/o attributes will be overwritten. We expect our database to be available (`Ready` | `Critical`) during the chaos experiment. + +> Note: If you are not using `forceFailoverAcceptingDataLossAfter`, then you might see the database is in `NotReady` during the chaos. + +Save this yaml as `tests/15-io-attr-override.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: IOChaos +metadata: + name: pg-primary-io-attr-override + namespace: chaos-mesh +spec: + action: attrOverride + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + volumePath: /var/pv + path: /var/pv/data/**/* + attr: + perm: 444 # Read-only permissions + percent: 100 + duration: "4m" + containerNames: + - postgres + +``` + +**What this chaos does:** Overrides file permissions on data files to read-only (444), preventing write operations and forcing the database to encounter permission denied errors on all writes. + +Let's see how our database is now. +```shell +kubectl get pg,petset,pods -n demo +``` +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:32:42 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h + +``` + +Create the load generation job. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Apply the chaos experiment. + +```shell +➤ kubectl apply -f tests/15-io-attr-override.yaml +iochaos.chaos-mesh.org/pg-primary-io-attr-override created +``` + +Keep watching the database resources. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:33:45 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h +pod/pg-load-test-job-cgbgt 1/1 Running 0 72s +``` + +So the database went into `NotReady` state, which means the primary is not responsive. The reason might be that the database inside the primary pod is not running. + +Let's check this: + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-1 +``` + +Let's check the logs from unresponsive primary `sqlserver-ag-cluster-1`. + +```shell +➤ kubectl logs -f -n demo sqlserver-ag-cluster-1 +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +... +2026-04-07 02:33:20.552 UTC [237694] FATAL: the database system is in recovery mode +2026-04-07 02:33:20.553 UTC [2908] LOG: all server processes terminated; reinitializing +2026-04-07 02:33:20.553 UTC [2908] LOG: could not open directory "base/pgsql_tmp": Permission denied +2026-04-07 02:33:20.554 UTC [2908] LOG: could not open directory "base/4": Permission denied +2026-04-07 02:33:20.554 UTC [2908] LOG: could not open directory "base/5": Permission denied +2026-04-07 02:33:20.554 UTC [2908] LOG: could not open directory "base/1": Permission denied +2026-04-07 02:33:20.627 UTC [2908] PANIC: could not open file "global/pg_control": Permission denied +removing the initial scripts as server is not running ... +/scripts/run.sh: line 61: 2908 Aborted (core dumped) /run_scripts/role/run.sh + +``` + +So you can see primary is shut down for I/O chaos. A failover should happen soon. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:34:42 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h +pod/pg-load-test-job-cgbgt 1/1 Running 0 2m9s + +``` + +Our database now moved to `NotReady` -> `Critical` state. Let's see who is the new primary. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +----- +➤ kubectl exec -it -n demo sqlserver-ag-cluster-0 -- bash +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +sqlserver-ag-cluster-0:/$ psql +psql (16.4) +Type "help" for help. + +postgres=# select pg_is_in_recovery(); + pg_is_in_recovery +------------------- + f +(1 row) +---- +➤ kubectl logs -f -n demo sqlserver-ag-cluster-0 +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +... +2026-04-07 02:34:38.753 UTC [368446] LOG: checkpoint starting: wal +2026-04-07 02:35:09.342 UTC [368446] LOG: checkpoint complete: wrote 20389 buffers (31.1%); 0 WAL file(s) added, 0 removed, 21 recycled; write=29.948 s, sync=0.444 s, total=30.589 s; sync files=11, longest=0.351 s, average=0.041 s; distance=539515 kB, estimate=618146 kB; lsn=4/FACB3C48, redo lsn=4/DD03C9B0 +2026-04-07 02:35:12.932 UTC [368446] LOG: checkpoint starting: wal +2026-04-07 02:35:29.121 UTC [368446] LOG: checkpoint complete: wrote 22745 buffers (34.7%); 0 WAL file(s) added, 2 removed, 33 recycled; write=15.541 s, sync=0.535 s, total=16.190 s; sync files=12, longest=0.216 s, average=0.045 s; distance=540559 kB, estimate=610387 kB; lsn=5/1C15E728, redo lsn=4/FE0207D8 + +``` + +So database is back online again, however old primary has not yet joined in the cluster. We will wait until all the chaos recovered. + +```shell +➤ kubectl get iochaos -n chaos-mesh pg-primary-io-attr-override -oyaml +... +status: + conditions: + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + - status: "True" + type: Selected + - status: "False" + type: AllInjected +``` + +All the generated chaos has been recovered. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:38:52 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h +pod/pg-load-test-job-cgbgt 0/1 Completed 0 6m20s + +``` + +Database moved into `Ready` state. + +```shell +Final Results: +================================================================= +Test Duration: 5m3s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 248425 (Reads: 198683, Inserts: 24948, Updates: 24794) + Total Number of Rows Reads: 19868300, Inserts: 2494800, Updates: 24794) + Total Errors: 232435 + Total Data Transferred: 23243.14 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 48.77 (Reads: 36.58/s, Inserts: 4.88/s, Updates: 7.32/s) + Throughput: 4.34 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 16.922ms, P95: 52.069ms, P99: 317.142ms + Inserts - Avg: 44.849ms, P95: 130.692ms, P99: 211.022ms + Updates - Avg: 19.201ms, P95: 66.474ms, P99: 148.452ms +----------------------------------------------------------------- +Connection Pool: + Active: 25, Max: 100, Available: 75 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 820.04 operations/sec + Read Operations: 198683 (655.85/sec avg) + Insert Operations: 24948 (82.35/sec avg) + Update Operations: 24794 (81.84/sec avg) + Error Rate: 48.3374% + Total Data Transferred: 22.70 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= +================================================================= +Test Duration: 5m13s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 248425 (Reads: 198683, Inserts: 24948, Updates: 24794) + Total Number of Rows Reads: 19868300, Inserts: 2494800, Updates: 24794) + Total Errors: 232435 + Total Data Transferred: 23243.14 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 0.00 (Reads: 0.00/s, Inserts: 0.00/s, Updates: 0.00/s) + Throughput: 0.00 MB/s + Errors/sec: 0.00 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 16.922ms, P95: 52.069ms, P99: 317.142ms + Inserts - Avg: 44.849ms, P95: 130.692ms, P99: 211.022ms + Updates - Avg: 19.201ms, P95: 66.474ms, P99: 148.452ms +----------------------------------------------------------------- +Connection Pool: + Active: 14, Max: 100, Available: 86 +================================================================= + +I0407 02:37:53.535684 1 load_generator_v2.go:555] Total records in table: 2544800 +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 2544800 +I0407 02:37:53.535709 1 load_generator_v2.go:556] totalRows in LoadGenerator: 2544800 + Records Found in DB: 2544800 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database +``` + +We inserted around 23 GB in 5 minutes. No data loss detected. + +Clean up the chaos experiment. + +```shell +kubectl delete -f tests/15-io-attr-override.yaml +iochaos.chaos-mesh.org "pg-primary-io-attr-override" deleted +``` + +### Chaos#15: IO mistake + +In this experiment, chaos-mesh will insert IO mistakes. We expect the database to be in `Ready` state after the chaos is recovered. If you are using the `forceFailover` API, then your database will be up even when chaos is running, but this will increase the chance of some data loss (if some write operations are going on during the failover process). + +Just to remind you, we are using `forceFailoverAcceptingDataLossAfter` API for IO related chaos. + +Save this yaml as `tests/16-io-mistake.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: IOChaos +metadata: + name: pg-primary-io-mistake + namespace: chaos-mesh +spec: + action: mistake + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + volumePath: /var/pv + path: /var/pv/data/**/* + mistake: + filling: random + maxOccurrences: 10 + maxLength: 100 + percent: 50 + duration: "5m" + containerNames: + - postgres +``` + +**What this chaos does:** Randomly injects garbage data (random bytes) into file operations on 50% of disk writes, corrupting the data stored on disk. + +Let's check the database state. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:57:53 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h + +``` + +Running the load generation job. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Lets check the primary. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +saurov@saurov-pc:~ +➤ kubectl exec -it -n demo sqlserver-ag-cluster-0 -- bash +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +sqlserver-ag-cluster-0:/$ psql +psql (16.4) +Type "help" for help. + +postgres=# select pg_is_in_recovery(); + pg_is_in_recovery +------------------- + f +(1 row) +``` + +Lets apply the experiment. + +```shell +➤ kubectl apply -f tests/16-io-mistake.yaml +iochaos.chaos-mesh.org/pg-primary-io-mistake created +``` + +Keep watching the database. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 08:59:26 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h +pod/pg-load-test-job-b56q6 1/1 Running 0 75s + +``` + +Database went into NotReady state and should be back in `Critical` state as we used `forceFailoverAcceptingDataLossAfter` api. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:00:32 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h +pod/pg-load-test-job-b56q6 1/1 Running 0 2m21s + +``` + +The database is back in `Critical` state. + +```shell +➤ kubectl get iochaos -n chaos-mesh pg-primary-io-mistake -oyaml +status: + conditions: + - status: "True" + type: Selected + - status: "False" + type: AllInjected + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + +``` + +All the chaos recovered. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:04:55 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 12h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 12h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 12h +pod/sqlserver-ag-cluster-1 2/2 Running 0 12h +pod/sqlserver-ag-cluster-2 2/2 Running 0 12h +pod/pg-load-test-job-b56q6 0/1 Completed 0 6m44 +``` + +Database back in `Ready` state. + +```shell +... +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 2537700 +I0407 03:03:27.372254 1 load_generator_v2.go:556] totalRows in LoadGenerator: 2537700 + Records Found in DB: 2537700 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database +``` + +No data loss. + +Cleanup: + +```shell +➤ kubectl delete -f tests/16-io-mistake.yaml +iochaos.chaos-mesh.org "pg-primary-io-mistake" deleted +``` + + +### IO Chaos Tests Without Force Failover + +We have seen data losses in chaos tests with `forceFailoverAcceptingDataLossAfter: 30s` api, so we will now try the same chaos, +but without this api. + +Now save this yaml at `setup/sqlserver-ag-cluster.yaml` +```yaml +apiVersion: kubedb.com/v1 +kind: MSSQLServer +metadata: + name: sqlserver-ag-cluster + namespace: demo +spec: + clientAuthMode: md5 + deletionPolicy: Delete + podTemplate: + spec: + containers: + - name: postgres + resources: + limits: + memory: 3Gi + requests: + cpu: 2 + memory: 2Gi + replicas: 3 + replication: + walKeepSize: 3000 + walLimitPolicy: WALKeepSize + standbyMode: Hot + storage: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi + storageType: Durable + version: "16.4" +``` + +Now apply this yaml `kubectl apply -f setup/sqlserver-ag-cluster.yaml`. + +watch the resource coming up and db getting `Ready`. + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Wed Apr 8 10:15:14 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 68s + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 63s + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 63s +pod/sqlserver-ag-cluster-1 2/2 Running 0 56s +pod/sqlserver-ag-cluster-2 2/2 Running 0 48s + +``` + +lets see who is the primary. + +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-0 +----- +➤ kubectl exec -it -n demo sqlserver-ag-cluster-0 -- bash +Defaulted container "postgres" out of: postgres, pg-coordinator, postgres-init-container (init) +sqlserver-ag-cluster-0:/$ psql +psql (16.4) +Type "help" for help. + +postgres=# select pg_is_in_recovery(); + pg_is_in_recovery +------------------- + f +(1 row) + +``` + +lets run the load generate job. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Apply the io-latency chaos experiment. + +```shell +➤ kubectl apply -f tests/13-io-latency.yaml +iochaos.chaos-mesh.org/pg-primary-io-latency created +``` + +Now watch the database state. + +```shell +watch kubectl get pg,petset,pods -n demo +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Wed Apr 8 10:20:38 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 6m32s + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 6m27s + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 6m27s +pod/sqlserver-ag-cluster-1 2/2 Running 0 6m20s +pod/sqlserver-ag-cluster-2 2/2 Running 0 6m12s +pod/pg-load-test-job-p7vvw 1/1 Running 0 80s + +``` + +You should see your database is in `NotReady` state all the time. The reason behind that: +- Primary database is up and running, but as IO latency increased, new connection creation is getting timed out. +- All existing connections to the primary are working fine. +- Primary postgres process are working fine, that's why we are not doing a failover. +- So new connections during this test wasn't possible, and as we do not used force failover, no failover performed. + +```shell +status: + conditions: + - status: "True" + type: Selected + - status: "False" + type: AllInjected + - status: "True" + type: AllRecovered + - status: "False" + type: Paused + +``` + +Now the chaos is recovered and our database should eventually reach `Ready` state. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Wed Apr 8 10:33:12 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 19m + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 19m + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 53s +pod/sqlserver-ag-cluster-1 2/2 Running 0 18m +pod/sqlserver-ag-cluster-2 2/2 Running 0 18m +pod/pg-load-test-job-p7vvw 0/1 Completed 0 13m +``` + +The database reached in `Ready` state. + +```shell +Final Results: +================================================================= +Test Duration: 6m10s +----------------------------------------------------------------- +Cumulative Statistics: + Total Operations: 72980 (Reads: 58363, Inserts: 7250, Updates: 7367) + Total Number of Rows Reads: 5836300, Inserts: 725000, Updates: 7367) + Total Errors: 17 + Total Data Transferred: 6820.02 MB +----------------------------------------------------------------- +Current Throughput (interval): + Operations/sec: 0.00 (Reads: 0.00/s, Inserts: 0.00/s, Updates: 0.00/s) + Throughput: 0.00 MB/s + Errors/sec: 0.36 +----------------------------------------------------------------- +Latency Statistics: + Reads - Avg: 42.497ms, P95: 35.26ms, P99: 48.91ms + Inserts - Avg: 53.254ms, P95: 109.955ms, P99: 266.726ms + Updates - Avg: 93.204ms, P95: 91.333ms, P99: 260.728ms +----------------------------------------------------------------- +Connection Pool: + Active: 14, Max: 100, Available: 86 +================================================================= + +================================================================= +Performance Summary: + Average Throughput: 197.22 operations/sec + Read Operations: 58363 (157.72/sec avg) + Insert Operations: 7250 (19.59/sec avg) + Update Operations: 7367 (19.91/sec avg) + Error Rate: 0.0233% + Total Data Transferred: 6.66 GB +================================================================= + +================================================================= +Checking for Data Loss... +================================================================= +Error getting connection stats: failed to get current connections: pq: canceling statement due to user request +Error getting connection stats: failed to get max_connections: context deadline exceeded +I0408 04:30:19.253637 1 load_generator_v2.go:555] Total records in table: 775000 +I0408 04:30:19.253658 1 load_generator_v2.go:556] totalRows in LoadGenerator: 775000 + +================================================================= +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 775000 + Records Found in DB: 775000 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= + + No data loss detected - all inserted records are present in database + +``` + +From the load generate job, we can see there was less data inserted as database was unavailable. But more importantly, +**No data loss** was recorded. + +Similarly, you can try the other chaos also. You should find out no data loss for each io chaos cases. + +Cleanup: +```shell +➤ kubectl delete -f tests/13-io-latency.yaml +iochaos.chaos-mesh.org "pg-primary-io-latency" deleted +``` + +## Misc Chaos Tests + +### Chaos#16: Node Reboot | Stress CPU memory + +We will perform three experiments one after another here. We will not run load tests for some of these experiments. + +Save this yaml as `tests/17-node-reboot.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: PodChaos +metadata: + name: pg-cluster-all-pods-kill + namespace: chaos-mesh +spec: + action: pod-kill + mode: all + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + gracePeriod: 0 + duration: "30s" + +``` + +**What this chaos does:** Simultaneously kills all SQL Server pods in the cluster, simulating a complete node failure where all replicas restart at once. + +This is simulate a typical node failure scenario where all the pod restarted. + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:31:47 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 13h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 13h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 13h +pod/sqlserver-ag-cluster-1 2/2 Running 0 13h +pod/sqlserver-ag-cluster-2 2/2 Running 0 13h +``` + +Lets apply the experiment. + +```shell +kubectl apply -f tests/17-node-reboot.yaml +``` + + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:32:12 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 13h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 13h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 5s +pod/sqlserver-ag-cluster-1 2/2 Running 0 2s + +``` +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:32:24 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 NotReady 13h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 13h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 16s +pod/sqlserver-ag-cluster-1 2/2 Running 0 13s +pod/sqlserver-ag-cluster-2 2/2 Running 0 11s +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:32:33 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Critical 13h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 13h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 26s +pod/sqlserver-ag-cluster-1 2/2 Running 0 23s +pod/sqlserver-ag-cluster-2 2/2 Running 0 21s +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:32:40 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 13h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 13h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 32s +pod/sqlserver-ag-cluster-1 2/2 Running 0 29s +pod/sqlserver-ag-cluster-2 2/2 Running 0 27s + +``` + +So the database is back in ready state within 30s of applying the chaos. Now let's apply the next chaos which will stress CPU. + +Now lets try to stress the cpu. + +Save this yaml as `tests/18-stress-cpu-primary.yaml`: + +```yaml +apiVersion: chaos-mesh.org/v1alpha1 +kind: StressChaos +metadata: + name: pg-primary-cpu-stress + namespace: chaos-mesh +spec: + mode: one + selector: + namespaces: + - demo + labelSelectors: + "app.kubernetes.io/instance": "sqlserver-ag-cluster" + "kubedb.com/role": "primary" + stressors: + cpu: + workers: 2 + load: 90 + duration: "2m" + +``` + +**What this chaos does:** Stresses the CPU on the primary pod by running 2 CPU-intensive worker processes at 90% load, consuming system resources and potentially causing slowdowns and failover. + +But before running this, we will run the load test job. + +```shell +➤ ./run-k8s.sh +job.batch "pg-load-test-job" deleted +persistentvolumeclaim "pg-load-test-results" deleted +configmap/pg-load-test-config unchanged +job.batch/pg-load-test-job created +persistentvolumeclaim/pg-load-test-results created +``` + +Now lets apply the chaos experiment. + +```shell +➤ kubectl apply -f tests/18-stress-cpu-primary.yaml +stresschaos.chaos-mesh.org/pg-primary-cpu-stress created +``` +```shell +➤ kubectl get pods -n demo --show-labels | grep primary | awk '{ print $1}' +sqlserver-ag-cluster-1 + +``` + +Lets check the cpu usages: + +```shell +Every 2.0s: kubectl top pods --containers -n demo saurov-pc: Tue Apr 7 09:35:42 2026 + +POD NAME CPU(cores) MEMORY(bytes) +sqlserver-ag-cluster-0 pg-coordinator 29m 40Mi +sqlserver-ag-cluster-0 postgres 244m 621Mi +sqlserver-ag-cluster-1 pg-coordinator 15m 38Mi +sqlserver-ag-cluster-1 postgres 7060m 693Mi +sqlserver-ag-cluster-2 pg-coordinator 16m 38Mi +sqlserver-ag-cluster-2 postgres 217m 629Mi +pg-load-test-job-sfj6z load-test 1594m 216Mi + +``` + +```shell +watch kubectl top pods --containers -n demo +``` + +```shell +Every 2.0s: kubectl top pods --containers -n demo saurov-pc: Tue Apr 7 09:35:58 2026 + +POD NAME CPU(cores) MEMORY(bytes) +sqlserver-ag-cluster-0 pg-coordinator 29m 37Mi +sqlserver-ag-cluster-0 postgres 272m 633Mi +sqlserver-ag-cluster-1 pg-coordinator 15m 38Mi +sqlserver-ag-cluster-1 postgres 8509m 941Mi +sqlserver-ag-cluster-2 pg-coordinator 14m 39Mi +sqlserver-ag-cluster-2 postgres 241m 657Mi +pg-load-test-job-sfj6z load-test 1256m 272Mi + +``` + +Database remain in ready state as there was sufficient cpu left in the cluster. However, this test case will pass in every environment. + + +```shell +watch kubectl get pg,petset,pods -n demo +``` + +```shell +Every 2.0s: kubectl get pg,petset,pods -n demo saurov-pc: Tue Apr 7 09:36:31 2026 + +NAME VERSION STATUS AGE +postgres.kubedb.com/sqlserver-ag-cluster 16.4 Ready 13h + +NAME AGE +petset.apps.k8s.appscode.com/sqlserver-ag-cluster 13h + +NAME READY STATUS RESTARTS AGE +pod/sqlserver-ag-cluster-0 2/2 Running 0 4m24s +pod/sqlserver-ag-cluster-1 2/2 Running 0 4m21s +pod/sqlserver-ag-cluster-2 2/2 Running 0 4m19s +pod/pg-load-test-job-sfj6z 1/1 Running 0 113s +``` + + +```shell +Data Loss Report: +----------------------------------------------------------------- + Total Records Inserted: 3273100 + Records Found in DB: 3273100 + Records Lost: 0 + Data Loss Percentage: 0.00% +================================================================= +I0407 03:40:04.019990 1 load_generator_v2.go:555] Total records in table: 3273100 +I0407 03:40:04.020008 1 load_generator_v2.go:556] totalRows in LoadGenerator: 3273100 + + No data loss detected - all inserted records are present in database + +``` + +CleanUp: + +```shell +kubectl delete -f tests/17-node-reboot.yaml +podchaos.chaos-mesh.org "pg-cluster-all-pods-kill" deleted +kubectl delete -f tests/18-stress-cpu-primary.yaml +stresschaos.chaos-mesh.org "pg-primary-cpu-stress" deleted +``` + +## Chaos Testing Results Summary + +### Test Results Overview + +Below is a comprehensive summary of all chaos engineering experiments conducted on the KubeDB-managed SQL Server High-Availability cluster. Each metric shows results in two configurations: +- **With Force Failover**: Using `forceFailoverAcceptingDataLossAfter: 30s` +- **Without Force Failover**: Waiting for data consistency before failover + +> Note: You might see different results if you have tested under no read/write load. + +| # | Experiment | Failure Mode | Failover Time | Data Loss | Downtime | Notes | +|---|---|---|---|---|---|---| +| 1 | Kill Primary Pod | Pod termination | **With**: ~8s **Without**: ~8s | **With**: 0 / **Without**: 0 | **With**: Minimal / **Without**: Minimal | Immediate failover works in both cases | +| 2 | OOMKill Primary Pod | Memory exhaustion | **With**: ~3s / **Without**: ~3s | **With**: 0 / **Without**: 0 | **With**: Minimal / **Without**: Minimal | Rapid failover, 4.1M rows inserted | +| 3 | Kill SQLServer Process | Process crash | **With**: ~30s / **Without**: ~30s+ | **With**: 0 / **Without**: 0 | **With**: ~30s / **Without**: 40s | Blocks failover to prevent data loss in both cases | +| 4 | Primary Pod Failure | Network isolation | **With**: ~10s / **Without**: ~10s | **With**: 0 / **Without**: 0 | **With**: Minimal / **Without**: Minimal | Split-brain handled well | +| 5 | Network Partition | Complete isolation | **With**: ~30s / **Without**: ~30s+ | **With**: ⚠️ Possible / **Without**: ⚠️ Possible | **With**: Brief / **Without**: Extended | Split-brain scenario, data safety challenge in both | +| 6 | Bandwidth Limit (1 Mbps) | Slow network | **With**: No failover / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: 0s / **Without**: 0s | 2.3M rows inserted, high latency tolerated | +| 7 | Network Delay (500ms) | High latency | **With**: No failover / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: 0s / **Without**: 0s | 2.5M rows inserted, consistency maintained | +| 8 | Network Loss (100%) | Packet drop | **With**: No failover / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: 0s / **Without**: 0s | 2.3M rows inserted, no data loss | +| 9 | Network Duplicate (50%) | Redundant traffic | **With**: No failover / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: 0s / **Without**: 0s | 2.2M rows inserted, gracefully handled | +| 10 | Network Corruption (50%) | Corrupted packets | **With**: ~15s / **Without**: ~15s | **With**: 0 / **Without**: 0 | **With**: ~30s / **Without**: ~30s | 2.1M rows inserted, checksums fail | +| 11 | Time Offset & DNS Error | System time shift | **With**: No failover / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: 0s / **Without**: 0s | 2.0M rows inserted | +| 12 | IO Latency | Disk I/O delay | **With**: ~30s / **Without**: No failover | **With**: ⚠️ ~1 insert loss / **Without**: 0 | **With**: Brief / **Without**: Extended | Critical difference: force failover causes ~1 insert loss | +| 13 | IO Fault (50%) | I/O errors | **With**: ~30s / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: Brief / **Without**: Extended | 2.6M rows inserted, 25GB transferred | +| 14 | IO Attribute Override | Filesystem attr change | **With**: ~30s / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: Brief / **Without**: Extended | 2.5M rows inserted, 23GB transferred | +| 15 | IO Mistake | Random I/O faults | **With**: ~30s / **Without**: No failover | **With**: 0 / **Without**: 0 | **With**: Brief / **Without**: Extended | 2.5M rows inserted, 23GB transferred | +| 16 | Node Reboot (All Pods) | Complete node failure | **With**: ~30s / **Without**: ~30s+ | **With**: 0 / **Without**: 0 | **With**: Extended / **Without**: Extended | 3.2M rows inserted, full cluster restart | + +> Note: `Extended` means as long as the chaos runs. + +### Key Findings + +#### Replication Strategy Impact + +| Scenario | With Force Failover (30s) | Without Force Failover | Winner | +|---|---|---|---| +| **Availability** | High - immediate failover | Lower - waits for consistency | +| **Data Loss Risk** | Low-Medium | Zero Risk +| **IO Chaos Tests** | ⚠️ 1 insert lost (rare) | 0 insert lost | +| **Failover Time** | 30 seconds or less | Variable (extended if unsafe) | +| **Use Case** | High-availability priority | Data integrity priority | + +#### Chaos Test Categories + +**1. Pod-Level Failures (Chaos #1-4)** +- **Result**: Immediate failovers work well +- **Data Loss**: Zero in all cases +- **Downtime**: Minimal (< 30s recovery) +- **Best Practice**: Default configuration handles these excellently + +**2. Network Chaos (Chaos #5-11)** +- **Result**: Cluster remains stable without failover +- **Data Loss**: Zero in all cases (except network partition which forces split-brain) +- **Downtime**: Minimal to none (connections recover automatically) +- **Best Practice**: SQL Server's replication is resilient to network impairments + +**3. IO Chaos with Force Failover (Chaos #12-15, with `forceFailoverAcceptingDataLossAfter`)** +- **Result**: Cluster stays highly available +- **Data Loss**: Minimal (~1 insert in worst case = 0.004%) +- **Downtime**: Minimal (automatic failover keeps cluster up) +- **Trade-off**: Sacrifices tiny bit of data for high availability + +**4. IO Chaos Without Force Failover (Chaos #12-15, without `forceFailoverAcceptingDataLossAfter`)** +- **Result**: Database may enter NotReady state +- **Data Loss**: Zero across all tests +- **Downtime**: Extended (until chaos clears or manual intervention) +- **Trade-off**: Prioritizes data safety over availability + +### Replication Configuration Recommendations + +**Choose WITH `forceFailoverAcceptingDataLossAfter: 30s` if:** +- Your application requires high availability +- You can tolerate rare events of < 0.01% data loss +- Your database serves real-time or customer-facing services + +**Choose WITHOUT `forceFailoverAcceptingDataLossAfter` if:** +- Data integrity is fine, but not critical +- You can tolerate extended downtime during node failures +- Your database serves compliance-sensitive operations + +**Choose WITHOUT `streamingMode: Synchronous` if:** +- Data integrity is absolutely critical +- You want high availability +- Your database serves compliance-sensitive operations + +### Performance Metrics Summary in chaos cases + +| Metric | Average | Best | Worst | +|---|---|---|---| +| **Rows Inserted** | 2.3M | 4.1M | 0.7M | +| **Data Transferred** | 21.5 GB | 25 GB | 6.6 GB | +| **Failover Time** | ~20 seconds | ~3 seconds | 30+ seconds | +| **Data Loss (with Force Failover)** | < 0.01% | 0% | 0.004% | +| **Data Loss (without Force Failover)** | 0% | 0% | 0% | +| **Recovery Time** | < 1 minutes | ~30 seconds | ~5 minutes | + +> **Important Note**: All these metrics are taken during chaos experiment. Kubedb performs notably well in both chaos scenarios and normal scenarios. For example +> In normal scenarios where you kubernetes cluster is behaving normal, you should see a failover happening within `~5 seconds` without `any data loss` every time, and of course automatically. + +### Conclusion + +The KubeDB-managed SQL Server HA cluster demonstrates excellent resilience across all tested failure scenarios. + +The cluster achieves the balance between high availability and data consistency, allowing operators to choose their preferred trade-off based on business requirements. + +## What Next? + +Please try the latest release and give us your valuable feedback. + +* If you want to install KubeDB, please follow the installation instruction from [here](https://kubedb.com/docs/v2021.06.23/setup). + +* If you want to upgrade KubeDB from a previous version, please follow the upgrade instruction from [here](https://kubedb.com/docs/v2021.06.23/setup/upgrade/). + +## Support + +To speak with us, please leave a message on [our website](https://appscode.com/contact/). + +To receive product announcements, follow us on [Twitter](https://twitter.com/KubeDB). + +If you have found a bug with KubeDB or want to request for new features, please [file an issue](https://github.com/kubedb/project/issues/new). + + +--- \ No newline at end of file From 0444c9af75c7f6a0756b6dc81b8c8a8ef7bf06b5 Mon Sep 17 00:00:00 2001 From: Neaj Morshad Date: Fri, 17 Apr 2026 12:42:36 +0600 Subject: [PATCH 2/3] Update title Signed-off-by: Neaj Morshad --- content/post/chaos-testing-mssqlserver/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/chaos-testing-mssqlserver/index.md b/content/post/chaos-testing-mssqlserver/index.md index bb60c6ebc..8605e8c78 100644 --- a/content/post/chaos-testing-mssqlserver/index.md +++ b/content/post/chaos-testing-mssqlserver/index.md @@ -1,5 +1,5 @@ --- -title: 'Chaos Testing KubeDB SQL Server Availability Group Clusters with Chaos Mesh: Building Resilient Database Systems' +title: 'Building Resilient SQL Server Availability Group Clusters on KubeDB with Chaos Mesh' date: "2026-04-16" weight: 25 authors: From 3d65b7e039dd931986f4d6f2b7aa94381ab0a068 Mon Sep 17 00:00:00 2001 From: Neaj Morshad Date: Mon, 4 May 2026 19:48:51 +0600 Subject: [PATCH 3/3] Update date Signed-off-by: Neaj Morshad --- content/post/chaos-testing-mssqlserver/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/chaos-testing-mssqlserver/index.md b/content/post/chaos-testing-mssqlserver/index.md index 8605e8c78..0505af02c 100644 --- a/content/post/chaos-testing-mssqlserver/index.md +++ b/content/post/chaos-testing-mssqlserver/index.md @@ -1,6 +1,6 @@ --- title: 'Building Resilient SQL Server Availability Group Clusters on KubeDB with Chaos Mesh' -date: "2026-04-16" +date: "2026-05-10" weight: 25 authors: - Neaj Morshad

|dKA}^-KBU@J zmd#!%NZYkH$&@ExTi?NtlKnNsC7a6oI2A?h34j@gLqdL#Ocih;BtVDadp-MSL7hMY zF>_9qDh*M5N1O1{jgdqO8ZQSRZt80=a}t#yGmkN&qF+J4YIDIH1OLU>(o^p!&>XbE(v!7Uj>GYp+SDoPErR2WsC?Ug5?S_>o!8rKHBBd0OJu* z*A=x3xdl~e@YEkPU;)Lzk1=1{bnx`g<9o5%!rv3yJ+al@WI7haWHtauwM&Pw2UZ+r zVzY}>Jdy`H|JXPsP_6}M=_SanzJv;q|MZ@>2B$|9(~?O5-a;ZsxaY^6rqz@s{$^Fc zy8UIP{&Vbqt2Ke3-@Agte-4L!{0s$9feMH$fCQtWKx=CNjDSsKAt;~Fn}&CPIO%R2 z1HS{tLaM-S(&sN;;UGarRu4r7Xuk7+3DLF>}>;5Je| z5F7&R066PI(a;pw9)Ne3d~-kt;!;3E*aWl=3(}bf}?O`u1nhrNIyx$8d~16BTzAIbX9_a^>^W_r`~*`lU?JkN~@PS z9Ncy|;7an4Py348SFK?)hdg^sa>E0(o ze0gm*eWzB&eH5J=k>jCkYZ2x(YUTm54kla_Av9l%9JFJVoVFe^6 zOeGiEx1S`8#VmbZw|Q=dJ+zPgBl=@rf^K&1b-zCO*nzXfsn5L^KG#dTD!pTl`C8HM zJpTSrJ&nzbjLw`{%J7GfP42u>$-C4kE`GONmjJd`M#?bCgupnyv|9bI4(D>YL_5sm1vP1Plz%Hkt z+t#6{_x-yQ`ZG&vgOOVTAb+v<3P3oxt3AN@Tk;GoG8GpfDh7Lz1Z1}>@K{j@M7-03wX%MUcasaOr8)fcMoHK-`EsPPiiR{BzoTsF2-8+mDVKlp=w*8GzjMuhd|F zBvtgF0Vxb}rc{vH0(1?yy)E~;g@1h8e=^zHFOWz*DhOr2yHF7S2bM4iU>XiK%4Lxl zN%KFO-J?2*Tm?W2TPR81Ba=oznIoXhCB={#Q~k(uSFqY%0Da%N$0-J#`md_#giykK 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%0Dj>ImSVpK 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