[
https://issues.apache.org/jira/browse/HBASE-7817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ted Yu updated HBASE-7817:
--------------------------
Description:
In the default hbase-env.sh in trunk, there's a section for lines you can
uncomment to enable JDWP remote debugging:
{code:none}
# Enable remote JDWP debugging of major HBase processes. Meant for Core
Developers
# export HBASE_MASTER_OPTS=" -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8070"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8071"
# export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8072"
# export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8073"
{code}
However, this is wrong (at least, if you're starting from local source),
because somewhere in the chain of start-hbase.sh, it sources hbase-env.sh more
than once, which has the effect of including these options twice, which makes
the JVM barf on startup, saying
"ERROR: Cannot load this JVM TI agent twice, check your java command line for
duplicate jdwp options. Error occurred during initialization of VM; agent
library failed to init: jdwp".
Removing the first re-included instance of $HBASE_MASTER_OPTS (etc.) solves the
problem. This should either be changed in the default or these scripts
shouldn't source hbase-env.sh multiple times I think.
was:
In the default hbase-env.sh in trunk, there's a section for lines you can
uncomment to enable JDWP remote debugging:
{code:none}
# Enable remote JDWP debugging of major HBase processes. Meant for Core
Developers
# export HBASE_MASTER_OPTS=" -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8070"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8071"
# export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8072"
# export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS -Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8073"
{code}
However, this is wrong (at least, if you're starting from local source),
because somewhere in the chain of start-hbase.sh, it sources hbase-env.sh more
than once, which has the effect of including these options twice, which makes
the JVM barf on startup, saying "ERROR: Cannot load this JVM TI agent twice,
check your java command line for duplicate jdwp options. Error occurred during
initialization of VM; agent library failed to init: jdwp". Removing the first
re-included instance of $HBASE_MASTER_OPTS (etc.) solves the problem. This
should either be changed in the default or these scripts shouldn't source
hbase-env.sh multiple times I think.
> Suggested JDWP debug options in hbase-env.sh are wrong
> ------------------------------------------------------
>
> Key: HBASE-7817
> URL: https://issues.apache.org/jira/browse/HBASE-7817
> Project: HBase
> Issue Type: Bug
> Reporter: Ian Varley
> Priority: Minor
>
> In the default hbase-env.sh in trunk, there's a section for lines you can
> uncomment to enable JDWP remote debugging:
> {code:none}
> # Enable remote JDWP debugging of major HBase processes. Meant for Core
> Developers
> # export HBASE_MASTER_OPTS=" -Xdebug
> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8070"
> # export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xdebug
> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8071"
> # export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xdebug
> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8072"
> # export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS -Xdebug
> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8073"
> {code}
> However, this is wrong (at least, if you're starting from local source),
> because somewhere in the chain of start-hbase.sh, it sources hbase-env.sh
> more than once, which has the effect of including these options twice, which
> makes the JVM barf on startup, saying
> "ERROR: Cannot load this JVM TI agent twice, check your java command line for
> duplicate jdwp options. Error occurred during initialization of VM; agent
> library failed to init: jdwp".
> Removing the first re-included instance of $HBASE_MASTER_OPTS (etc.) solves
> the problem. This should either be changed in the default or these scripts
> shouldn't source hbase-env.sh multiple times I think.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira