[ 
https://issues.apache.org/jira/browse/HBASE-26543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17454247#comment-17454247
 ] 

Sean Busbey commented on HBASE-26543:
-------------------------------------

also this broke passing arguments to IRB or leaving them around for a passed 
script to process.

e.g. in HBase 2.3 (NB {{-f}} is the IRB flag for "ignore ~/.irbrc") :

{code}
(base) sbusbey@Seans-MacBook-Pro hbase-2.3.7 % cat ~/.irbrc 
puts "reading from ~/.irbrc"
(base) sbusbey@Seans-MacBook-Pro hbase-2.3.7 % cat ../tmp/rely_on_argv.rb 
if ARGV.length > 0
  puts "Pulled out cli option for use in script: #{ARGV.shift}"
end
(base) sbusbey@Seans-MacBook-Pro hbase-2.3.7 % ./bin/hbase shell 
../tmp/rely_on_argv.rb foobar   
2021-12-06 15:47:34,946 WARN  [main] util.NativeCodeLoader: Unable to load 
native-hadoop library for your platform... using builtin-java classes where 
applicable
Pulled out cli option for use in script: foobar
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.3.7, r8b2f5141e900c851a2b351fccd54b13bcac5e2ed, Tue Oct 12 16:38:55 
UTC 2021
Took 0.0007 seconds                                                             
                                                                                
                                                                                
                                
reading from ~/.irbrc
hbase(main):001:0> exit
(base) sbusbey@Seans-MacBook-Pro hbase-2.3.7 % ./bin/hbase shell 
../tmp/rely_on_argv.rb foobar -f
2021-12-06 15:47:43,730 WARN  [main] util.NativeCodeLoader: Unable to load 
native-hadoop library for your platform... using builtin-java classes where 
applicable
Pulled out cli option for use in script: foobar
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.3.7, r8b2f5141e900c851a2b351fccd54b13bcac5e2ed, Tue Oct 12 16:38:55 
UTC 2021
Took 0.0007 seconds                                                             
                                                                                
                                                                                
                                
hbase(main):001:0> exit
(base) sbusbey@Seans-MacBook-Pro hbase-2.3.7 % 
{code}

now fails:

{code}
(base) sbusbey@Seans-MacBook-Pro hbase-3.0.0-alpha-2-SNAPSHOT % ./bin/hbase 
shell ../tmp/rely_on_argv.rb foobar   
2021-12-06T15:44:29,964 WARN  [main] util.NativeCodeLoader: Unable to load 
native-hadoop library for your platform... using builtin-java classes where 
applicable
reading from ~/.irbrc
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/book.html#shell
Version 3.0.0-alpha-2-SNAPSHOT, r39b8ce6139f2eeb7f0a8c94b6aafeac321464dc3, Sun 
Dec  5 03:13:11 CST 2021
Took 0.0011 seconds                                                             
                                                                                
                                                                                
                                
hbase:001:0> exit
(base) sbusbey@Seans-MacBook-Pro hbase-3.0.0-alpha-2-SNAPSHOT % ./bin/hbase 
shell ../tmp/rely_on_argv.rb foobar -f
classpath:/jar-bootstrap.rb: invalid option -- f
GetoptLong::InvalidOption: invalid option -- f
  set_error at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/getoptlong.rb:395
        get at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/getoptlong.rb:572
       each at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/getoptlong.rb:603
       loop at org/jruby/RubyKernel.java:1442
       each at 
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/getoptlong.rb:602
     <main> at classpath:/jar-bootstrap.rb:98
{code}

> HBase shell no longer properly parses several args
> --------------------------------------------------
>
>                 Key: HBASE-26543
>                 URL: https://issues.apache.org/jira/browse/HBASE-26543
>             Project: HBase
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 3.0.0-alpha-1, 2.5.0
>            Reporter: Sean Busbey
>            Assignee: Sean Busbey
>            Priority: Blocker
>             Fix For: 2.5.0, 3.0.0-alpha-2
>
>
> shell cli arg parsing is broken:
> * debug is eating a possible arg
> * -D handling is consuming part of ARGV without declaring it
> * non-interactive mode is eating a possible arg
> * top level definitions is eating a possible arg
> * script2run is being ignored entirely



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to