From f37750ab476e7ee535315d090bf48351e8cc74aa Mon Sep 17 00:00:00 2001 From: Nathan Harmata Date: Wed, 7 Sep 2016 14:58:14 +0000 Subject: A bunch of small changes to prepare SkyQueryEnvironment for full-parallel evaluation: -Rename QueryExpression#evalConcurrently to QueryExpression#parEval. (parallelism is not concurrency! See https://existentialtype.wordpress.com/2011/03/17/parallelism-is-not-concurrency/) -Have SkyQueryEnvironment#eval (used recursively in #evaluateQuery) dynamically call QueryExpression#parEval when appropriate. -Delete QueryExpression#canEvalConcurrently. -Add ThreadSafety annotations in a bunch of relevant places in the query codebase. -A bunch of testing infrastructure to test parallel query evaluation. -TODOs for implementing parallel evaluation of all QueryExpression nodes. -- MOS_MIGRATED_REVID=132436340 --- .../java/com/google/devtools/build/lib/rules/genquery/GenQuery.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/main/java/com/google/devtools/build/lib/rules/genquery') diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java index 2a336da0bf..849238a44a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java +++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java @@ -55,6 +55,7 @@ import com.google.devtools.build.lib.query2.engine.DigraphQueryEvalResult; import com.google.devtools.build.lib.query2.engine.QueryEnvironment.QueryFunction; import com.google.devtools.build.lib.query2.engine.QueryEnvironment.Setting; import com.google.devtools.build.lib.query2.engine.QueryException; +import com.google.devtools.build.lib.query2.engine.QueryExpressionEvalListener; import com.google.devtools.build.lib.query2.engine.QueryUtil.AggregateAllCallback; import com.google.devtools.build.lib.query2.engine.SkyframeRestartQueryException; import com.google.devtools.build.lib.query2.output.OutputFormatter; @@ -295,6 +296,7 @@ public class GenQuery implements RuleConfiguredTargetFactory { getEventHandler(ruleContext), settings, ImmutableList.of(), + QueryExpressionEvalListener.NullListener.instance(), /*packagePath=*/null); queryResult = (DigraphQueryEvalResult) queryEnvironment.evaluateQuery(query, targets); } catch (SkyframeRestartQueryException e) { -- cgit v1.2.3