tez-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Draese (JIRA)" <j...@apache.org>
Subject [jira] [Created] (TEZ-4069) Avoid repeated computation of preferred locations in split grouping.
Date Fri, 17 May 2019 04:18:00 GMT
Oliver Draese created TEZ-4069:

             Summary: Avoid repeated computation of preferred locations in split grouping.
                 Key: TEZ-4069
                 URL: https://issues.apache.org/jira/browse/TEZ-4069
             Project: Apache Tez
          Issue Type: Improvement
    Affects Versions: 0.9.2
            Reporter: Oliver Draese

The TezSplitGrouper iterates through the list of splits multiple times, when trying to group
the splits (see getGroupedSplits). Each time, it asks the locationProvider to return the array
of preferred locations for the splits. This has two side effects:
 * generating the list of preferred locations can cause some CPU overhead (i.e. calculating
the consistent hash in HostAffinitySplitLocationProvider), which can be avoided
 * if the list of preferred location is changing between the different loops of getGroupedSplits,
we might encounter a NullPointerException. This happens if a new location appears, that was
not part of the initial set of locations when populating the distinctLocations map.

The getGroupedSplits should query the preferred locations only once (for each split) via
the location provider and then memorize these instead of asking the location provider repeatedly.




This message was sent by Atlassian JIRA

View raw message