When ZMQ is enabled between fpmsyncd to orchagent, APPL_DB is being written to twice: once by fpmsyncd and once by orchagent. The orchagent write is redundant because it is writing the same thing as fpmsyncd. This is happening because ZMQConsumerStateTable was initialized with dbPersistence = true. Please see the orchagent flame graph below, which contains AsyncDBUpdater, which is making asynchronous writes to APPL_DB.
Flame graph of orchagent:

When ZMQ is enabled between fpmsyncd to orchagent, APPL_DB is being written to twice: once by fpmsyncd and once by orchagent. The orchagent write is redundant because it is writing the same thing as fpmsyncd. This is happening because ZMQConsumerStateTable was initialized with dbPersistence = true. Please see the orchagent flame graph below, which contains AsyncDBUpdater, which is making asynchronous writes to APPL_DB.
Flame graph of orchagent:
