Pi-Hole-HA v3.12.14 Not Updating Secondary

I updated Pi-Hole-HA to v3.12.14, added the command to nodes.conf file in both systems so files are in /tmp/pihole-ha, and then issued the restart command to both systems.

Last night, under v3.12.13, I added a test entry to the local dns files on the primary system and the entry was propagated to secondary system.

Since updating to v3.12.14, on the primary system, I replaced the original test entry with a new entry. The secondary system still only has the original test entry.

Below is information from the primary and secondary: some directory listings, pihole-has logs, nodes.conf listings, and files with the pihole-ha-debug output.

Please let me know if additional information is required.

Butch

I can see /tmp-pihole-ha has been created on each system and here are the directory contents:

pi@Pihole1:/var/log $ ls -al /tmp/pihole-ha
total 47168
drwxr-xr-x 2 root root 80 Aug 27 18:07 .
drwxrwxrwt 12 root root 240 Aug 27 17:19 ..
-rw-r--r-- 1 root root 295 Aug 27 18:07 sync-manifest.json
-rw-r--r-- 1 root root 48292714 Aug 27 18:07 sync-payload.tar.gz
pi@Pihole1:/var/log $

pi@Pihole2:/tmp/pihole-ha$ ls -al
total 0
drwxr-xr-x 2 root root 40 Aug 27 18:10 .
drwxrwxrwt 12 root root 240 Aug 27 18:18 ..
pi@Pihole2:/tmp/pihole-ha$

I issued the command pihole-ha logs on both systems and here are the results:

