-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44171/
-----------------------------------------------------------

(Updated March 16, 2016, 10:15 a.m.)


Review request for lens.


Changes
-------

1. Created a dynamic proxy object for LensQuery
1.1 LensQuery Intreface has the user facing methods 
1.2 LensQueryDetails implements LensQuery interface ( this wcode was earlier in 
LensQuery.java)
1.3 In most places LensQuery interface used to access the query details execpt 
at rest end points that serailize or deserailize LensQuery and need to 
explicitly mention the concrete class for seraialization/deserailization to 
happen 
1.4 There are a lot of changes in test cases where we mentioned LensQuery.class 
as the entiity being deserialized. Its chnaged to LensQueryDetails.class
2. Removed queued() method from LensQuery. It did not belong here. 
getStatus().queued() should be used instead.
3. Updated the test case . Each method of proxy and actual checked for parity
4. Merged with master


Bugs: LENS_915
    https://issues.apache.org/jira/browse/LENS_915


Repository: lens


Description
-------

Incremental patch on top of LENS-964 (will re-submit once lens-964 is committed)
- - Updated cli query execution to use EXECUTE_WITH_TIMEOUT
- Added execute with timeout option to LensClient
- Default timeout value is 10 secs ( can be configured by client)


Diffs (updated)
-----

  lens-api/src/main/java/org/apache/lens/api/query/LensQuery.java e0ee761 
  lens-api/src/main/java/org/apache/lens/api/query/LensQueryDetails.java 
PRE-CREATION 
  lens-api/src/main/java/org/apache/lens/api/query/QueryHandle.java 88e4b0f 
  lens-api/src/main/java/org/apache/lens/api/query/QueryStatus.java 7a9ada1 
  lens-cli/src/main/java/org/apache/lens/cli/commands/BaseLensCommand.java 
be1ca12 
  
lens-cli/src/main/java/org/apache/lens/cli/commands/LensConnectionCommands.java 
b760dad 
  lens-cli/src/main/java/org/apache/lens/cli/commands/LensQueryCommands.java 
2c7b17f 
  lens-cli/src/main/java/org/apache/lens/cli/config/LensCliConfigConstants.java 
PRE-CREATION 
  lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java 616bf5d 
  lens-client/src/main/java/org/apache/lens/cleint/util/ProxyLensQuery.java 
PRE-CREATION 
  lens-client/src/main/java/org/apache/lens/client/LensClient.java ea0cd76 
  lens-client/src/main/java/org/apache/lens/client/LensConnection.java eeb473a 
  lens-client/src/main/java/org/apache/lens/client/LensStatement.java 33c26e1 
  lens-client/src/main/java/org/apache/lens/client/jdbc/LensJdbcStatement.java 
10f7155 
  lens-client/src/main/resources/lens-client-default.xml 35b2d28 
  lens-examples/src/main/java/org/apache/lens/examples/SampleQueries.java 
805a282 
  lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java e090e68 
  lens-ml-lib/src/main/java/org/apache/lens/rdd/LensRDDClient.java b4f43ec 
  
lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java
 96846c1 
  
lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java
 49ab241 
  
lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java
 a043550 
  
lens-server/src/main/java/org/apache/lens/server/ui/QueryServiceUIResource.java 
304dc8e 
  lens-server/src/test/java/org/apache/lens/server/LensServerTestUtil.java 
b651b79 
  lens-server/src/test/java/org/apache/lens/server/TestServerMode.java fce6e5f 
  lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java 
0f55d9e 
  lens-server/src/test/java/org/apache/lens/server/common/RestAPITestUtil.java 
0e39b52 
  lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java 
699fa68 
  
lens-server/src/test/java/org/apache/lens/server/query/TestResultFormatting.java
 f66f89d 
  src/site/apt/user/client-config.apt 714db18 

Diff: https://reviews.apache.org/r/44171/diff/


Testing
-------

1. Tested new test cases
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.lens.cli.TestLensQueryCommands
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 88.629 sec - in 
org.apache.lens.cli.TestLensQueryCommands

2. Tested CLI
lens-shell>set lens.query.enable.persistent.resultset.indriver=false
lens-shell>set lens.query.enable.persistent.resultset=true
Set param succeeded
lens-shell>cube select sample_dim.name, sample_dim2.name from sample_dim join 
sample_dim2 on sample_dim.d2id=sample_dim2.id ORDER BY sample_dim.name DESC
29 Feb 2016 13:08:58 [Spring Shell] INFO  cliLogger - Executing query with 
timeout of 10000 milliseconds
sample_dim.name    sample_dim2.name    
Result available in memory, attaching here: 

