> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > I ran into some problems compiling this patch. Please verify that it builds 
> > using the ant command 'ant clean package'.

I see. I added a dependency on commons-cli in hive common but didn't specify it 
explicitly. I've updated ivy dependencies for this.


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > common/src/java/org/apache/hadoop/hive/common/cli/HiveCli.java, line 42
> > <https://reviews.apache.org/r/958/diff/1/?file=21667#file21667line42>
> >
> >     The name of this class is likely to generate confusion. Maybe change it 
> > to CommonCliOpts, or something else?

done


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > common/src/java/org/apache/hadoop/hive/common/cli/HiveCli.java, line 29
> > <https://reviews.apache.org/r/958/diff/1/?file=21667#file21667line29>
> >
> >     The HiveMetaStore and HiveServer imports are unnecessary.

weird, "organize imports" adds this each time I run it, I removed it manually 
and it's fine.


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java, 
> > line 91
> > <https://reviews.apache.org/r/958/diff/1/?file=21668#file21668line91>
> >
> >     We should try to avoid making the metastore dependent on ql. There's 
> > already an open ticket (HIVE-850) that covers the task of moving 
> > SessionState to common. Looks like now may be a good time to do this.

I've refactored the log initialization code in order to allow reuse (moved into 
common). Took a look at doing more like 850, but it looks like that's going to 
be a much class to tease apart.


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > bin/ext/hiveserver.sh, line 31
> > <https://reviews.apache.org/r/958/diff/1/?file=21665#file21665line31>
> >
> >     Does this mean that $HIVE_PORT takes precedence over another port 
> > specified using the -p switch? If so then I think the reverse makes more 
> > sense.
> >     
> >     Also, in order to make the precedence explicit, I think it would be 
> > good to move this logic to the HiveCli class, e.g. explicitly call 
> > System.getenv("HIVE_PORT") from HiveCli.

excellent idea, I didn't think to move the check into the code. done.


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java, 
> > line 3347
> > <https://reviews.apache.org/r/958/diff/1/?file=21668#file21668line3347>
> >
> >     cli.processHiveConf() copies all of the -hiveconf properties into the 
> > list of SystemProperties, which I agree we want to do before initializing 
> > the logging system, but subsequently we need to make sure that these same 
> > key/val properties are are also registered as HiveConf values so that they 
> > have the opportunity to override values specified in hive-default.xml and 
> > hive-site.xml. A similar trick is done for the CLI via the OptionsProcessor 
> > process_stage1() and process_stage2() methods.

I've refactored a bit to allow this. It's tricky given that you need access to 
HiveConf, which is buried in a couple places. I like the way it's come out in 
general, however we can't push it into common (the shared cli code) given it 
would add a dependency on hiveconf.


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > service/src/java/org/apache/hadoop/hive/service/HiveServer.java, line 76
> > <https://reviews.apache.org/r/958/diff/1/?file=21669#file21669line76>
> >
> >     hive.metastore.server.[min|max].threads already exists. We should add 
> > similar properties for controlling the min/max number of threads for 
> > HiveServer.

Happy to do it - but would you mind adding a jira assigned to me? Would like to 
limit the scope creep on this one.


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > service/src/java/org/apache/hadoop/hive/service/HiveServer.java, line 612
> > <https://reviews.apache.org/r/958/diff/1/?file=21669#file21669line612>
> >
> >     Need to read the -hiveconf properties into the SessionState's HiveConf.

is this a bug in the existing code? -- in HiveServerHandler constructor, both 
the call to super and the constructor itself seem to be creating "new HiveConf" 
object. See how I've addressed this in the updated patch.


> On 2011-06-27 20:51:48, Carl Steinbach wrote:
> > service/src/java/org/apache/hadoop/hive/service/HiveServer.java, line 616
> > <https://reviews.apache.org/r/958/diff/1/?file=21669#file21669line616>
> >
> >     We should also set options.maxWorkerThreads. Looks like the default 
> > value for Thrift is Integer.MAX_VALUE.

added


- Patrick


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


On 2011-06-24 22:12:48, Patrick Hunt wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/958/
> -----------------------------------------------------------
> 
> (Updated 2011-06-24 22:12:48)
> 
> 
> Review request for hive and Carl Steinbach.
> 
> 
> Summary
> -------
> 
> This patch updates HiveServer and HiveMetastore to add proper cli handling - 
> similar to that used in CliDriver (ie GnuParser).
> 
> There's a common HiveCli class that's used by both main classes.
> 
> I've attempted to make the cli's backward compatible with the prior command 
> line processing. Notice I've "deprecated" (via warnings, but the code still 
> runs) if the old style CLI usage is used.
> 
> commands such as the following now work as expected:
> 
> bin/hive --service hiveserver -t 200 -p 12000 --hiveconf 
> hive.root.logger=DEBUG,console
> 
> as does the following which generates usage information:
> 
> bin/hive --service hiveserver -h
> 
> Note: HiveMetastore as not initializing log4j, I updated the code to do 
> similar to HiveServer (otw the hiveconf hive.root.logger option above didn't 
> work).
> 
> 
> This addresses bug HIVE-2139.
>     https://issues.apache.org/jira/browse/HIVE-2139
> 
> 
> Diffs
> -----
> 
>   bin/ext/hiveserver.sh b5edce4 
>   bin/ext/metastore.sh db15f6e 
>   common/src/java/org/apache/hadoop/hive/common/cli/HiveCli.java PRE-CREATION 
>   metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java 
> bc58bd5 
>   service/src/java/org/apache/hadoop/hive/service/HiveServer.java ea04be9 
> 
> Diff: https://reviews.apache.org/r/958/diff
> 
> 
> Testing
> -------
> 
> I couldn't find any tests for these changes, so I verfied the changes 
> manually.
> 
> 
> Thanks,
> 
> Patrick
> 
>

Reply via email to