This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new e7150d6 Tweak parallel querying of GINQ further
e7150d6 is described below
commit e7150d64c9dfb080db666096cc09c3134cc7d558
Author: Daniel Sun <[email protected]>
AuthorDate: Sun Jul 18 18:01:53 2021 +0800
Tweak parallel querying of GINQ further
---
.../groovy/ginq/provider/collection/GinqAstWalker.groovy | 5 +----
.../ginq/provider/collection/runtime/QueryableHelper.groovy | 10 ++++------
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git
a/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/GinqAstWalker.groovy
b/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/GinqAstWalker.groovy
index bb0739f..819f979 100644
---
a/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/GinqAstWalker.groovy
+++
b/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/GinqAstWalker.groovy
@@ -214,10 +214,7 @@ class GinqAstWalker implements GinqAstVisitor<Expression>,
SyntaxErrorReportable
def resultLambda = lambdaX(block(statementList as Statement[]))
def result = parallelEnabled
- ? callX(
- callX(QUERYABLE_HELPER_TYPE, 'submit',
args(resultLambda)),
- "get"
- )
+ ? callX(callX(QUERYABLE_HELPER_TYPE, 'submit',
args(resultLambda)), "get")
: callX(resultLambda, "call")
ginqExpressionStack.pop()
diff --git
a/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/runtime/QueryableHelper.groovy
b/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/runtime/QueryableHelper.groovy
index dab108b..bcf2958 100644
---
a/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/runtime/QueryableHelper.groovy
+++
b/subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/provider/collection/runtime/QueryableHelper.groovy
@@ -31,7 +31,6 @@ import java.util.function.Function
import java.util.function.Supplier
import java.util.stream.Collectors
-import static groovy.lang.Tuple.tuple
import static org.apache.groovy.ginq.provider.collection.runtime.Queryable.from
/**
* Helper for {@link Queryable}
@@ -111,9 +110,8 @@ class QueryableHelper {
* Shutdown to release resources
*
* @param mode 0: immediate, 1: abort
- * @return list of tasks that never commenced execution
*/
- static Tuple2<List<Runnable>, List<Runnable>> shutdown(int mode) {
+ static void shutdown(int mode) {
if (0 == mode) {
ThreadPoolHolder.FORKJOIN_POOL.shutdown()
ThreadPoolHolder.THREAD_POOL.shutdown()
@@ -124,15 +122,15 @@ class QueryableHelper {
while (!ThreadPoolHolder.THREAD_POOL.awaitTermination(250,
TimeUnit.MILLISECONDS)) {
// do nothing, just wait to terminate
}
- return tuple(Collections.emptyList(), Collections.emptyList())
} else if (1 == mode) {
- return tuple(ThreadPoolHolder.FORKJOIN_POOL.shutdownNow(),
ThreadPoolHolder.THREAD_POOL.shutdownNow())
+ ThreadPoolHolder.FORKJOIN_POOL.shutdownNow()
+ ThreadPoolHolder.THREAD_POOL.shutdownNow()
} else {
throw new IllegalArgumentException("Invalid mode: $mode")
}
}
- private static final ThreadLocal<Map<String, Object>> VAR_HOLDER =
ThreadLocal.<Map<String, Object>> withInitial(() -> new LinkedHashMap<>())
+ private static final ThreadLocal<Map<String, Object>> VAR_HOLDER =
InheritableThreadLocal.<Map<String, Object>> withInitial(() -> new
LinkedHashMap<>())
private static final String PARALLEL = "parallel"
private static final String TRUE_STR = "true"