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

alternative fix: the query engine is broken on some JVM because it relies on stack trace elements #1579

Merged
merged 3 commits into from
Oct 10, 2017

Conversation

pvojtechovsky
Copy link
Collaborator

This is an alternative solution to #1578

@pvojtechovsky
Copy link
Collaborator Author

Now there is solution, which detects whether detection based on CCE works on current JVM.
If it works then future CCEs are avoided and client's CCEs are correctly rethrown.
If JVM is old or exotic, then it falls back to slow throwing of CCEs and to wrong ignoring of all exceptions.

@@ -552,4 +533,61 @@ protected void handleResult(Object result, Object input) {
nextStep.accept(result);
}
}

private static Integer indexOfCallerInStack = null;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove mutability?

private final static Integer indexOfCallerInStack = getIndexOfCallerInStackOfLambda();

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, done

@monperrus monperrus merged commit 8c61af5 into INRIA:master Oct 10, 2017
@monperrus
Copy link
Collaborator

thanks!

@pvojtechovsky pvojtechovsky deleted the fix-CCE-Detection branch September 1, 2018 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants