[
https://issues.apache.org/jira/browse/LENS-619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14636846#comment-14636846
]
Hudson commented on LENS-619:
-----------------------------
SUCCESS: Integrated in Lens-Commit #840 (See
[https://builds.apache.org/job/Lens-Commit/840/])
LENS-619: Applying Query Launching Constraints before allowing a query to be
launched (Also contains LENS-687 and LENS-688) (himanshugahlaut: rev
c879f991102f5f02c30c1f1cd428f4c603f2e0ec)
*
lens-server-api/src/main/java/org/apache/lens/server/api/driver/MinQueryCostSelector.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/IntersectingWaitingQueriesSelector.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/AbstractQueryContext.java
* lens-api/src/main/java/org/apache/lens/api/query/QueryStatus.java
*
lens-server/src/main/java/org/apache/lens/server/util/FairPriorityBlockingQueue.java
* lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/constraint/QueryLaunchingConstraint.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/UserSpecificWaitingQueriesSelectionPolicy.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/collect/DriverSpecificWaitingQueriesSelectionPolicy.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/cost/QueryCost.java
* lens-server-api/src/main/java/org/apache/lens/server/api/util/LensUtil.java
* src/site/apt/admin/jdbcdriver-config.apt
* lens-api/src/main/java/org/apache/lens/api/Addable.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/ThreadSafeQueryCollection.java
*
lens-server/src/test/java/org/apache/lens/server/query/constraint/TotalQueryCostCeilingConstraintFactoryTest.java
* lens-server/src/main/resources/lensserver-default.xml
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/collect/ImmutableQueryCollection.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/common/ConfigBasedObjectCreationFactory.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
* lens-server-api/pom.xml
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/collect/DriverSpecificWaitingQueriesSelectionPolicyFactory.java
*
lens-server/src/test/java/org/apache/lens/server/query/constraint/TotalQueryCostCeilingConstraintTest.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/DefaultQueryCollection.java
* lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/constraint/MaxConcurrentDriverQueriesConstraint.java
*
lens-server/src/test/java/org/apache/lens/server/query/collect/DefaultQueryCollectionTest.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/constraint/MaxConcurrentDriverQueriesConstraintFactory.java
* lens-server/src/test/resources/lens-site.xml
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/DriverSelectorQueryContext.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/collect/WaitingQueriesSelectionPolicy.java
*
lens-server/src/test/java/org/apache/lens/server/query/collect/IntersectingWaitingQueriesSelectorTest.java
*
lens-server/src/test/java/org/apache/lens/server/query/constraint/DefaultQueryLaunchingConstraintsCheckerTest.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/LensConfConstants.java
* lens-driver-hive/src/main/resources/hivedriver-default.xml
*
lens-server-api/src/test/java/org/apache/lens/server/api/driver/MockDriver.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/cost/FactPartitionBasedQueryCost.java
*
lens-server/src/test/java/org/apache/lens/server/query/collect/UserSpecificWaitingQueriesSelectionPolicyTest.java
* lens-client/src/main/java/org/apache/lens/client/LensStatement.java
*
lens-server-api/src/test/java/org/apache/lens/server/api/query/constraint/MaxConcurrentDriverQueriesConstraintTest.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/MutableQueryCollection.java
* lens-server/src/test/resources/log4j.properties
* lens-api/src/main/java/org/apache/lens/api/query/LensQuery.java
*
lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
* lens-driver-jdbc/src/main/resources/jdbcdriver-default.xml
* lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java
*
lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriverConfConstants.java
*
lens-server/src/main/java/org/apache/lens/server/metrics/MetricsServiceImpl.java
*
lens-server/src/main/java/org/apache/lens/server/query/constraint/TotalQueryCostCeilingConstraint.java
*
lens-server/src/main/java/org/apache/lens/server/query/constraint/QueryLaunchingConstraintsChecker.java
*
lens-server/src/test/java/org/apache/lens/server/query/collect/QueryCollectUtil.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/QueryCollection.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/UserSpecificWaitingQueriesSelectionPolicyFactory.java
*
lens-server-api/src/test/java/org/apache/lens/server/api/query/cost/TestFactPartitionBasedQueryCost.java
* lens-server/pom.xml
* lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/DefaultEstimatedQueryCollection.java
* lens-server/src/main/java/org/apache/lens/server/util/UtilityMethods.java
* src/site/apt/admin/config.apt
*
lens-server/src/main/java/org/apache/lens/server/query/constraint/TotalQueryCostCeilingConstraintFactory.java
* src/site/apt/admin/hivedriver-config.apt
*
lens-server-api/src/main/java/org/apache/lens/server/api/metrics/MetricsService.java
*
lens-server/src/test/java/org/apache/lens/server/query/collect/DefaultEstimatedQueryCollectionTest.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/WaitingQueriesSelector.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/collect/EstimatedImmutableQueryCollection.java
* lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/EstimatedQueryCollection.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryExecutionService.java
*
lens-server/src/test/java/org/apache/lens/server/query/collect/ThreadSafetyTest.java
*
lens-server/src/main/java/org/apache/lens/server/query/constraint/DefaultQueryLaunchingConstraintsChecker.java
*
lens-server-api/src/test/java/org/apache/lens/server/api/query/collect/DriverSpecificWaitingQueriesSelectionPolicyTest.java
*
lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
*
lens-server/src/main/java/org/apache/lens/server/query/collect/ThreadSafeEstimatedQueryCollection.java
> Applying Query Launching Constraints before allowing a query to be launched
> ---------------------------------------------------------------------------
>
> Key: LENS-619
> URL: https://issues.apache.org/jira/browse/LENS-619
> Project: Apache Lens
> Issue Type: New Feature
> Components: api, docs, driver-hive, driver-jdbc, server
> Reporter: Himanshu Gahlaut
> Assignee: Himanshu Gahlaut
> Fix For: 2.3
>
> Attachments: LENS-619.01.patch
>
>
> Lens will always accept a new query from a user and put it in a scheduling
> queue for processing.
> Next candidate query picked up from scheduling queue for processing will be
> launched only if all query constraints evaluated on candidate query and
> launched queries allows the candidate query to be launched, otherwise the
> candidate query will be added to waiting queries.
> When any launched query is finished, a waiting query selector will select
> waiting queries for rescheduling using a list of waiting queries selection
> policy. Every waiting query selection policy will return a list of eligible
> waiting queries to be rescheduled. Query Selector will calculate intersection
> of multiple list of eligible waiting queries and add the result of
> intersection to scheduling queue for reprocessing.
> At initialization, Query Constraints and Waiting Query Selection Policies
> will be configured using configuration values.
> New Query Constraints and Waiting Query Selection Policies can be added at
> runtime, without rebuilding and deploying lens module. Drivers should be
> allowed to add more Query Constraints and Waiting Queries Selection policies.
> Waiting Queries will be persisted across server restarts.
> Query Constraint 1: Allow a candidate query to be launched, only if,
> cumulative query cost of all current queries launched by the user, who
> submitted candidate query, is less than a cumulative query cost ceiling for
> launching a new query.
> Waiting Query Selection Policy 1: Select all waiting queries of the user
> whose query has finished.
> Query Constraint 2: Allow a candidate query to be launched, only if, current
> concurrent queries launched on the selected driver are less than max
> concurrent queries allowed on the driver.
> Waiting Query Selection Policy 2: Select all waiting queries of the driver
> whose query has finished.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)