diff --git a/lib/circuit.js b/lib/circuit.js index 2d7945ba..c737297a 100644 --- a/lib/circuit.js +++ b/lib/circuit.js @@ -270,7 +270,7 @@ class CircuitBreaker extends EventEmitter { this.emit('cacheMiss'); } - if (this.opened && !this.pendingClose) { + if (!this.closed && !this.pendingClose) { /** * Emitted when the circuit breaker is open and failing fast * @event CircuitBreaker#reject @@ -432,7 +432,8 @@ function fail (circuit, err, args, latency) { const stats = circuit.stats; const errorRate = stats.failures / stats.fires * 100; if (errorRate > circuit.options.errorThresholdPercentage || - circuit.options.maxFailures >= stats.failures) { + circuit.options.maxFailures >= stats.failures || + circuit.halfOpen) { circuit.open(); } }