only call adapter.error() once when failFast=true