Primary
pi@Pihole1:/var/log $ pihole-ha logs
Aug 24 21:50:53 Pihole1 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 24 21:50:53 Pihole1 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 24 21:50:53 Pihole1 pihole-ha[772]: 2026-08-24T21:50:53 [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 24 21:50:53 Pihole1 pihole-ha[800]: [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 24 21:50:53 Pihole1 pihole-ha[772]: 2026-08-24T21:50:53 [PRIMARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 24 21:50:53 Pihole1 pihole-ha[802]: [PRIMARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:18:15 Pihole1 systemd[1]: Stopping pihole-ha.service - Pi-hole HA Monitor...
Aug 27 17:18:15 Pihole1 systemd[1]: pihole-ha.service: Deactivated successfully.
Aug 27 17:18:15 Pihole1 systemd[1]: Stopped pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:18:15 Pihole1 systemd[1]: pihole-ha.service: Consumed 2h 49min 50.659s CPU time.
Aug 27 17:18:15 Pihole1 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:18:15 Pihole1 systemd[1]: Stopping pihole-ha-dash.service - Pi-hole HA Dashboard...
Aug 27 17:18:15 Pihole1 pihole-ha-dash[773]: 2026/08/27 17:18:15 socat[773] W exiting on signal 15
Aug 27 17:18:15 Pihole1 systemd[1]: pihole-ha-dash.service: Main process exited, code=exited, status=143/n/a
Aug 27 17:18:15 Pihole1 systemd[1]: pihole-ha-dash.service: Failed with result 'exit-code'.
Aug 27 17:18:15 Pihole1 systemd[1]: Stopped pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:18:15 Pihole1 systemd[1]: pihole-ha-dash.service: Consumed 2min 13.434s CPU time.
Aug 27 17:18:15 Pihole1 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:18:15 Pihole1 pihole-ha[1026923]: 2026-08-27T17:18:15 [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 27 17:18:15 Pihole1 pihole-ha[1026951]: [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 27 17:18:15 Pihole1 pihole-ha[1026923]: 2026-08-27T17:18:15 [PRIMARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:18:46 Pihole1 systemd[1]: Stopping pihole-ha.service - Pi-hole HA Monitor...
Aug 27 17:18:46 Pihole1 systemd[1]: pihole-ha.service: Deactivated successfully.
Aug 27 17:18:46 Pihole1 systemd[1]: Stopped pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:18:46 Pihole1 systemd[1]: pihole-ha.service: Consumed 1.212s CPU time.
Aug 27 17:18:46 Pihole1 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:18:46 Pihole1 pihole-ha-dash[1026939]: 2026/08/27 17:18:46 socat[1026939] W exiting on signal 15
Aug 27 17:18:46 Pihole1 systemd[1]: Stopping pihole-ha-dash.service - Pi-hole HA Dashboard...
Aug 27 17:18:46 Pihole1 systemd[1]: pihole-ha-dash.service: Main process exited, code=exited, status=143/n/a
Aug 27 17:18:46 Pihole1 systemd[1]: pihole-ha-dash.service: Failed with result 'exit-code'.
Aug 27 17:18:46 Pihole1 systemd[1]: Stopped pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:18:46 Pihole1 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:18:47 Pihole1 pihole-ha[1027053]: 2026-08-27T17:18:47 [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 27 17:18:47 Pihole1 pihole-ha[1027079]: [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 27 17:18:47 Pihole1 pihole-ha[1027053]: 2026-08-27T17:18:47 [PRIMARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:51:36 Pihole1 systemd[1]: Stopping pihole-ha.service - Pi-hole HA Monitor...
Aug 27 17:51:36 Pihole1 systemd[1]: pihole-ha.service: Deactivated successfully.
Aug 27 17:51:36 Pihole1 systemd[1]: Stopped pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:51:36 Pihole1 systemd[1]: pihole-ha.service: Consumed 1min 17.635s CPU time.
Aug 27 17:51:36 Pihole1 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:51:36 Pihole1 pihole-ha-dash[1027056]: 2026/08/27 17:51:36 socat[1027056] W exiting on signal 15
Aug 27 17:51:36 Pihole1 systemd[1]: Stopping pihole-ha-dash.service - Pi-hole HA Dashboard...
Aug 27 17:51:36 Pihole1 systemd[1]: pihole-ha-dash.service: Main process exited, code=exited, status=143/n/a
Aug 27 17:51:36 Pihole1 systemd[1]: pihole-ha-dash.service: Failed with result 'exit-code'.
Aug 27 17:51:36 Pihole1 systemd[1]: Stopped pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:51:36 Pihole1 systemd[1]: pihole-ha-dash.service: Consumed 1min 30.477s CPU time.
Aug 27 17:51:36 Pihole1 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:51:36 Pihole1 pihole-ha[1048246]: 2026-08-27T17:51:36 [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 27 17:51:36 Pihole1 pihole-ha[1048272]: [PRIMARY] [INFO] event=startup ip=192.168.1.3 priority=1 interval=10s activate_after=0 deactivate_after=3
Aug 27 17:51:36 Pihole1 pihole-ha[1048246]: 2026-08-27T17:51:36 [PRIMARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:51:36 Pihole1 pihole-ha[1048274]: [PRIMARY] [INFO] event=startup checks="ping dns:53 api dhcp"
pi@Pihole1:/var/log $

Secondary
pi@Pihole2:/tmp/pihole-ha$ pihole-ha logs
Aug 24 21:50:57 Pihole2 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 24 21:50:57 Pihole2 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 24 21:50:57 Pihole2 pihole-ha[772]: 2026-08-24T21:50:57 [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 24 21:50:57 Pihole2 pihole-ha[800]: [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 24 21:50:57 Pihole2 pihole-ha[772]: 2026-08-24T21:50:57 [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 24 21:50:57 Pihole2 pihole-ha[802]: [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:19:14 Pihole2 systemd[1]: Stopping pihole-ha.service - Pi-hole HA Monitor...
Aug 27 17:19:14 Pihole2 systemd[1]: pihole-ha.service: Deactivated successfully.
Aug 27 17:19:14 Pihole2 systemd[1]: Stopped pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:19:14 Pihole2 systemd[1]: pihole-ha.service: Consumed 2h 50min 16.755s CPU time.
Aug 27 17:19:14 Pihole2 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:19:14 Pihole2 pihole-ha-dash[773]: 2026/08/27 17:19:14 socat[773] W exiting on signal 15
Aug 27 17:19:14 Pihole2 systemd[1]: Stopping pihole-ha-dash.service - Pi-hole HA Dashboard...
Aug 27 17:19:14 Pihole2 systemd[1]: pihole-ha-dash.service: Main process exited, code=exited, status=143/n/a
Aug 27 17:19:14 Pihole2 systemd[1]: pihole-ha-dash.service: Failed with result 'exit-code'.
Aug 27 17:19:14 Pihole2 systemd[1]: Stopped pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:19:14 Pihole2 systemd[1]: pihole-ha-dash.service: Consumed 42.760s CPU time.
Aug 27 17:19:14 Pihole2 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:19:14 Pihole2 pihole-ha[1011663]: 2026-08-27T17:19:14 [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 27 17:19:14 Pihole2 pihole-ha[1011691]: [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 27 17:19:14 Pihole2 pihole-ha[1011663]: 2026-08-27T17:19:14 [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:19:14 Pihole2 pihole-ha[1011693]: [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:19:22 Pihole2 systemd[1]: Stopping pihole-ha.service - Pi-hole HA Monitor...
Aug 27 17:19:22 Pihole2 systemd[1]: pihole-ha.service: Deactivated successfully.
Aug 27 17:19:22 Pihole2 systemd[1]: Stopped pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:19:22 Pihole2 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 27 17:19:22 Pihole2 pihole-ha-dash[1011679]: 2026/08/27 17:19:22 socat[1011679] W exiting on signal 15
Aug 27 17:19:22 Pihole2 systemd[1]: Stopping pihole-ha-dash.service - Pi-hole HA Dashboard...
Aug 27 17:19:22 Pihole2 systemd[1]: pihole-ha-dash.service: Main process exited, code=exited, status=143/n/a
Aug 27 17:19:22 Pihole2 systemd[1]: pihole-ha-dash.service: Failed with result 'exit-code'.
Aug 27 17:19:22 Pihole2 systemd[1]: Stopped pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:19:22 Pihole2 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 17:19:23 Pihole2 pihole-ha[1011705]: 2026-08-27T17:19:23 [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 27 17:19:23 Pihole2 pihole-ha[1011730]: [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 27 17:19:23 Pihole2 pihole-ha[1011705]: 2026-08-27T17:19:23 [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 17:19:23 Pihole2 pihole-ha[1011732]: [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 18:19:02 Pihole2 systemd[1]: Stopping pihole-ha.service - Pi-hole HA Monitor...
Aug 27 18:19:02 Pihole2 systemd[1]: pihole-ha.service: Deactivated successfully.
Aug 27 18:19:02 Pihole2 systemd[1]: Stopped pihole-ha.service - Pi-hole HA Monitor.
Aug 27 18:19:02 Pihole2 systemd[1]: pihole-ha.service: Consumed 2min 26.515s CPU time.
Aug 27 18:19:02 Pihole2 systemd[1]: Started pihole-ha.service - Pi-hole HA Monitor.
Aug 27 18:19:03 Pihole2 systemd[1]: Stopping pihole-ha-dash.service - Pi-hole HA Dashboard...
Aug 27 18:19:03 Pihole2 pihole-ha-dash[1011707]: 2026/08/27 18:19:03 socat[1011707] W exiting on signal 15
Aug 27 18:19:03 Pihole2 systemd[1]: pihole-ha-dash.service: Main process exited, code=exited, status=143/n/a
Aug 27 18:19:03 Pihole2 systemd[1]: pihole-ha-dash.service: Failed with result 'exit-code'.
Aug 27 18:19:03 Pihole2 systemd[1]: Stopped pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 18:19:03 Pihole2 systemd[1]: pihole-ha-dash.service: Consumed 17.354s CPU time.
Aug 27 18:19:03 Pihole2 systemd[1]: Started pihole-ha-dash.service - Pi-hole HA Dashboard.
Aug 27 18:19:03 Pihole2 pihole-ha[1029484]: 2026-08-27T18:19:03 [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 27 18:19:03 Pihole2 pihole-ha[1029512]: [SECONDARY] [INFO] event=startup ip=192.168.1.4 priority=2 interval=10s activate_after=2 deactivate_after=3
Aug 27 18:19:03 Pihole2 pihole-ha[1029484]: 2026-08-27T18:19:03 [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
Aug 27 18:19:03 Pihole2 pihole-ha[1029514]: [SECONDARY] [INFO] event=startup checks="ping dns:53 api dhcp"
pi@Pihole2:/tmp/pihole-ha$

Here is nodes.conf:

Primary
pi@Pihole2:/tmp/pihole-ha$ cat /etc/pihole-ha/nodes.conf
CONFIG_VERSION=1
GATEWAY=192.168.1.1
VIP=
VIP_ENABLED=false
HA_ENABLED=true
DHCP_HA=false
PIN_DNS=true
SYNC_BLOB_DIR=/tmp/pihole-ha
HA_NODES=192.168.1.3,192.168.1.4
pi@Pihole2:/tmp/pihole-ha$
p
Secondary
pi@Pihole1:/var/log $ cat /etc/pihole-ha/nodes.conf
CONFIG_VERSION=1
GATEWAY=192.168.1.1
VIP=
VIP_ENABLED=false
HA_ENABLED=true
DHCP_HA=false
PIN_DNS=true
SYNC_BLOB_DIR=/tmp/pihole-ha
HA_NODES=192.168.1.3,192.168.1.4

pihole1.pihole-ha-debug.txt (18.9 KB)
pihole2.pihole-ha-debug.txt (20.4 KB)

Your sync is working. The problem is that every tool I gave you to check it with was reporting nonsense — two of those bugs I introduced in the last few releases (“it’s not you, its me”).

All fixed in v3.12.16:

One suggestion: consider putting SYNC_BLOB_DIR back to the default /var/lib/pihole-ha, or removing the line entirely. /tmp on Raspberry Pi OS is a memory disk, so pointing it there puts the 48 MB payload back into RAM — the exact thing that filled your memory and broke everything last time. /var/lib is real disk on your machine.

Secondary now updating with v3.12.16.

Thank you.

Butch