[jira] [Updated] (HBASE-27086) graceful_stop cannot take previous balancer status by incompatibility of hbase shell prompt
[ https://issues.apache.org/jira/browse/HBASE-27086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shinya Yoshida updated HBASE-27086: --- Affects Version/s: 2.4.10 2.5.0 2.6.0 > graceful_stop cannot take previous balancer status by incompatibility of > hbase shell prompt > --- > > Key: HBASE-27086 > URL: https://issues.apache.org/jira/browse/HBASE-27086 > Project: HBase > Issue Type: Bug >Affects Versions: 2.5.0, 2.6.0, 2.4.10, 2.4.12 >Reporter: Shinya Yoshida >Assignee: Shinya Yoshida >Priority: Major > > {code:java} > graceful_stop.sh --failfast $(hostname -f) > 2022-06-03T20:04:34 Set failfast, will exit immediately if any command exits > with non-zero status > 2022-06-03T20:04:34 Disabling load balancer > 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> > 2022-06-03T20:04:42 Unloading myregionserver.example.com region(s) > 2022-06-03T20:04:46 Unloaded myregionserver.example.com region(s) > 2022-06-03T20:04:46 Stopping regionserver on myregionserver.example.com > running regionserver, logging to /var/log/hbase/hbase-hbase-regionserver.out > stopping regionserver. > 2022-06-03T20:04:47 Restoring balancer state to hbase:002:0> > {code} > You can see wrong previous balancer state > {code:java} > 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> > {code} > this should be either of true or false, but it's "hbase:002:0>" > This is because of the incompatibility of hbase shell prompt behavior. > graceful_stop perform `echo 'balance_switch false' | "$bin"/hbase --config > "${HBASE_CONF_DIR}" shell -n | tail -1` > https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/bin/graceful_stop.sh#L118 > However, hbase shell now always set prompt mode to CUSTOM. > https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/hbase-shell/src/main/ruby/jar-bootstrap.rb#L206 > (this breaking change is introduced in > https://github.com/apache/hbase/pull/4018 in hbase2.4.10, > https://issues.apache.org/jira/browse/HBASE-26469) > So the prompt is always shown even when `hbase shell -n` or just piping stdin. > {code:java} > $ echo "balance_switch false" | hbase shell > 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.4.12-xxx > Took 0.0022 seconds > > > hbase:001:0> balance_switch false > Previous balancer state : false > > > Took 0.4308 seconds > > > => false > hbase:002:0> > $ echo "balance_switch false" | hbase shell -n > hbase:001:0> balance_switch false > Previous balancer state : false > > > Took 0.5207 seconds > > > => false > hbase:002:0> > {code} > This is incompatible from old version. > {code:java} > hbase 1.4.x version: > $ echo "balance_switch false" | hbase shell > HBase Shell > Use "help" to get list of supported commands. > Use "exit" to quit this interactive shell. > Version 1.4.13-xxx > balance_switch false > false > > > > > 0 row(s) in 0.3310 seconds > $ echo "balance_switch false" | hbase shell -n > false > > > > > 0 row(s) in 0.4240 seconds > nil > {code} > {code:java} > hbase-2.4.9 > $ echo "balance_switch false" | bin/hbase shell -n > Previous balancer state : false
[jira] [Updated] (HBASE-27086) graceful_stop cannot take previous balancer status by incompatibility of hbase shell prompt
[ https://issues.apache.org/jira/browse/HBASE-27086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shinya Yoshida updated HBASE-27086: --- Description: {code:java} graceful_stop.sh --failfast $(hostname -f) 2022-06-03T20:04:34 Set failfast, will exit immediately if any command exits with non-zero status 2022-06-03T20:04:34 Disabling load balancer 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> 2022-06-03T20:04:42 Unloading myregionserver.example.com region(s) 2022-06-03T20:04:46 Unloaded myregionserver.example.com region(s) 2022-06-03T20:04:46 Stopping regionserver on myregionserver.example.com running regionserver, logging to /var/log/hbase/hbase-hbase-regionserver.out stopping regionserver. 2022-06-03T20:04:47 Restoring balancer state to hbase:002:0> {code} You can see wrong previous balancer state {code:java} 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> {code} this should be either of true or false, but it's "hbase:002:0>" This is because of the incompatibility of hbase shell prompt behavior. graceful_stop perform `echo 'balance_switch false' | "$bin"/hbase --config "${HBASE_CONF_DIR}" shell -n | tail -1` https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/bin/graceful_stop.sh#L118 However, hbase shell now always set prompt mode to CUSTOM. https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/hbase-shell/src/main/ruby/jar-bootstrap.rb#L206 (this breaking change is introduced in https://github.com/apache/hbase/pull/4018 in hbase2.4.10, https://issues.apache.org/jira/browse/HBASE-26469) So the prompt is always shown even when `hbase shell -n` or just piping stdin. {code:java} $ echo "balance_switch false" | hbase shell 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.4.12-xxx Took 0.0022 seconds hbase:001:0> balance_switch false Previous balancer state : false Took 0.4308 seconds => false hbase:002:0> $ echo "balance_switch false" | hbase shell -n hbase:001:0> balance_switch false Previous balancer state : false Took 0.5207 seconds => false hbase:002:0> {code} This is incompatible from old version. {code:java} hbase 1.4.x version: $ echo "balance_switch false" | hbase shell HBase Shell Use "help" to get list of supported commands. Use "exit" to quit this interactive shell. Version 1.4.13-xxx balance_switch false false 0 row(s) in 0.3310 seconds $ echo "balance_switch false" | hbase shell -n false 0 row(s) in 0.4240 seconds nil {code} {code:java} hbase-2.4.9 $ echo "balance_switch false" | bin/hbase shell -n Previous balancer state : false Took 0.4340 seconds false {code} (TODO check old hbase-2 case) In old version, :NULL is used for
[jira] [Updated] (HBASE-27086) graceful_stop cannot take previous balancer status by incompatibility of hbase shell prompt
[ https://issues.apache.org/jira/browse/HBASE-27086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shinya Yoshida updated HBASE-27086: --- Description: {code:java} graceful_stop.sh --failfast $(hostname -f) 2022-06-03T20:04:34 Set failfast, will exit immediately if any command exits with non-zero status 2022-06-03T20:04:34 Disabling load balancer 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> 2022-06-03T20:04:42 Unloading myregionserver.example.com region(s) 2022-06-03T20:04:46 Unloaded myregionserver.example.com region(s) 2022-06-03T20:04:46 Stopping regionserver on myregionserver.example.com running regionserver, logging to /var/log/hbase/hbase-hbase-regionserver.out stopping regionserver. 2022-06-03T20:04:47 Restoring balancer state to hbase:002:0> {code} You can see wrong previous balancer state {code:java} 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> {code} this should be either of true or false, but it's "hbase:002:0>" This is because of the incompatibility of hbase shell prompt behavior. graceful_stop perform `echo 'balance_switch false' | "$bin"/hbase --config "${HBASE_CONF_DIR}" shell -n | tail -1` https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/bin/graceful_stop.sh#L118 However, hbase shell now always set prompt mode to CUSTOM. https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/hbase-shell/src/main/ruby/jar-bootstrap.rb#L206 (this breaking change is introduced in https://github.com/apache/hbase/pull/4018) So the prompt is always shown even when `hbase shell -n` or just piping stdin. {code:java} $ echo "balance_switch false" | hbase shell 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.4.12-xxx Took 0.0022 seconds hbase:001:0> balance_switch false Previous balancer state : false Took 0.4308 seconds => false hbase:002:0> $ echo "balance_switch false" | hbase shell -n hbase:001:0> balance_switch false Previous balancer state : false Took 0.5207 seconds => false hbase:002:0> {code} This is incompatible from old version. {code:java} hbase 1.4.x version: $ echo "balance_switch false" | hbase shell HBase Shell Use "help" to get list of supported commands. Use "exit" to quit this interactive shell. Version 1.4.13-xxx balance_switch false false 0 row(s) in 0.3310 seconds $ echo "balance_switch false" | hbase shell -n false 0 row(s) in 0.4240 seconds nil {code} {code:java} hbase-2.4.9 $ echo "balance_switch false" | bin/hbase shell -n Previous balancer state : false Took 0.4340 seconds false {code} (TODO check old hbase-2 case) In old version, :NULL is used for prompt_mode {code:java} $ echo "irb_context.prompt_mode" | hbase shell
[jira] [Updated] (HBASE-27086) graceful_stop cannot take previous balancer status by incompatibility of hbase shell prompt
[ https://issues.apache.org/jira/browse/HBASE-27086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shinya Yoshida updated HBASE-27086: --- Description: {code:java} graceful_stop.sh --failfast $(hostname -f) 2022-06-03T20:04:34 Set failfast, will exit immediately if any command exits with non-zero status 2022-06-03T20:04:34 Disabling load balancer 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> 2022-06-03T20:04:42 Unloading myregionserver.example.com region(s) 2022-06-03T20:04:46 Unloaded myregionserver.example.com region(s) 2022-06-03T20:04:46 Stopping regionserver on myregionserver.example.com running regionserver, logging to /var/log/hbase/hbase-hbase-regionserver.out stopping regionserver. 2022-06-03T20:04:47 Restoring balancer state to hbase:002:0> {code} You can see wrong previous balancer state {code:java} 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> {code} this should be either of true or false, but it's "hbase:002:0>" This is because of the incompatibility of hbase shell prompt behavior. graceful_stop perform `echo 'balance_switch false' | "$bin"/hbase --config "${HBASE_CONF_DIR}" shell -n | tail -1` https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/bin/graceful_stop.sh#L118 However, hbase shell now always set prompt mode to CUSTOM. https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/hbase-shell/src/main/ruby/jar-bootstrap.rb#L206 (this breaking change is introduced in https://github.com/apache/hbase/pull/4018) So the prompt is always shown even when `hbase shell -n` or just piping stdin. {code:java} $ echo "balance_switch false" | hbase shell 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.4.12-xxx Took 0.0022 seconds hbase:001:0> balance_switch false Previous balancer state : false Took 0.4308 seconds => false hbase:002:0> $ echo "balance_switch false" | hbase shell -n hbase:001:0> balance_switch false Previous balancer state : false Took 0.5207 seconds => false hbase:002:0> {code} This is incompatible from old version. {code:java} hbase 1.4.x version: $ echo "balance_switch false" | hbase shell HBase Shell Use "help" to get list of supported commands. Use "exit" to quit this interactive shell. Version 1.4.13-xxx balance_switch false false 0 row(s) in 0.3310 seconds $ echo "balance_switch false" | hbase shell -n false 0 row(s) in 0.4240 seconds nil {code} (TODO check old hbase-2 case) In old version, :NULL is used for prompt_mode {code:java} $ echo "irb_context.prompt_mode" | hbase shell HBase Shell Use "help" to get list of supported commands. Use "exit" to quit this interactive shell. Version 1.4.13-xxx irb_context.prompt_mode :NULL {code} But it's now :CUSTOM {code:java} $ echo "irb_context.prompt_mode" | hbase shell 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.4.12-xxx Took 0.0028 seconds hbase:001:0> irb_context.prompt_mode => :CUSTOM hbase:002:0> {code} We should keep using NULL prompt_mode for such case respecting previous behavior? was: {code:java} graceful_stop.sh
[jira] [Updated] (HBASE-27086) graceful_stop cannot take previous balancer status by incompatibility of hbase shell prompt
[ https://issues.apache.org/jira/browse/HBASE-27086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shinya Yoshida updated HBASE-27086: --- Description: {code:java} graceful_stop.sh --failfast $(hostname -f) 2022-06-03T20:04:34 Set failfast, will exit immediately if any command exits with non-zero status 2022-06-03T20:04:34 Disabling load balancer 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> 2022-06-03T20:04:42 Unloading myregionserver.example.com region(s) 2022-06-03T20:04:46 Unloaded myregionserver.example.com region(s) 2022-06-03T20:04:46 Stopping regionserver on myregionserver.example.com running regionserver, logging to /var/log/hbase/hbase-hbase-regionserver.out stopping regionserver. 2022-06-03T20:04:47 Restoring balancer state to hbase:002:0> {code} You can see wrong previous balancer state {code:java} 2022-06-03T20:04:42 Previous balancer state was hbase:002:0> {code} this should be either of true or false, but it's "hbase:002:0>" This is because of the incompatibility of hbase shell prompt behavior. graceful_stop perform `echo 'balance_switch false' | "$bin"/hbase --config "${HBASE_CONF_DIR}" shell -n | tail -1` https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/bin/graceful_stop.sh#L118 However, hbase shell now always set prompt mode to CUSTOM. https://github.com/apache/hbase/blob/d57159f31cb7be4d9ced0d7b95e2c78c43d160a1/hbase-shell/src/main/ruby/jar-bootstrap.rb#L206 So the prompt is always shown even when `hbase shell -n` or just piping stdin. {code:java} $ echo "balance_switch false" | hbase shell 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.4.12-xxx Took 0.0022 seconds hbase:001:0> balance_switch false Previous balancer state : false Took 0.4308 seconds => false hbase:002:0> $ echo "balance_switch false" | hbase shell -n hbase:001:0> balance_switch false Previous balancer state : false Took 0.5207 seconds => false hbase:002:0> {code} This is incompatible from old version. {code:java} hbase 1.4.x version: $ echo "balance_switch false" | hbase shell HBase Shell Use "help" to get list of supported commands. Use "exit" to quit this interactive shell. Version 1.4.13-xxx balance_switch false false 0 row(s) in 0.3310 seconds $ echo "balance_switch false" | hbase shell -n false 0 row(s) in 0.4240 seconds nil {code} (TODO check old hbase-2 case) In old version, :NULL is used for prompt_mode {code:java} $ echo "irb_context.prompt_mode" | hbase shell HBase Shell Use "help" to get list of supported commands. Use "exit" to quit this interactive shell. Version 1.4.13-xxx irb_context.prompt_mode :NULL {code} But it's now :CUSTOM {code:java} $ echo "irb_context.prompt_mode" | hbase shell 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.4.12-xxx Took 0.0028 seconds hbase:001:0> irb_context.prompt_mode => :CUSTOM hbase:002:0> {code} We should keep using NULL prompt_mode for such case respecting previous behavior? > graceful_stop cannot take previous balancer status by incompatibility of > hbase shell prompt >
[jira] [Updated] (HBASE-27086) graceful_stop cannot take previous balancer status by incompatibility of hbase shell prompt
[ https://issues.apache.org/jira/browse/HBASE-27086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shinya Yoshida updated HBASE-27086: --- Affects Version/s: 2.4.12 > graceful_stop cannot take previous balancer status by incompatibility of > hbase shell prompt > --- > > Key: HBASE-27086 > URL: https://issues.apache.org/jira/browse/HBASE-27086 > Project: HBase > Issue Type: Bug >Affects Versions: 2.4.12 >Reporter: Shinya Yoshida >Priority: Major > -- This message was sent by Atlassian Jira (v8.20.7#820007)