Github user jinfengni commented on a diff in the pull request: https://github.com/apache/drill/pull/156#discussion_r39465039 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/ParquetPartitionDescriptor.java --- @@ -125,4 +117,16 @@ private String getBaseTableLocation() { final FormatSelection origSelection = (FormatSelection) scanRel.getDrillTable().getSelection(); return origSelection.getSelection().selectionRoot; } + + @Override + protected void createPartitionSublists() { + Set<String> fileLocations = ((ParquetGroupScan) scanRel.getGroupScan()).getFileSet(); + List<PartitionLocation> locations = new LinkedList<>(); + for (String file: fileLocations) { + locations.add(new DFSPartitionLocation(MAX_NESTED_SUBDIRS, getBaseTableLocation(), file)); --- End diff -- Looks like we are still putting the file name including the directory name into heap memory, before break it into multiple sublists. In other words, this patch will reduce the direct memory footprint allocated for value vectors. But it does not address the heap memory issue caused by very long file names, right?
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---