I am on Zabbix 3.4.12 on Ubuntu 18.04. I'm troubleshooting SNMP with a bunch of devices, and after changing a host-level SNMP_COMMUNITY macro, zabbix appears to not respect the change even after restarting. For example, we changed the community on a copy machine to our custom one (in line with the global macro), then removed the host's overridden "public" macro value. Even after restarting the zabbix server, zabbix is trying to use "public" as the snmp community string. Here's what the GUI shows:

And here's what the debug logs show:
root@XXXX-ZABBIX-01:~# tail -f /var/log/zabbix/zabbix_server.log | grep "10.1.11.11"
130274:20180821:081625.053 In get_values_snmp() host:'1325-Front' addr:'10.1.11.11' num:1
130274:20180821:081625.054 SNMP [[email protected]:161]
130280:20180821:081635.909 getting SNMP values failed: Timeout while connecting to "10.1.11.11:161".
130280:20180821:081635.911 query [txnlev:1] [update hosts set snmp_available=2,snmp_error='Timeout while connecting to "10.1.11.11:161".',snmp_disable_until=15348646 55 where hostid=10485]
Snmpwalk works perfectly with the correct community string.
And here's what the debug logs show:
root@XXXX-ZABBIX-01:~# tail -f /var/log/zabbix/zabbix_server.log | grep "10.1.11.11"
130274:20180821:081625.053 In get_values_snmp() host:'1325-Front' addr:'10.1.11.11' num:1
130274:20180821:081625.054 SNMP [[email protected]:161]
130280:20180821:081635.909 getting SNMP values failed: Timeout while connecting to "10.1.11.11:161".
130280:20180821:081635.911 query [txnlev:1] [update hosts set snmp_available=2,snmp_error='Timeout while connecting to "10.1.11.11:161".',snmp_disable_until=15348646 55 where hostid=10485]
Snmpwalk works perfectly with the correct community string.