Are either the pgpool or postgresql logs telling you anything about this? Usually, at least I think so, PostgreSQL is responsible for removing the trigger file. I'll tell you, though, I haven't tried this type of scenario since PostgreSQL 9.3.6.
Im using postgres 9.4 with pgpool-II-94 and have streaming resplication setup between two db servers. When I fail the primary db, pgpool creates the /tmp/trigger_file, and the secondary server becomes the primary and is put in read/write mode. However, the trigger file doesnt get deleted. I am not sure where to debug why the trigger file doesnt get removed.
I have even tried using a recover_end_command to remove the trigger file, but that doesnt seem to happen.
my failover script for pgpool creates the trigger file, then set it to chmod 777 so that postgres user can remove it. pgpool runs as root, while postgres runs as postgres user.
Any ideas where to look on this issue of trigger file not being removed?