Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.30.0
-
None
Description
CodeGenerationBenchmark will throw IllegalStateException because IClassBodyEvaluator has state and do not allow to be reused.
java.lang.IllegalStateException: Must only be called before "cook()"
at org.codehaus.janino.SimpleCompiler.assertUncooked(SimpleCompiler.java:482)
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:234)
at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:294)
at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:288)
at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:267)
at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:52)
at org.codehaus.janino.ClassBodyEvaluator.createInstance(ClassBodyEvaluator.java:428)
at org.apache.calcite.adapter.enumerable.CodeGenerationBenchmark.getBindableNoCache(CodeGenerationBenchmark.java:249)
at org.apache.calcite.adapter.enumerable.jmh_generated.CodeGenerationBenchmark_getBindableNoCache_jmhTest.getBindableNoCache_thrpt_jmhStub(CodeGenerationBenchmark_getBindableNoCache_jmhTest.java:122)
at org.apache.calcite.adapter.enumerable.jmh_generated.CodeGenerationBenchmark_getBindableNoCache_jmhTest.getBindableNoCache_Throughput(CodeGenerationBenchmark_getBindableNoCache_jmhTest.java:85)
Attachments
Issue Links
- links to