You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ian Varley (JIRA)" <ji...@apache.org> on 2013/02/11 20:09:13 UTC

[jira] [Updated] (HBASE-7817) Suggested JDWP debug options in hbase-env.sh are wrong

     [ https://issues.apache.org/jira/browse/HBASE-7817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ian Varley 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:

    # 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"

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