Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IllegalStateException: Future Not Started #113

Closed
benjchristensen opened this issue Feb 26, 2013 · 3 comments
Closed

IllegalStateException: Future Not Started #113

benjchristensen opened this issue Feb 26, 2013 · 3 comments
Labels
Milestone

Comments

@benjchristensen
Copy link
Contributor

Originally was issue #80 but that got hijacked by a HystrixCollapser issue that at first was thought to be related or the same but wasn't.


We are seeing this exception in logs. It suggests a concurrency bug.

It's a very small volume of errors - 1 or 2 per hour out of 10s of thousands of executions per instance - but it's concerning that it is happening at all.


Logging was added in pull request #81 to help identify the issue.

@benjchristensen
Copy link
Contributor Author

Example log output:

Caused by: java.lang.IllegalStateException: Future was not started.  Key: PlaylistGet  ActualFuture: null  Started: true  actualFutureExecuted: true  futureStarted: 0  isInterrupted: false  actualResponseReceived: 1  isCommandTimedOut: false  Events: [THREAD_POOL_REJECTED, FALLBACK_FAILURE]

Caused by: java.lang.IllegalStateException: Future was not started.  Key: QTGetQTVGenres  ActualFuture: null  Started: true  actualFutureExecuted: true  futureStarted: 0  isInterrupted: false  actualResponseReceived: 1  isCommandTimedOut: false  Events: [THREAD_POOL_REJECTED]

In the machine being monitored there was a small burst of each of these.

@benjchristensen
Copy link
Contributor Author

More examples from a machine in production. They are very rare but always seem to occur on THREAD_POOL_REJECTED.

Caused by: java.lang.IllegalStateException: Future was not started.  Key: ABTestGetAllocationMap  ActualFuture: null  Started: true  actualFutureExecuted: true  futureStarted: 0  isInterrupted: false  actualResponseReceived: 1  isCommandTimedOut: false  Events: [THREAD_POOL_REJECTED]

Caused by: java.lang.IllegalStateException: Future was not started.  Key: GPSGetGroups  ActualFuture: null  Started: true  actualFutureExecuted: true  futureStarted: 0  isInterrupted: false  actualResponseReceived: 1  isCommandTimedOut: false  Events: [THREAD_POOL_REJECTED, FALLBACK_FAILURE]

Caused by: java.lang.IllegalStateException: Future was not started.  Key: ABTestGetNonExplicitAllocationForTest  ActualFuture: null  Started: true  actualFutureExecuted: true  futureStarted: 0  isInterrupted: false  actualResponseReceived: 1  isCommandTimedOut: false  Events: [THREAD_POOL_REJECTED]

@benjchristensen
Copy link
Contributor Author

Fixed in previous pull request.

abersnaze pushed a commit to abersnaze/Hystrix that referenced this issue Nov 7, 2013
With the additional logging I was able to write a unit test that replicated the issue and fix it.
Rejected exceptions were not being handled correctly.

Netflix#113
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant