You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Edward Capriolo (JIRA)" <ji...@apache.org> on 2009/10/01 16:45:23 UTC
[jira] Created: (HIVE-862) CommandProcessor should return
DriverResponse
CommandProcessor should return DriverResponse
---------------------------------------------
Key: HIVE-862
URL: https://issues.apache.org/jira/browse/HIVE-862
Project: Hadoop Hive
Issue Type: New Feature
Components: Query Processor
Reporter: Edward Capriolo
Since Driver now returns DriverResponse CommandProcessor should return a similar object.
{noformat}
For reference here is how i want to use this:
Currently:
HWISessionItem.java
private List<Integer> queryRet;
private List<String> queries;
public void runQuery() {
//for each query in queries
if (instanceof driver) {
//other stuff here
queryRet.add( qp.run(cmd) );
} else {
queryRet.add(proc.run(cmd_1) );
}
}
So I would like to refactor and use DriverResponse.
private List<DriverResponse> queryRet;
private List<String> queries;
public void runQuery() {
//for each query in queries
if (instanceof driver) {
//other stuff here
queryRet.add( qp.run(cmd) ); //<--- this is fine
} else {
queryRet.add(proc.run(cmd_1) ); <--this returns an int.
}
}
{noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Carl Steinbach (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carl Steinbach updated HIVE-862:
--------------------------------
Release Note: (was: HIVE-862. CommandProcessor should return DriverResponse. (Bill Graham via zshao))
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Fix For: 0.6.0
>
> Attachments: HIVE-862.1.patch, HIVE-862.2.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Zheng Shao (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12829488#action_12829488 ]
Zheng Shao commented on HIVE-862:
---------------------------------
Patch has conflicts with trunk now.
Bill, can you regenerate the patch?
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Bill Graham (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Graham updated HIVE-862:
-----------------------------
Release Note: Refactored CommandProcessor interface and it's implementations to return CommandProcessorResponse object, instead of an int response code. This is a non-backward compatible change, but one that's necessary to better message clients.
Status: Patch Available (was: Open)
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Bill Graham (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Graham updated HIVE-862:
-----------------------------
Attachment: HIVE-862.2.patch
Sure, here's a new patch.
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch, HIVE-862.2.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Bill Graham (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761415#action_12761415 ]
Bill Graham commented on HIVE-862:
----------------------------------
I'll take this JIRA. To recap what was discussed on the list and what Edward and I discussed off-line, here's the proposed approach. Please comment if you think I should proceed differently:
1. We make a non-backward compatible change to the {{CommandProcessor}} interface, changing it's sole method from this:
{noformat}
public int run(String command);
{noformat}
to this:
{noformat}
public CommandProcessorResponse run(String command);
{noformat}
2. We create a new {{CommandProcessorResponse}} class that looks like the current {{Driver.DriverResponse}} class. It's a pojo with the following fields:
- int responseCode
- String errorMessage
- String SQLState
Note: my rational for removing {{DriverResponse}} in lieu of {{CommandProcessorResponse}} is to bind the response class name more closely with the common interface that uses it (i.e., {{CommandProcessor}}). If we instead used {{DriverResponse}} that would make sense for the {{Driver}} class, but not so much for the command processors.
3. {{Driver.DriverResponse}} will be removed, and {{Driver.run(command)}} will return an instance of {{CommandProcessorResponse}} instead. The {{runCommand}} method will be removed and {{HiveServer}} usage will be refactored to use {{Driver.run}}.
4. The 5 {{CommandProcessors}} that implement the {{run}} method will change to return a {{CommandProcessorResponse}} object. Callers of these classes will change to get the response status from the the {{CommandProcessorResponse}} object.
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Zheng Shao (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zheng Shao updated HIVE-862:
----------------------------
Resolution: Fixed
Fix Version/s: 0.6.0
Release Note: HIVE-862. CommandProcessor should return DriverResponse. (Bill Graham via zshao) (was: Refactored CommandProcessor interface and it's implementations to return CommandProcessorResponse object, instead of an int response code. This is a non-backward compatible change, but one that's necessary to better message clients.)
Hadoop Flags: [Reviewed]
Status: Resolved (was: Patch Available)
Committed. Thanks Bill!
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Fix For: 0.6.0
>
> Attachments: HIVE-862.1.patch, HIVE-862.2.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Bill Graham (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Graham updated HIVE-862:
-----------------------------
Attachment: HIVE-862.1.patch
Attaching HIVE-862.1.patch. Edward, please take a look and let me know what you think. If it looks good and seems to meet your needs I'll submit it.
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Zheng Shao (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zheng Shao updated HIVE-862:
----------------------------
Status: Open (was: Patch Available)
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Paul Yang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12830287#action_12830287 ]
Paul Yang commented on HIVE-862:
--------------------------------
Looks good. +1
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch, HIVE-862.2.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Edward Capriolo (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761974#action_12761974 ]
Edward Capriolo commented on HIVE-862:
--------------------------------------
This looks good to me.
I will follow up with 821 and change the hwi / classes and JSP.
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Bill Graham (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Graham updated HIVE-862:
-----------------------------
Status: Patch Available (was: Open)
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
> Attachments: HIVE-862.1.patch, HIVE-862.2.patch
>
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HIVE-862) CommandProcessor should return
DriverResponse
Posted by "Bill Graham (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Graham reassigned HIVE-862:
--------------------------------
Assignee: Bill Graham
> CommandProcessor should return DriverResponse
> ---------------------------------------------
>
> Key: HIVE-862
> URL: https://issues.apache.org/jira/browse/HIVE-862
> Project: Hadoop Hive
> Issue Type: New Feature
> Components: Query Processor
> Reporter: Edward Capriolo
> Assignee: Bill Graham
>
> Since Driver now returns DriverResponse CommandProcessor should return a similar object.
> {noformat}
> For reference here is how i want to use this:
> Currently:
> HWISessionItem.java
> private List<Integer> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) );
> } else {
> queryRet.add(proc.run(cmd_1) );
> }
> }
> So I would like to refactor and use DriverResponse.
> private List<DriverResponse> queryRet;
> private List<String> queries;
> public void runQuery() {
> //for each query in queries
>
> if (instanceof driver) {
> //other stuff here
> queryRet.add( qp.run(cmd) ); //<--- this is fine
> } else {
> queryRet.add(proc.run(cmd_1) ); <--this returns an int.
> }
> }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.