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

Andrew Kyle Purtell edited comment on HBASE-28864 at 9/23/24 4:53 PM:
----------------------------------------------------------------------

Locally, we are using the same versions as branch-2 for jruby (9.4.8.0), joni 
(2.2.1), and jcodings (1.0.58).

I diffed our local hbase-shell module compared to upstream branch-2 and these 
are the only differences:
 - We are compiling with the Hadoop 3 profile

 - Building against Hadoop 3.3.6

 - An unrelated change in admin.rb where we do not have the 
setErasureCodingPolicy support (because it's based on branch-2.5)

 - These commands are not included because they aren't supported in 2.5 so we 
don't want to backport them, also unrelated, as they are not touching 
irb/hirb.rb
 -- list_enabled_tables
 -- list_disabled_tables
 -- truncate_region
 -- peer_modification_enabled
 -- peer_modification_switch

The rest of the code is the same. I can see no explanation why the local change 
is needed, but if I do not define assignment_expression in our hirb.rb, then 
this happens:
{noformat}
hbase:001:0> list
TABLE                                                                           
                                                                                
              
0 row(s)
Took 0.4398 seconds                                                             
                                                                                
              
Traceback (most recent call last):
NoMethodError (undefined method `assignment_expression?' for 
#<IRB::HIRB:0x2cea921a>)
Maybe IRB bug!{noformat}
and any other shell command experiences the same.


was (Author: apurtell):
Locally, we are using the same versions as branch-2 for jruby (9.4.8.0), joni 
(2.2.1), and jcodings (1.0.58). 

I diffed our local hbase-shell module compared to upstream branch-2 and these 
are the only differences:

 - We are compiling with the Hadoop 3 profile

 - Building against Hadoop 3.3.6

 - An unrelated change in admin.rb where we do not have the 
setErasureCodingPolicy support (because it's based on branch-2.5)

 - These commands are not included because they aren't supported in 2.5 so we 
don't want to backport them, also unrelated, as they are not touching 
irb/hirb.rb 
 -- list_enabled_tables
 -- list_disabled_tables
 -- truncate_region
 -- peer_modification_enabled
 -- peer_modification_switch

The rest of the code is the same. I can see no explanation why the local change 
is needed, but if I do not define assignment_expression in our hirb.rb, then 
this happens:

{noformat}
Took 0.0008 seconds                                                             
                                                                                
              
hbase:001:0> list
TABLE                                                                           
                                                                                
              
0 row(s)
Took 0.4398 seconds                                                             
                                                                                
              
Traceback (most recent call last):
NoMethodError (undefined method `assignment_expression?' for 
#<IRB::HIRB:0x2cea921a>)
{noformat}
and any other shell command experiences the same.

> NoMethodError undefined method assignment_expression?
> -----------------------------------------------------
>
>                 Key: HBASE-28864
>                 URL: https://issues.apache.org/jira/browse/HBASE-28864
>             Project: HBase
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 3.0.0-beta-1, 4.0.0-alpha-1, 2.7.0
>            Reporter: Andrew Kyle Purtell
>            Assignee: Andrew Kyle Purtell
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-1, 2.7.0, 3.0.0-beta-2
>
>
> After HBASE-28250 Bump jruby to 9.4.8.0 to fix snakeyaml CVE after every 
> command the message "NoMethodError undefined method assignment_expression?" 
> is printed. 
> This is called from code copied from 
> https://github.com/ruby/irb/blob/v1.4.2/lib/irb.rb . The fix is to also copy 
> over the definition of `assignment_expression`. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to