Commit Graph

535 Commits

Author SHA1 Message Date
Duo Zhang 31c4aea48c
HBASE-27728 Implement a tool to migrate replication peer data between different storage implementation (#5179)
Signed-off-by: Liangjun He <heliangjun@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2023-04-17 22:13:19 +08:00
Nick Dimiduk 814f3267d7
HBASE-27651 hbase-daemon.sh foreground_start should propagate SIGHUP and SIGTERM
Introduce separate `trap`s for SIGHUP vs. the rest. Treat `SIGINT`, `SIGKILL`, and `EXIT` identically, as before. Use the signal name without `SIG` prefix for increased portability, as per the POSIX man page for `trap`.

`SIGTERM` handler will now honor `HBASE_STOP_TIMEOUT` as described in the file header.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2023-03-20 14:58:15 +01:00
Rajeshbabu Chintaguntla bc8b13e468
HBASE-27669 chaos-daemon.sh should make use hbase script start/stop chaosagent and chaos monkey runner (#5078)
Co-authored-by: Rajeshbabu Chintaguntla <rchintag@visa.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2023-03-09 10:46:25 +08:00
Duo Zhang 3ffc0b5552
HBASE-27510 Should use 'org.apache.hbase.thirdparty.io.netty.tryReflectionSetAccessible' (#4898)
Signed-off-by: Wei-Chiu Chuang <weichiu@apache.org>
2022-11-29 20:40:13 +08:00
mrzhao 7fc4d99384
HBASE-27503 Support replace <FILE-PATH> in GC_OPTS for ZGC (#4892)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-11-29 00:02:22 +08:00
Ujjawal b3a04899a4
HBASE-27352 - Quoted string argument with spaces passed from command line are propagated wrongly to the underlying java class (#4754)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-09-13 14:32:55 +02:00
Andor Molnár b60d2eb0b6
HBASE-27342 Use Hadoop Credentials API to retrieve passwords of TLS key/trust stores (#4747)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Balazs Meszaros <meszibalu@apache.org>
2022-08-31 12:53:18 +02:00
LiangJun He b431652e48
HBASE-27275 graceful_stop.sh unable to restore the balance state (#4680)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-08-09 09:48:51 +08:00
Abhradeep Kundu 54f2106f33
HBASE-27265 : Tool to read StoreFileTrackerFile (#4673)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-08-08 11:43:06 +01:00
Nick Dimiduk a238ed2785
HBASE-27182 Rework tracing configuration
* Take advantage of the fact that OpenTelemetry can read its configuration from environment
  variables and make use of this where possible, only falling back to passing properties into the
  process launch configuration when it's necessary. DRY up tracing configuration and make it
  easier to manage in a container environment.
* Replace `HBASE_TRACE_OPTS`, which used to act as both a feature flag and a baseline for
  configuration shared across processes. Instead, use `HBASE_OTEL_TRACING_ENABLED` as a feature
  flag, and let configuration reuse be handled via the environment variables that otel supports
  naively.
* Add further explanation for how to write your configuration for our different deployment
  modes (standalone, pseudo-distributed, fully distributed) and in different environments.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-11 14:37:05 +02:00
Junegunn Choi 2b573ae377
HBASE-27030 Fix undefined local variable error in draining_servers.rb (#4427)
HBASE-21812 replaced a for-loop with an each block.
Each block introduces a new scope, so a local variable defined inside it
cannot be accessed afterwards.

  NameError: undefined local variable or method `admin' for main:Object
    getServerNames at /opt/khp/hbase/bin/draining_servers.rb:81
        addServers at /opt/khp/hbase/bin/draining_servers.rb:88
            <main> at /opt/khp/hbase/bin/draining_servers.rb:146

This commit defines the admin local variable in the current scope beforehand,
so that we can still access it after the block.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-05-22 11:31:48 +08:00
Duo Zhang 9c8c9e7fbf HBASE-26899 Run spotless:apply
Closes #4312
2022-05-01 22:15:09 +08:00
Duo Zhang 82e47cde27
HBASE-25058 Export necessary modules when running under JDK11 (#4337)
Singed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-04-21 23:49:27 +08:00
Wellington Ramos Chevreuil f42003de07
HBASE-26838 Junit jar is not included in the hbase tar ball, causing … (#4223)
Signed-off-by: Josh Elser <elserj@apache.org>
Singed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Reviewed-by: Sean Busbey <busbey@apache.org>
2022-03-31 21:22:19 +01:00
Duo Zhang f4866a49dc
HBASE-26822 Revert the changes on hbase-daemon.sh after switching to log4j2 properties file (#4209)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-12 16:48:06 +08:00
Duo Zhang 4bea1e8c37
HBASE-26723 Switch to use log4j2.properties file to configure log4j2 (#4096)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-02 21:08:32 +08:00
Peter Somogyi 0f94ab5e09
HBASE-26572 Upgrade to log4j 2.16.0 (#3943)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
2021-12-14 21:36:27 +01:00
Josh Elser a3ff8e4c81
HBASE-26557 Correct export to set log4j2.formatMsgNoLookups in HBASE_OPTS (#3941)
Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Reviewed-by: Nick Dimiduk <ndimiduk@apache.org>
2021-12-14 08:12:33 +08:00
Yutong Xiao 02c044484d
HBASE-26557 log4j2 has a critical RCE vulnerability (#3933)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
2021-12-10 23:52:28 +08:00
Nick Dimiduk e782ec03f6 HBASE-26363 OpenTelemetry configuration support for per-process service names
Exposes process-specific tracing arguments for most of the commands that we can launch from
`bin/hbase`. In addition to serving as an on/off flag, `HBASE_TRACE_OPTS` acts as the site-wide
configuration setting. Additional variables are provided for each applicable command, giving
operators fine-grain control over which processes participate in the tracing system, and to what
degree.

Signed-off-by: Tak Lon (Stephen) Wu <taklwu@apache.org>
Signed-off-by: Josh Elser <elserj@apache.org>
2021-11-04 11:38:54 -07:00
Nick Dimiduk cadac1889a HBASE-26361 Enable OpenTelemetry to be used from developer sandbox
Signed-off-by: Tak Lon (Stephen) Wu <taklwu@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-10-18 15:20:56 -07:00
Bryan Beaudreault 332d9d13b1 HBASE-26146: Add support for HBASE_HBCK_OPTS (#3534)
Signed-off-by: stack <stack@apache.org>
2021-07-27 13:13:08 -07:00
mokai b80d70cd53
HBASE-26030 hbase-cleanup.sh did not clean the wal dir if hbase.wal.dir configured individually (#3432)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-07-03 11:13:50 +08:00
mokai bd4c4cec1f
HBASE-25948 Remove deprecated ZK command 'rmr' in hbase-cleanup.sh (#3343)
Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
2021-05-31 11:01:45 +05:30
Nick Dimiduk 19fd42b1dc HBASE-25841 Add basic jshell support (addendum) 2021-05-25 09:50:38 -07:00
Nick Dimiduk fe47557f4c HBASE-25841 Add basic jshell support
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-19 11:37:10 -07:00
Duo Zhang 57960fa8fa HBASE-25424 Find a way to config OpenTelemetry tracing without direct… (#2808)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang 024248994f
HBASE-25696 Need to initialize SLF4JBridgeHandler in jul-to-slf4j for redirecting jul to slf4j (#3093)
Signed-off-by: Michael Stack <stack@apache.org>
2021-03-30 15:54:18 +08:00
stack 326835e837 HBASE-25594 Make easier to use graceful_stop on localhost mode (#3054)
Addendum.
2021-03-20 13:48:22 -07:00
Duo Zhang ba3610d097
HBASE-19577 Use log4j2 instead of log4j for logging (#1708)
Signed-off-by: stack <stack@apache.org>
2021-03-20 09:21:25 +08:00
Javier Akira Luca de Tena cc6c14a495 HBASE-25594 Make easier to use graceful_stop on localhost mode (#3054)
Co-authored-by: Javier <javier.lucadetena@linecorp.com>
2021-03-19 12:31:30 +01:00
Peter Somogyi 82dfa27a6f Revert "HBOPS-25594 Make easier to use graceful_stop on localhost mode (#3054)"
This reverts commit 0cead10257.
2021-03-19 12:31:07 +01:00
Javier Akira Luca de Tena 0cead10257
HBOPS-25594 Make easier to use graceful_stop on localhost mode (#3054)
Co-authored-by: Javier <javier.lucadetena@linecorp.com>
2021-03-18 12:04:54 -07:00
Javier 59ec375d67 HBASE-25594 graceful_stop.sh fails to unload regions when ran at localhost
Signed-off-by: stack <stack@apache.org>
2021-03-15 21:38:29 -07:00
stack c36e40eb1c Revert "HBASE-25663 Make graceful_stop localhostname compare match even if fqdn (#3048)"
This reverts commit f4e1ab7b1d.
2021-03-15 21:29:00 -07:00
Michael Stack f4e1ab7b1d
HBASE-25663 Make graceful_stop localhostname compare match even if fqdn (#3048) 2021-03-15 13:24:15 -07:00
Lokesh Khurana f8bd22827a
HBASE-24620 : Add a ClusterManager which submits command to ZooKeeper and its Agent which picks and execute those Commands (#2299)
Signed-off-by: Aman Poonia <apoonia@salesforce.com>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-12-21 15:33:36 +05:30
Lokesh Khurana e6165412e0
HBASE-25237 : 'hbase master stop' shuts down the cluster, not the master only
Closes #2705

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-11-27 16:02:30 +05:30
Sean Busbey fd0ecadbb9
HBASE-14067 bundle ruby files for hbase shell into a jar.
* removes some cruft from the hbase-shell pom that appears to be from coping the hbase-server pom long ago
* puts the ruby scripts into the hbase-shell jar following the guide from jruby for packaging
* removes hard coding the location of the implementation scripts from our runtime
* removes hard coding the load path for the implementation from the test code (leaves hard coding the test code location)
* provides a work around for a name conflict between our shell and the ruby stdlib shell.

closes #2515

Signed-off-by: Michael Stack <stack@apache.org>
2020-10-13 11:12:07 -05:00
GeorryHuang 16831ec515
HBASE-24857:Fix several problems when starting webUI (#2245)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-09-19 14:34:30 +08:00
Elliot 98e35842eb
HBASE-24806 Small Updates to Functionality of Shell IRB Workspace (#2232)
* HBASE-24806 Small Updates to Functionality of Shell IRB Workspace

- Move exception handler from Shell::Shell#eval_io to new method,
  Shell::Shell#exception_handler
- Add unit tests for Shell::Shell#exception_handler
- Change Shell::Shell#eval_io to no longer raise SystemExit when any error is
  seen and update unit test
- Update ruby test runner to catch SystemExit and fail to avoid tests that
  cause the test runner to incorrectly exit successfully
- Add Hbase::Loader module to find ruby scripts in the $LOAD_PATH and classpath
  using JRuby's loader.
- In hbase-shell, install IRB commands before exporting HBase commands. The
  HBase commands will override the IRB commands, and no warning will be
  printed.

* Remove unused variables from shell_test

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: stack <stack@apache.org>
2020-08-18 13:14:34 -07:00
Elliot 7eff07d6bf
HBASE-11686 Shell code should create a binding / irb workspace instead of polluting the root namespace (#2141)
* HBASE-11686 Shell code should create a binding / irb workspace instead of polluting the root namespace

- Refactor Shell.export_commands to define commands using ruby lambdas.
  Additionally, this change stores a reference to shell_inst in scope so that
  we no longer need to assume the existance of the variable @shell.
- Add logic to Shell class for constructing an IRB workspace with its own
  binding and non-global receiver. This workspace is loaded with all HBase and
  IRB commands.
- Create new method on Shell for evaluating input from an arbitrary IO instance
  within the created IRB workspace. This is based on work by Hsieh that was
  previously in bin/hirb.rb. This method is more generic and more testable.
  This single pattern can be used for both executing files and reading from
  stdin, therefore reducing complexity.
- Move special 'help' and 'tools' command definitions to shell.rb. These
  commands are tightly linked with an instance of the shell, so it is easiest
  to have them defined together.
- Remove all global includes of HBaseConstants from ruby test files. Before
  this change, tests were loading these constants into the top level, which
  could cause tests to pass that should really fail.
- Try to reduce the number of places that constants are included. I think it's
  best to reference each ruby constant's full name, but where that would cause
  a big diff I instead moved the include to the innermost Module or Class.
- Update docs and comments
- Remove unneccessary includes
- Add shell --top-level-cmds compatibility flag. Since this PR removes all the
  HBase symbols from the top-level receiver (ie. main Object), it is possible
  (albeit unlikely) that this will break operator scripts. This flag will
  export all the commands at the top-level like the shell previously did.

* HBASE-11686 Light refactoring with added unit tests

- Fixes some constants references by admin test 2
- Install HBase commands as singleton methods on recevier instances so that
  multiple receivers may exist.
- Rename new flag from --top-level-cmds to --top-level-defs to be more
  semantically accurate.
- Create new helper method Shell::Shell#export_all to install @hbase, @shell,
  constants, and all hbase commands to a target receiver. As a result, the
  HBaseReceiver became very simple and could be moved to shell.rb.
- Add unit tests for Shell::Shell#eval_io and Shell::Shell#export_all
- Add @hbase and @shell to hbase-shell IRB workspace
- Fix robocop issues within patch

* Typo s/is/if/
2020-07-27 20:56:09 -07:00
Baiqiang Zhao fe2ae809d1
HBASE-24671 Add excludefile and designatedfile options to graceful_stop.sh
Closes #2013

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-07-05 19:34:23 +05:30
WenFeiYi 6b62c0b6d2
HBASE-24550 Passing '-h' or '--help' to bin/hbase doesn't do as expected (ADDENDUM)
Closes #1932

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-06-19 22:52:18 +05:30
WenFeiYi f73480febf
HBASE-24550 Passing '-h' or '--help' to bin/hbase doesn't do as expected
Closes #1914

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-06-18 15:42:57 +05:30
Nick Dimiduk 7f6672eb9e
HBASE-24143 [JDK11] Switch default garbage collector from CMS ; Addendum (#1594)
Signed-off-by: Sean Busbey <busbey@apache.org>
2020-04-27 09:24:46 -07:00
Nick Dimiduk 52245e9f7c HBASE-24143 [JDK11] Switch default garbage collector from CMS
Per comments in Jira, be explicit about what collector we
use. Existing code simply hard-codes HBASE_OPTS in
`conf/hbase-env.sh`. We now need to be a little more clever than this,
so moves the definition into `bin/hbase`. Also consolidates logic
around JVM version detection into a reusable function.

This change also changes how we set `HBASE_OPTS`. Before, we would
accept an operator's value, but always append our GC
prescription. After this change, we defer entirely to the operator's
choice, only applying our values when they've not specified their
intentions.

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Sean Busbey <busbey@apache.org>
2020-04-17 13:51:08 -07:00
Toshihiro Suzuki 79e799ab7b
HBASE-23165 [hbtop] Some modifications from HBASE-22988 (#987)
Signed-off-by: stack <stack@apache.org>
2020-01-11 21:06:07 +09:00
Michael Stack f0f7fae400 HBASE-21458 Error: Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty
Signed-off-by: Sean Busbey <busbey@apache.org>
2019-11-05 22:50:16 -06:00
Rushabh 5aa8d3a20b HBASE-22874 Define a public API for Canary checking and a non-public tool implementation
Closes #580

* Canary is now an IA.Public interface
* CanaryTool is now the implementation

Signed-off-by: Sean Busbey <busbey@apache.org>
2019-10-03 13:45:48 -07:00