third    thirteen    
six    sixteen    
second    twelve    
fourth    fourteen    
first    eleven    
fifth    fifteen    
eight    eighteen    
7 rows processed in (8) seconds.
lens-shell>set lens.cli.query.execute.timeout.millis=1000
Client side Set lens.cli.query.execute.timeout.millis=1000
lens-shell>cube select sample_dim.name, sample_dim2.name from sample_dim join 
sample_dim2 on sample_dim.d2id=sample_dim2.id ORDER BY sample_dim.name DESC
29 Feb 2016 13:08:38 [Spring Shell] INFO  cliLogger - Executing query with 
timeout of 1000 milliseconds
29 Feb 2016 13:08:47 [Spring Shell] INFO  cliLogger - Couldn't complete query 
execution within timeout. Waiting for completion
29 Feb 2016 13:08:47 [Spring Shell] INFO  cliLogger - Query handle: 
b071a81f-eea3-4da2-a0fd-451623dc23af
29 Feb 2016 13:08:47 [Spring Shell] INFO  cliLogger - User query: 'cube select 
sample_dim.name, sample_dim2.name from sample_dim join sample_dim2 on 
sample_dim.d2id=sample_dim2.id ORDER BY sample_dim.name DESC' was submitted to 
hive/hive1
29 Feb 2016 13:08:47 [Spring Shell] INFO  cliLogger -  Driver query: 'SELECT ( 
sample_dim . name ), ( sample_dim2 . name ) FROM db2.local_dim_table sample_dim 
inner JOIN db2.local_dim_table2 sample_dim2 ON (( sample_dim . d2id ) = ( 
sample_dim2 . id )) AND ((sample_dim.dt = 'latest')) AND ((sample_dim2.dt = 
'latest')) ORDER BY sample_dim . name desc' and Driver handle: OperationHandle 
[opType=EXECUTE_STATEMENT, 
getHandleIdentifier()=58a8efb4-08cf-4e3e-a279-87125bec9444]
29 Feb 2016 13:08:47 [Spring Shell] INFO  cliLogger - Query Status:Progress: 1.0
Status: SUCCESSFUL
Status Message: Query is successful!
Is Result Set Available: true
 
sample_dim.name    sample_dim2.name    
Results of query stored at : 
file:/tmp/lensreports/b071a81f-eea3-4da2-a0fd-451623dc23af.csv  7 rows 
processed in (9) seconds.


lens-shell>set lens.query.enable.persistent.resultset.indriver=true
lens-shell>set lens.query.enable.persistent.resultset=true
lens-shell>cube select sample_dim.name, sample_dim2.name from sample_dim join 
sample_dim2 on sample_dim.d2id=sample_dim2.id ORDER BY sample_dim.name DESC
29 Feb 2016 13:06:37 [Spring Shell] INFO  cliLogger - Executing query with 
timeout of 10000 milliseconds
sample_dim.name    sample_dim2.name    
Results of query stored at : 
file:/tmp/lensreports/ce0bcc86-bbb2-4a1c-b457-3eac18ca7cfb.csv  7 rows 
processed in (8) seconds.
lens-shell>set lens.cli.query.execute.timeout.millis=1000
Client side Set lens.cli.query.execute.timeout.millis=1000
lens-shell>cube select sample_dim.name, sample_dim2.name from sample_dim join 
sample_dim2 on sample_dim.d2id=sample_dim2.id ORDER BY sample_dim.name DESC
29 Feb 2016 13:07:05 [Spring Shell] INFO  cliLogger - Executing query with 
timeout of 1000 milliseconds
29 Feb 2016 13:07:15 [Spring Shell] INFO  cliLogger - Couldn't complete query 
execution within timeout. Waiting for completion
29 Feb 2016 13:07:15 [Spring Shell] INFO  cliLogger - Query handle: 
1eb498e5-13c5-454f-a093-0fc08171d539
29 Feb 2016 13:07:15 [Spring Shell] INFO  cliLogger - User query: 'cube select 
sample_dim.name, sample_dim2.name from sample_dim join sample_dim2 on 
sample_dim.d2id=sample_dim2.id ORDER BY sample_dim.name DESC' was submitted to 
hive/hive1
29 Feb 2016 13:07:15 [Spring Shell] INFO  cliLogger -  Driver query: 'INSERT 
OVERWRITE DIRECTORY 
"file:/tmp/lensreports/hdfsout/1eb498e5-13c5-454f-a093-0fc08171d539"  SELECT ( 
sample_dim . name ), ( sample_dim2 . name ) FROM db2.local_dim_table sample_dim 
inner JOIN db2.local_dim_table2 sample_dim2 ON (( sample_dim . d2id ) = ( 
sample_dim2 . id )) AND ((sample_dim.dt = 'latest')) AND ((sample_dim2.dt = 
'latest')) ORDER BY sample_dim . name desc ' and Driver handle: OperationHandle 
[opType=EXECUTE_STATEMENT, 
getHandleIdentifier()=e28bb36f-7243-4568-8b2f-3dfbbf34e6cf]
sample_dim.name    sample_dim2.name    
Results of query stored at : 
file:/tmp/lensreports/1eb498e5-13c5-454f-a093-0fc08171d539.csv  7 rows 
processed in (9) seconds.


Thanks,

Puneet Gupta

Reply via email to