Commit Graph

519 Commits

Author SHA1 Message Date
Junegunn Choi 84a79dfbd4 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>
(cherry picked from commit 2b573ae377)
2022-05-22 15:07:28 +08:00
Duo Zhang 1aea663c6d HBASE-26899 Run spotless:apply 2022-05-01 22:52:40 +08:00
Duo Zhang 96628db03d HBASE-25058 Export necessary modules when running under JDK11 (#4337)
Singed-off-by: Nick Dimiduk <ndimiduk@apache.org>
(cherry picked from commit 82e47cde27)
2022-04-21 23:50:24 +08:00
Wellington Ramos Chevreuil cebf8d7c58 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 22:17:57 +01:00
Duo Zhang 5844b53dea HBASE-26802 Backport the log4j2 changes to branch-2 (#4166)
Signed-off-by: Andrew Purtell <apurtell@apache.org>

Conflicts:
	hbase-hadoop-compat/pom.xml
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
	hbase-shaded/hbase-shaded-client-byo-hadoop/pom.xml
	hbase-shaded/hbase-shaded-client/pom.xml
	hbase-shaded/hbase-shaded-mapreduce/pom.xml
	hbase-shaded/hbase-shaded-testing-util/pom.xml
	hbase-shaded/pom.xml
	hbase-testing-util/pom.xml
2022-03-11 11:38:37 -08:00
Nick Dimiduk 2a2f618c9b 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:39:36 -07:00
Nick Dimiduk a69617d602 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:51:38 -07:00
Tak Lon (Stephen) Wu af460132c0 HBASE-26126 Backport HBASE-25424 "Find a way to config OpenTelemetry tracing without directly depending on opentelemetry-sdk" to branch-2 (#3552)
3/17 commits of HBASE-22120, original commit#57960fa8fa7228d65b1a4adc8e9b5b1a8158824d

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-09-01 15:29:09 -07:00
Bryan Beaudreault d470b25e05
HBASE-26146: Add support for HBASE_HBCK_OPTS (#3534)
Signed-off-by: stack <stack@apache.org>
2021-07-27 13:10:42 -07:00
mokai 22fd649987 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:21:23 +08:00
mokai 920a9568b4 HBASE-25948 Remove deprecated ZK command 'rmr' in hbase-cleanup.sh (#3343)
Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
(cherry picked from commit bd4c4cec1f)
2021-05-31 11:06:26 +05:30
Nick Dimiduk f7358cd618 HBASE-25841 Add basic jshell support (addendum) 2021-05-25 10:10:11 -07:00
Nick Dimiduk d19e0587fa 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 12:02:30 -07:00
Duo Zhang deb6d005f9
HBASE-25696 Need to initialize SLF4JBridgeHandler in jul-to-slf4j for redirecting jul to slf4j (#3093) (#3112)
Signed-off-by: Michael Stack <stack@apache.org>
2021-04-02 17:30:43 +08:00
stack 37fa9e5e97 HBASE-25594 Make easier to use graceful_stop on localhost mode (#3054)
Addendum.
2021-03-20 13:47:18 -07:00
Javier Akira Luca de Tena a9a1ec5a8b HBASE-25594 Make easier to use graceful_stop on localhost mode (#3054)
Co-authored-by: Javier <javier.lucadetena@linecorp.com>
2021-03-19 12:32:38 +01:00
Peter Somogyi 5840003686 Revert "HBOPS-25594 Make easier to use graceful_stop on localhost mode (#3054)"
This reverts commit 9e701bb1d3.
2021-03-19 12:32:25 +01:00
Javier Akira Luca de Tena 9e701bb1d3 HBOPS-25594 Make easier to use graceful_stop on localhost mode (#3054)
Co-authored-by: Javier <javier.lucadetena@linecorp.com>
2021-03-18 12:05:26 -07:00
Javier 3135b7a42f HBASE-25594 graceful_stop.sh fails to unload regions when ran at localhost
Signed-off-by: stack <stack@apache.org>
2021-03-15 21:42:14 -07:00
stack 4b2cab3e5d Revert "HBASE-25663 Make graceful_stop localhostname compare match even if fqdn (#3048)"
This reverts commit f4e1ab7b1d.
2021-03-15 21:29:35 -07:00
Michael Stack 754300ac71 HBASE-25663 Make graceful_stop localhostname compare match even if fqdn (#3048) 2021-03-15 13:25:50 -07:00
Lokesh Khurana 6eee9b1049
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:36:02 +05:30
Lokesh Khurana 8472c68720
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:05:07 +05:30
Sean Busbey b862c3e9c9
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>
(cherry picked from commit fd0ecadbb9)
2020-10-13 16:29:55 -05:00
Elliot 29bbc7de45
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>
(cherry picked from commit 98e35842eb)
2020-10-13 16:27:21 -05:00
Elliot 588e8d2263
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/

(cherry picked from commit 7eff07d6bf)
2020-10-13 16:27:03 -05:00
GeorryHuang 4b815d77d5 HBASE-24857 Fix several problems when starting webUI (#2344) 2020-09-09 21:47:51 -07:00
Baiqiang Zhao 0e74a8c86b
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:35:27 +05:30
WenFeiYi 30a6c63827
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:53:28 +05:30
WenFeiYi 0250374aad
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:44:51 +05:30
Nick Dimiduk 318af8d6f8 HBASE-24143 [JDK11] Switch default garbage collector from CMS ; Addendum (#1594)
Signed-off-by: Sean Busbey <busbey@apache.org>
2020-04-27 09:36:35 -07:00
Nick Dimiduk a2c78e99cb 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:53:21 -07:00
Toshihiro Suzuki 1ad28a6f40 HBASE-23165 [hbtop] Some modifications from HBASE-22988 (#987)
Signed-off-by: stack <stack@apache.org>
2020-01-11 21:22:14 +09:00
Michael Stack ea20bb35be 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:55:13 -06:00
Rushabh b5a396749d 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 14:34:15 -07:00
Toshihiro Suzuki 345455a3db HBASE-11062 hbtop (#476)
Signed-off-by: Stack <stack@apache.org>
Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Josh Elser <elserj@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2019-09-07 14:17:59 +09:00
Sakthi 38f051b750 HBASE-22264 Separate out jars related to JDK 11 into a folder in /lib
Signed-off-by: Sean Busbey <busbey@apache.org>
(cherry picked from commit 0fead7ff1c)
2019-06-14 09:22:48 -05:00
Artem Ervits bbfb8ef80c HBASE-21536 Fix completebulkload usage instructions
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2019-05-10 10:31:41 +02:00
Andrew Purtell ea653777e7
HBASE-21926 Profiler servlet 2019-03-17 18:48:16 -07:00
Sakthi 789d9df170 HBASE-21812 Address ruby static analysis for shell/bin modules [2nd pass]
Signed-off-by: Sean Busbey <busbey@apache.org>
(cherry picked from commit 65caa08edc)
2019-02-03 09:53:09 -06:00
Nihal Jain 7255a1c737 HBASE-21629 draining_servers.rb is broken 2018-12-23 20:48:23 -08:00
stack a226ceae3a HBASE-21567 Allow overriding configs starting up the shell
Adds support for -D as option to 'hbase shell'
2018-12-10 10:11:40 -08:00
Michael Stack 47c9879fad
HBASE-21215 Figure how to invoke hbck2; make it easy to find
Adds option parameter to the bin/hbase hbck command that allows
passing the hbck2 jar.

Signed-off-by: Sean Busbey <busbey@apache.org>
2018-10-24 20:46:05 -07:00
Sean Busbey 133892aae2 HBASE-20615 emphasize shaded artifacts in client tarball.
Conflicts:
	bin/hbase

Signed-off-by: Josh Elser <elserj@apache.org>
2018-06-18 14:03:28 -07:00
Peter Somogyi 53d29d53c4 HBASE-20592 Create a tool to verify tables do not have prefix tree encoding
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-06-01 19:22:49 +02:00
Peter Somogyi e51ced4f17 HBASE-20376 RowCounter and CellCounter documentations are incorrect 2018-04-12 10:05:45 +02:00
Sean Busbey 4772a4ebdd HBASE-20276 restore original shell REPL functionality where commands can return results
* makes commands always pass any results back to hirb
* print warning if hirb is given the --return-values flag
* add some docs on how to avoid the console clutter that HBASE-15965 sought to address
* add an upgrade section note about this change.
* cleanup where the get_splits command does its printing so there's a building block that doesn't print
* some rubocop suggested tweaks and opt-out for classlength check on table and shell classes.

Signed-off-by: Mike Drob <mdrob@apache.org>

 Conflicts:
	src/main/asciidoc/_chapters/upgrading.adoc

* backport leaves off refguide change about upgrading.
2018-04-06 13:08:00 -05:00
Mike Drob 468d4fcd73 HBASE-20282 Clean up tooling docs/help 2018-03-30 09:00:46 -07:00
Umesh Agashe f4fe0521a9 HBASE-20130 (ADDENDUM) Use defaults (16020 & 16030) as base ports when the RS is bound to localhost
* fixed shellcheck errors
  * modified script to set environment variabless HBASE_RS_BASE_PORT, HBASE_RS_INFO_BASE_PORT to defaults only if its not already set
  * modified ref guide for default master ports and setting environment variables HBASE_RS_BASE_PORT, HBASE_RS_INFO_BASE_PORT for supporting more than 10 instances for region server on localhost.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2018-03-27 21:25:42 -05:00
Umesh Agashe c39a048c6d HBASE-20130 Use defaults (16020 & 16030) as base ports when the RS is bound to localhost
Base ports are changed to defaults 16020 & 16030 when RS binds to localhost. This is mostly used in pseudo distributed mode.
2018-03-26 14:10:48 -07:00