2021-07-09: Data warehouse replica failed recovery
Current Status
The Data warehouse replica failed to execute a complete recovery last night.
DEBUG: data.zfs: zpool0/pg_datasets/data12
DEBUG: snapshot.zfs: zpool0/pg_datasets/data12@datalytics.dailyx
DEBUG: clone.zfs: zpool0/pg_datasets/data12:datalytics.dailyx
DEBUG: clone.path: /var/opt/gitlab/postgresql/zlonk/data12:datalytics.dailyx
DEBUG: s.config.file: /var/opt/gitlab/postgresql/opt/zlonk/etc/postgresql/datalytics/postgresql.datalytics.dailyx.conf
DEBUG: t.config.file: /var/opt/gitlab/postgresql/zlonk/data12:datalytics.dailyx/postgresql.datalytics.dailyx.conf
DEBUG: t.log.file: /var/log/gitlab/postgresql/zlonk/datalytics/dailyx/postgresql.csv
+ TAKEOFF START on Thu Jul 8 23:15:01 UTC 2021
+ checkpoint patroni replica
CHECKPOINT
+ done
+ info: created snapshot zpool0/pg_datasets/data12@datalytics.dailyx
+ info: created clone zpool0/pg_datasets/data12:datalytics.dailyx from snapshot zpool0/pg_datasets/data12@datalytics.dailyx
+ deleted postmaster files
+ deleted configuration files
+ copied configuration file
waiting for server to start....2021-07-08 23:16:35.536 GMT [22088, 0]: [1-1] user=,db=,app=,client= LOG: starting PostgreSQL 12.7 (Ubuntu 12.7-1.pgdg16.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609, 64-bit
2021-07-08 23:16:35.536 GMT [22088, 0]: [2-1] user=,db=,app=,client= LOG: listening on IPv4 address "0.0.0.0", port 25432
2021-07-08 23:16:35.536 GMT [22088, 0]: [3-1] user=,db=,app=,client= LOG: listening on Unix socket "/var/opt/gitlab/postgresql/zlonk/data12:datalytics.dailyx/.s.PGSQL.25432"
.2021-07-08 23:16:37.441 GMT [22088, 0]: [4-1] user=,db=,app=,client= LOG: redirecting log output to logging collector process
2021-07-08 23:16:37.441 GMT [22088, 0]: [5-1] user=,db=,app=,client= HINT: Future log output will appear in directory "/var/log/gitlab/postgresql/zlonk/datalytics/dailyx".
done
server started
- Recovery in progress: sleeping 60 seconds for iteration 20
- Recovery in progress: sleeping 60 seconds for iteration 19
- Recovery in progress: sleeping 60 seconds for iteration 18
- Recovery in progress: sleeping 60 seconds for iteration 17
- Recovery in progress: sleeping 60 seconds for iteration 16
- Recovery in progress: sleeping 60 seconds for iteration 15
- Recovery in progress: sleeping 60 seconds for iteration 14
- Recovery in progress: sleeping 60 seconds for iteration 13
- Recovery in progress: sleeping 60 seconds for iteration 12
- Recovery in progress: sleeping 60 seconds for iteration 11
- Recovery in progress: sleeping 60 seconds for iteration 10
- Recovery in progress: sleeping 60 seconds for iteration 9
- Recovery in progress: sleeping 60 seconds for iteration 8
- Recovery in progress: sleeping 60 seconds for iteration 7
- Recovery in progress: sleeping 60 seconds for iteration 6
- Recovery in progress: sleeping 60 seconds for iteration 5
- Recovery in progress: sleeping 60 seconds for iteration 4
- Recovery in progress: sleeping 60 seconds for iteration 3
- Recovery in progress: sleeping 60 seconds for iteration 2
- Recovery in progress: sleeping 60 seconds for iteration 1
Database cluster state: in archive recovery
Time of latest checkpoint: Thu 08 Jul 2021 11:07:05 PM UTC
+ TAKEOFF COMPLETED on Thu Jul 8 23:36:37 UTC 2021
During the investigation, we noticed that the recovery process was "stuck" on a WAL file, even tho newer WAL files existed. We straced the recovery process, but there was no activity. The logs yielded no information on the cause.
We have observed this behavior in the past at least twice while bringing back replicas, with the same observations. At this point, we do not have a root cause.
Timeline
View recent production deployment and configuration events / gcp events (internal only)
All times UTC.
`YYYY-MM-DD` - `00:00` - ...Corrective Actions
Corrective actions should be put here as soon as an incident is mitigated, ensure that all corrective actions mentioned in the notes below are included.
Note: In some cases we need to redact information from public view. We only do this in a limited number of documented cases. This might include the summary, timeline or any other bits of information, laid out in out handbook page. Any of this confidential data will be in a linked issue, only visible internally. By default, all information we can share, will be public, in accordance to our transparency value.
Click to expand or collapse the Incident Review section.
Incident Review
Summary
- Service(s) affected:
- Team attribution:
- Time to detection:
- Minutes downtime or degradation:
Metrics
Customer Impact
-
Who was impacted by this incident? (i.e. external customers, internal customers)
- ...
-
What was the customer experience during the incident? (i.e. preventing them from doing X, incorrect display of Y, ...)
- ...
-
How many customers were affected?
- ...
-
If a precise customer impact number is unknown, what is the estimated impact (number and ratio of failed requests, amount of traffic drop, ...)?
- ...
What were the root causes?
- ...
Incident Response Analysis
-
How was the incident detected?
- ...
-
How could detection time be improved?
- ...
-
How was the root cause diagnosed?
- ...
-
How could time to diagnosis be improved?
- ...
-
How did we reach the point where we knew how to mitigate the impact?
- ...
-
How could time to mitigation be improved?
- ...
-
What went well?
- ...
Post Incident Analysis
-
Did we have other events in the past with the same root cause?
- ...
-
Do we have existing backlog items that would've prevented or greatly reduced the impact of this incident?
- ...
-
Was this incident triggered by a change (deployment of code or change to infrastructure)? If yes, link the issue.
- ...
Lessons Learned
- ...
Guidelines
Resources
- If the Situation Zoom room was utilised, recording will be automatically uploaded to Incident room Google Drive folder (private)