-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36393/
-----------------------------------------------------------
(Updated July 13, 2015, 9:48 a.m.)
Review request for lens.
Bugs: LENS-619
https://issues.apache.org/jira/browse/LENS-619
Repository: lens
Description (updated)
-------
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.
Diffs
-----
lens-api/src/main/java/org/apache/lens/api/Addable.java
5a556918afcdb8967deee84472cd7863aeafc4fc
lens-api/src/main/java/org/apache/lens/api/query/LensQuery.java
f594133e8a75603e5bb0c913d62ea189248cfa05
lens-api/src/main/java/org/apache/lens/api/query/QueryStatus.java
539f0b0b0804257fae6b7ec0af8f2f715175d597
lens-client/src/main/java/org/apache/lens/client/LensStatement.java
f7305fb288167cda088e263a62c77f264d779127
lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveDriver.java
e87ed23429d3172db86c17e4ec5e37e2e903374b
lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
0f2b7401b4057b3a93aa5a13066972bc1975142e
lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriverConfConstants.java
5abd040c46cc6a3b81c89ef9ccdfc70dc09c2fae
lens-driver-jdbc/src/main/resources/jdbcdriver-default.xml
99f6f205dfe6f1c16277ac6624106436df2b2b8f
lens-server-api/pom.xml 26ac76373f3c5c56d144d7f9baec43819c6efce7
lens-server-api/src/main/java/org/apache/lens/server/api/LensConfConstants.java
ad27d78e1839fa60df8f2429901b77221be71653
lens-server-api/src/main/java/org/apache/lens/server/api/common/ConfigBasedObjectCreationFactory.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/driver/LensDriver.java
b56c67ce6909a11b1cdec9f52427683f0b11dd41
lens-server-api/src/main/java/org/apache/lens/server/api/driver/MinQueryCostSelector.java
c3fe8eb142569c0b254f551c3cbd18502b6eac99
lens-server-api/src/main/java/org/apache/lens/server/api/metrics/MetricsService.java
71128b7d35e91fadf38a9c3926ce46d42369ead4
lens-server-api/src/main/java/org/apache/lens/server/api/query/AbstractQueryContext.java
0cccaef5abf391179b04bca0c0bbe799429f9065
lens-server-api/src/main/java/org/apache/lens/server/api/query/DriverSelectorQueryContext.java
3e7de173a4e3083ca3ac5fa95fd7cd09e7f028bb
lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java
6e7ab5dc1c78407a24e389c001ca3100563e3795
lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryAddedToWaitingQueries.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
d72727e7832d02ed2ea90379cd29c7a8e509a8f8
lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryExecutionService.java
5d7163f112d7c7115ebf8f012ba397bfee63adbc
lens-server-api/src/main/java/org/apache/lens/server/api/query/collect/EstimatedImmutableQueries.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/collect/ImmutableQueries.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/constraint/QueryConstraint.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/constraint/RestrictConcurrentDriverQueries.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/constraint/RestrictConcurrentDriverQueriesFactory.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/cost/FactPartitionBasedQueryCost.java
7fa5cdb55959a44b52a29884fd629c2479fdfb96
lens-server-api/src/main/java/org/apache/lens/server/api/query/cost/QueryCost.java
be7232134b59f7126edba569358389a9c26a5c74
lens-server-api/src/main/java/org/apache/lens/server/api/query/wait/SelectDriverSpecificWaitingQueries.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/wait/SelectDriverSpecificWaitingQueriesFactory.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/query/wait/WaitingQueriesSelectionPolicy.java
PRE-CREATION
lens-server-api/src/main/java/org/apache/lens/server/api/util/LensUtil.java
f9262994debe0b943123d13c58a22c10b2015e80
lens-server-api/src/test/java/org/apache/lens/server/api/driver/MockDriver.java
b52b08ad78a4c74c61376fb3c6bc6284f38b0de9
lens-server-api/src/test/java/org/apache/lens/server/api/query/constraint/RestrictConcurrentDriverQueriesTest.java
PRE-CREATION
lens-server-api/src/test/java/org/apache/lens/server/api/query/cost/TestFactPartitionBasedQueryCost.java
0ab0b0ec7c83c1eac8d61c8a30ecec5e9dc2e322
lens-server-api/src/test/java/org/apache/lens/server/api/query/wait/SelectDriverSpecificWaitingQueriesTest.java
PRE-CREATION
lens-server/pom.xml b85292cb21e6cd4681a1f6b2b7ee1367cd2dc60a
lens-server/src/main/java/org/apache/lens/server/metrics/MetricsServiceImpl.java
39f9f5216acf6e1be7cca6a0851152a78ba66176
lens-server/src/main/java/org/apache/lens/server/query/LensServerDAO.java
190435036c5cf8f009d7fbd536ef1743b70c22d9
lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
8a322027905edef9403c45fb13cb985e7e4a2f59
lens-server/src/main/java/org/apache/lens/server/query/collect/DefaultEstimatedQueries.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/collect/DefaultQueries.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/collect/EstimatedQueries.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/collect/MutableQueries.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/collect/ThreadSafeEstimatedQueries.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/collect/ThreadSafeQueries.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/constraint/DefaultQueryConstraintsChecker.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/constraint/QueryConstraintsChecker.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/constraint/RestrictTotalQueryCostPerUser.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/constraint/RestrictTotalQueryCostPerUserFactory.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/wait/IntersectingWaitingQueriesSelector.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/wait/SelectUserSpecificWaitingQueries.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/wait/SelectUserSpecificWaitingQueriesFactory.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/query/wait/WaitingQueriesSelector.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/util/FairPriorityBlockingQueue.java
PRE-CREATION
lens-server/src/main/java/org/apache/lens/server/util/UtilityMethods.java
715347fab82b5d9d4ad673c45e72900b9a95fc81
lens-server/src/main/resources/lensserver-default.xml
da00c0d2d94ef982646ad10f142165abe9125d3a
lens-server/src/test/java/org/apache/lens/server/query/collect/DefaultEstimatedQueriesTest.java
PRE-CREATION
lens-server/src/test/java/org/apache/lens/server/query/collect/DefaultQueriesTest.java
PRE-CREATION
lens-server/src/test/java/org/apache/lens/server/query/collect/QueryCollectUtil.java
PRE-CREATION
lens-server/src/test/java/org/apache/lens/server/query/collect/ThreadSafetyTest.java
PRE-CREATION
lens-server/src/test/java/org/apache/lens/server/query/constraint/DefaultQueryConstraintsCheckerTest.java
PRE-CREATION
lens-server/src/test/java/org/apache/lens/server/query/wait/IntersectingWaitingQueriesSelectorTest.java
PRE-CREATION
lens-server/src/test/java/org/apache/lens/server/query/wait/SelectUserSpecificWaitingQueriesTest.java
PRE-CREATION
lens-server/src/test/resources/lens-site.xml
3bcbf0e3e44d986a24c00cad84121be72596c64d
lens-server/src/test/resources/log4j.properties
e0f9daa62c7d88f5044803c5a0ce2ffb2ac9315b
Diff: https://reviews.apache.org/r/36393/diff/
Testing
-------
Thanks,
Himanshu Gahlaut