Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/984#discussion_r144147334 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/TopN/TopNBatch.java --- @@ -95,7 +91,9 @@ public TopNBatch(TopN popConfig, FragmentContext context, RecordBatch incoming) super(popConfig, context); this.incoming = incoming; this.config = popConfig; - batchPurgeThreshold = context.getConfig().getInt(ExecConstants.BATCH_PURGE_THRESHOLD); + DrillConfig drillConfig = context.getConfig(); + batchPurgeThreshold = drillConfig.getInt(ExecConstants.BATCH_PURGE_THRESHOLD); + codegenDump = drillConfig.getBoolean(CodeCompiler.ENABLE_SAVE_CODE_FOR_DEBUG); --- End diff -- Not sure we want to enable this in this way. This would globally enable all code to be dumped. In practice, we want to enable module by module depending on what we are debugging. I've been doing this the crude-but-effective way: just uncommenting the magic line of code. This usually works because I have to be in the debugger anyway to step through the code. But, if we wanted to be fancier, we could have config settings for each package. So, here, maybe you would enable `drill.debug.codegen.org.apache.drill.exec.physical.impl.TopN`. Or, we could be a bit lighter weight and just assign names: `drill.debug.codegen.TopN`. Because a typical run will generate zillions of files, reducing the number of saved files to those of interest will help to keep things tidy.
---