You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ja...@apache.org on 2015/03/26 18:51:10 UTC
[4/9] drill git commit: DRILL-2537: Set a maximum source code size of
2mb for scalar replacement.
DRILL-2537: Set a maximum source code size of 2mb for scalar replacement.
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/c07e16f8
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/c07e16f8
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/c07e16f8
Branch: refs/heads/master
Commit: c07e16f89b5889778dacd153db1666a4d0136a8f
Parents: 50ad974
Author: Jacques Nadeau <ja...@apache.org>
Authored: Tue Mar 24 10:46:43 2015 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Thu Mar 26 09:58:35 2015 -0700
----------------------------------------------------------------------
.../java/org/apache/drill/exec/compile/ClassTransformer.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/c07e16f8/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java
index d4d74dd..3c93599 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/compile/ClassTransformer.java
@@ -42,6 +42,8 @@ import com.google.common.collect.Sets;
public class ClassTransformer {
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ClassTransformer.class);
+ private static final int MAX_SCALAR_REPLACE_CODE_SIZE = 2*1024*1024; // 2meg
+
private final ByteCodeLoader byteCodeLoader = new ByteCodeLoader();
private final OptionManager optionManager;
@@ -257,7 +259,7 @@ public class ClassTransformer {
* we're using TRY.
*/
MergedClassResult result = null;
- boolean scalarReplace = scalarReplacementOption != ScalarReplacementOption.OFF;
+ boolean scalarReplace = scalarReplacementOption != ScalarReplacementOption.OFF && entireClass.length() < MAX_SCALAR_REPLACE_CODE_SIZE;
while(true) {
try {
result = MergeAdapter.getMergedClass(nextSet, precompiledBytes, generatedNode, scalarReplace);