aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar nharmata <nharmata@google.com>2018-08-08 07:58:21 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-08 08:00:00 -0700
commit10911f1a25040e8237b1b80971651e03279d8473 (patch)
treedb7d8e44bba317ae1da590204f2c42d3050203ad
parentba37ffed620a5711794566a5b0e497d1f8c4099b (diff)
Add a comment clarifying the soundness of not doing edge filtering during the DTC construction of the universe argument to 'rdeps'.
RELNOTES: None PiperOrigin-RevId: 207884395
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
index 0c759a8444..8918af1ea1 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
@@ -1208,6 +1208,9 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment<Target>
QueryExpressionContext<Target> context,
Callback<Target> callback) {
return transformAsync(
+ // Even if we need to do edge filtering, it's fine to construct the rdeps universe via an
+ // unfiltered DTC visitation; the subsequent rdeps visitation will perform the edge
+ // filtering.
getUnfilteredUniverseDTCSkyKeyPredicateFuture(universe, context),
unfilteredUniversePredicate -> ParallelSkyQueryUtils.getRdepsInUniverseUnboundedParallel(
this, expression, unfilteredUniversePredicate, context, callback, packageSemaphore));
@@ -1236,6 +1239,9 @@ public class SkyQueryEnvironment extends AbstractBlazeQueryEnvironment<Target>
QueryExpressionContext<Target> context,
Callback<Target> callback) {
return transformAsync(
+ // Even if we need to do edge filtering, it's fine to construct the rdeps universe via an
+ // unfiltered DTC visitation; the subsequent rdeps visitation will perform the edge
+ // filtering.
getUnfilteredUniverseDTCSkyKeyPredicateFuture(universe, context),
universePredicate -> ParallelSkyQueryUtils.getRdepsInUniverseBoundedParallel(
this, expression, depth, universePredicate, context, callback, packageSemaphore));