vasumathi sridharan created LANG-1333: -----------------------------------------
Summary: ThresholdCircuitBreaker checkState method contradicts javadoc/interface Key: LANG-1333 URL: https://issues.apache.org/jira/browse/LANG-1333 Project: Commons Lang Issue Type: Bug Components: lang.concurrent.* Affects Versions: 3.5 Environment: java 8 Reporter: vasumathi sridharan Priority: Minor The [ThresholdCircuitBreaker impl |https://github.com/apache/commons-lang/blob/master/src/main/java/org/apache/commons/lang3/concurrent/ThresholdCircuitBreaker.java] does not seem to comply with the interface. The [checkState | https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/concurrent/AbstractCircuitBreaker.html#checkState--] method should return whether the circuit is closed or not. However, it returns isOpen(). This contradicts what's given in the java doc example Example: ThresHoldCircuitBreaker breaker = new ThresholdCircuitBreaker(10L); breaker.incrementAndCheckState(9L) returns false meaning the circuit is closed and the requests should pass through. The checkState method should return true for below example in javadoc to be correct {code}/** public void handleRequest(Request request) { * long memoryUsed = estimateMemoryUsage(request); * if (breaker.incrementAndCheckState(memoryUsed)) { * // actually handle this request * } else { * // do something else, e.g. send an error code * } * } */{code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)