Github user hyunsik commented on a diff in the pull request:
https://github.com/apache/tajo/pull/193#discussion_r18605091
--- Diff:
tajo-core/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java
---
@@ -388,12 +392,35 @@ private static void
scheduleSymmetricRepartitionJoin(QueryMasterTask.QueryMaster
int joinTaskNum = Math.min(maxTaskNum, hashEntries.size());
LOG.info("The determined number of join tasks is " + joinTaskNum);
- FileFragment[] rightFragments = new FileFragment[1 +
(broadcastFragments == null ? 0 : broadcastFragments.length)];
- rightFragments[0] = fragments[1];
+ List<FileFragment> rightFragments = new ArrayList<FileFragment>();
+ rightFragments.add(fragments[1]);
+
if (broadcastFragments != null) {
- System.arraycopy(broadcastFragments, 0, rightFragments, 1,
broadcastFragments.length);
+ //In this phase a ScanNode has a single fragment.
+ //If there are more than one data files, that files should be added
to fragments or partition path
+ AbstractStorageManager storageManager = subQuery.getStorageManager();
+ int index = 0;
+ for (FileFragment eachFragment: broadcastFragments) {
--- End diff --
We already ensure that each broadcastFragments will must have its
corresponding element in broadcastScan array. Nevertheless, what
```eachFragment``` variable is not used in the for-loop block seems to not be
intuitive. Could you replace it by the loop using broadcastScans?
---
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 [email protected] or file a JIRA ticket
with INFRA.
---