list: do not cache errors

we must only "cache" queries that are already pending, and when they fail
remove from the map!