[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16458159#comment-16458159 ] ASF GitHub Bot commented on DRILL-6270: --- Github user asfgit closed the pull request at: https://github.com/apache/drill/pull/1210 > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Labels: ready-to-commit > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > It was decided to make a general flag (--jvm) to pass JVM options to the > script to avoid hard coding the options that may change in future. > Usage examples: > {noformat} > bin/drill-embedded --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > bin/sqlline -u "jdbc:drill:zk=zkaddr:port" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > sqlline.bat -u "jdbc:drill:zk=local" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > {noformat} > The --jvm flag is not needed for drillbit startup, you can set the jvm > properties directly after the start command: > {noformat} > bin/drillbit.sh start -Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16449970#comment-16449970 ] ASF GitHub Bot commented on DRILL-6270: --- Github user arina-ielchiieva commented on the issue: https://github.com/apache/drill/pull/1210 LGTM. > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > It was decided to make a general flag (--jvm) to pass JVM options to the > script to avoid hard coding the options that may change in future. > Usage examples: > {noformat} > bin/drill-embedded --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > bin/sqlline -u "jdbc:drill:zk=zkaddr:port" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > sqlline.bat -u "jdbc:drill:zk=local" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > {noformat} > The --jvm flag is not needed for drillbit startup, you can set the jvm > properties directly after the start command: > {noformat} > bin/drillbit.sh start -Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16449620#comment-16449620 ] ASF GitHub Bot commented on DRILL-6270: --- Github user agozhiy commented on the issue: https://github.com/apache/drill/pull/1210 @paul-rogers / @arina-ielchiieva , I addressed your comments, could you please review? > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > It was decided to make a general flag (--jvm) to pass JVM options to the > script to avoid hard coding the options that may change in future. > Usage examples: > {noformat} > bin/drill-embedded --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > bin/sqlline -u "jdbc:drill:zk=zkaddr:port" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > sqlline.bat -u "jdbc:drill:zk=local" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > {noformat} > The --jvm flag is not needed for drillbit startup, you can set the jvm > properties directly after the start command: > {noformat} > bin/drillbit.sh start -Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16449615#comment-16449615 ] ASF GitHub Bot commented on DRILL-6270: --- Github user agozhiy commented on a diff in the pull request: https://github.com/apache/drill/pull/1210#discussion_r183683315 --- Diff: distribution/src/resources/runbit --- @@ -65,6 +65,47 @@ drill_rotate_log () fi } +args=( $@ ) +RBARGS=() +for (( i=0; i < ${#args[@]}; i++ )); do + case "${args[i]}" in + --debug*) + DEBUG=true + DEBUG_STRING=`expr "${args[i]}" : '.*:\(.*\)'` + ;; + *) RBARGS+=("${args[i]}");; + esac +done + +# Enables remote debug if requested +# Usage: --debug:[parameter1=value,parameter2=value] +# Optional parameters: +# port=[port_number] - debug port number +# suspend=[y/n] - pause until the IDE connects + +if [ $DEBUG ]; then + debug_params=( $(echo $DEBUG_STRING | grep -o '[^,"]*') ) + for param in ${debug_params[@]}; do +case $param in +port*) + DEBUG_PORT=`expr "$param" : '.*=\(.*\)'` + ;; +suspend*) + DEBUG_SUSPEND=`expr "$param" : '.*=\(.*\)'` + ;; +esac + done + + if [ -z $DEBUG_PORT ]; then +DEBUG_PORT=5 + fi + if [ -z $DEBUG_SUSPEND ]; then +DEBUG_SUSPEND='n' + fi + + JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=$DEBUG_SUSPEND" +fi --- End diff -- Done. > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > It was decided to make a general flag (--jvm) to pass JVM options to the > script to avoid hard coding the options that may change in future. > Usage examples: > {noformat} > bin/drill-embedded --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > bin/sqlline -u "jdbc:drill:zk=zkaddr:port" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > sqlline.bat -u "jdbc:drill:zk=local" --jvm "-Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n" > {noformat} > The --jvm flag is not needed for drillbit startup, you can set the jvm > properties directly after the start command: > {noformat} > bin/drillbit.sh start -Xdebug -Xnoagent > -Xrunjdwp:transport=dt_socket,address=5,server=y,suspend=n > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16440709#comment-16440709 ] ASF GitHub Bot commented on DRILL-6270: --- Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1210#discussion_r182022171 --- Diff: distribution/src/resources/runbit --- @@ -65,6 +65,47 @@ drill_rotate_log () fi } +args=( $@ ) +RBARGS=() +for (( i=0; i < ${#args[@]}; i++ )); do + case "${args[i]}" in + --debug*) + DEBUG=true + DEBUG_STRING=`expr "${args[i]}" : '.*:\(.*\)'` + ;; + *) RBARGS+=("${args[i]}");; + esac +done + +# Enables remote debug if requested +# Usage: --debug:[parameter1=value,parameter2=value] +# Optional parameters: +# port=[port_number] - debug port number +# suspend=[y/n] - pause until the IDE connects + +if [ $DEBUG ]; then + debug_params=( $(echo $DEBUG_STRING | grep -o '[^,"]*') ) + for param in ${debug_params[@]}; do +case $param in +port*) + DEBUG_PORT=`expr "$param" : '.*=\(.*\)'` + ;; +suspend*) + DEBUG_SUSPEND=`expr "$param" : '.*=\(.*\)'` + ;; +esac + done + + if [ -z $DEBUG_PORT ]; then +DEBUG_PORT=5 + fi + if [ -z $DEBUG_SUSPEND ]; then +DEBUG_SUSPEND='n' + fi + + JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=$DEBUG_SUSPEND" +fi --- End diff -- Sounds reasonable to me. > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > {noformat} > Usage: --debug:[parameter1=value,parameter2=value] > Optional parameters: > port=[port_number] - debug port number > suspend=[y/n] - pause until the IDE connects > {noformat} > Examples: > {noformat} > drillbit.sh start --debug:port=50001,suspend=y > drill-embedded --debug:port=50001,suspend=y > sqlline -u "jdbc:drill:zk=[zk_address];" --debug:port=50001,suspend=y > {noformat} > Also should work with sqlline.bat, but in this case the debug parameters > should be wrapped up with quotes, like: > {noformat} > sqlline.bat -u "jdbc:drill:zk=local;" --debug:"port=50001,suspend=y" > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16439667#comment-16439667 ] ASF GitHub Bot commented on DRILL-6270: --- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/1210#discussion_r181799954 --- Diff: distribution/src/resources/runbit --- @@ -65,6 +65,47 @@ drill_rotate_log () fi } +args=( $@ ) +RBARGS=() +for (( i=0; i < ${#args[@]}; i++ )); do + case "${args[i]}" in + --debug*) + DEBUG=true + DEBUG_STRING=`expr "${args[i]}" : '.*:\(.*\)'` + ;; + *) RBARGS+=("${args[i]}");; + esac +done + +# Enables remote debug if requested +# Usage: --debug:[parameter1=value,parameter2=value] +# Optional parameters: +# port=[port_number] - debug port number +# suspend=[y/n] - pause until the IDE connects + +if [ $DEBUG ]; then + debug_params=( $(echo $DEBUG_STRING | grep -o '[^,"]*') ) + for param in ${debug_params[@]}; do +case $param in +port*) + DEBUG_PORT=`expr "$param" : '.*=\(.*\)'` + ;; +suspend*) + DEBUG_SUSPEND=`expr "$param" : '.*=\(.*\)'` + ;; +esac + done + + if [ -z $DEBUG_PORT ]; then +DEBUG_PORT=5 + fi + if [ -z $DEBUG_SUSPEND ]; then +DEBUG_SUSPEND='n' + fi + + JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=$DEBUG_SUSPEND" +fi --- End diff -- This is overly complex and puts Drill in the business of tracking the arguments that the JVM wants to enable debugging. Those flags changed in the past and may change again. Would recommend instead: ``` --jvm -anyArgumentYouWant ``` Multiple `--jvm` arguments can appear. Simply append this to the the `DRILL_JAVA_OPTS` variable. Very simple. > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > {noformat} > Usage: --debug:[parameter1=value,parameter2=value] > Optional parameters: > port=[port_number] - debug port number > suspend=[y/n] - pause until the IDE connects > {noformat} > Examples: > {noformat} > drillbit.sh start --debug:port=50001,suspend=y > drill-embedded --debug:port=50001,suspend=y > sqlline -u "jdbc:drill:zk=[zk_address];" --debug:port=50001,suspend=y > {noformat} > Also should work with sqlline.bat, but in this case the debug parameters > should be wrapped up with quotes, like: > {noformat} > sqlline.bat -u "jdbc:drill:zk=local;" --debug:"port=50001,suspend=y" > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16439657#comment-16439657 ] Paul Rogers commented on DRILL-6270: Please see the note above. This should not be debug specific. We should not be in the business of generating the Java debug flags. As noted, better to provide a general method to pass options to the JVM command line. Then the user can decide the correct debug settings for their case. At the very least, they can Google how to set the flags and copy/paste that into the Drill command line. > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > {noformat} > Usage: --debug:[parameter1=value,parameter2=value] > Optional parameters: > port=[port_number] - debug port number > suspend=[y/n] - pause until the IDE connects > {noformat} > Examples: > {noformat} > drillbit.sh start --debug:port=50001,suspend=y > drill-embedded --debug:port=50001,suspend=y > sqlline -u "jdbc:drill:zk=[zk_address];" --debug:port=50001,suspend=y > {noformat} > Also should work with sqlline.bat, but in this case the debug parameters > should be wrapped up with quotes, like: > {noformat} > sqlline.bat -u "jdbc:drill:zk=local;" --debug:"port=50001,suspend=y" > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16439457#comment-16439457 ] ASF GitHub Bot commented on DRILL-6270: --- Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1210#discussion_r181732701 --- Diff: distribution/src/resources/runbit --- @@ -65,6 +65,47 @@ drill_rotate_log () fi } +args=( $@ ) +RBARGS=() --- End diff -- Does `RBARGS` have some meaning? Maybe it better to give clearer naming? Also please add comment describing that you remove debug string from original args but leave all other args. > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Major > Fix For: 1.14.0 > > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > {noformat} > Usage: --debug:[parameter1=value,parameter2=value] > Optional parameters: > port=[port_number] - debug port number > suspend=[y/n] - pause until the IDE connects > {noformat} > Examples: > {noformat} > drillbit.sh start --debug:port=50001,suspend=y > drill-embedded --debug:port=50001,suspend=y > sqlline -u "jdbc:drill:zk=[zk_address];" --debug:port=50001,suspend=y > {noformat} > Also should work with sqlline.bat, but in this case the debug parameters > should be wrapped up with quotes, like: > {noformat} > sqlline.bat -u "jdbc:drill:zk=local;" --debug:"port=50001,suspend=y" > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16439290#comment-16439290 ] ASF GitHub Bot commented on DRILL-6270: --- GitHub user agozhiy opened a pull request: https://github.com/apache/drill/pull/1210 DRILL-6270: Add debug startup option flag for drill in embedded and s… …erver mode Works with the drillbit.sh, sqlline and sqlline.bat: Usage: --debug:[parameter1=value,parameter2=value] Optional parameters: port=[port_number] - debug port number suspend=[y/n] - pause until the IDE connects You can merge this pull request into a Git repository by running: $ git pull https://github.com/agozhiy/drill DRILL-6270 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/drill/pull/1210.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1210 commit 5206268568a43864f6b0d144b56d3033c17d8031 Author: Anton GozhiyDate: 2018-03-27T10:29:14Z DRILL-6270: Add debug startup option flag for drill in embedded and server mode Works with the drillbit.sh, sqlline and sqlline.bat: Usage: --debug:[parameter1=value,parameter2=value] Optional parameters: port=[port_number] - debug port number suspend=[y/n] - pause until the IDE connects > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Minor > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > {noformat} > Usage: --debug:[parameter1=value,parameter2=value] > Optional parameters: > port=[port_number] - debug port number > suspend=[y/n] - pause until the IDE connects > {noformat} > Examples: > {noformat} > drillbit.sh start --debug:port=50001,suspend=y > drill-embedded --debug:port=50001,suspend=y > sqlline -u "jdbc:drill:zk=[zk_address];" --debug:port=50001,suspend=y > {noformat} > Also should work with sqlline.bat, but in this case the debug parameters > should be wrapped up with quotes, like: > {noformat} > sqlline.bat -u "jdbc:drill:zk=local;" --debug:"port=50001,suspend=y" > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (DRILL-6270) Add debug startup option flag for drill in embedded and server mode
[ https://issues.apache.org/jira/browse/DRILL-6270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16405700#comment-16405700 ] Paul Rogers commented on DRILL-6270: Three suggestions. 1. To prevent future conflicts, pick a flag name such as {{-d -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n}} or, to be consistent with the existing {{--config}} and {{--site}} options, maybe {{--debug -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n}} (two dashes). 2. Since all we are doing is passing a flag to the JVM, maybe generalize your flag: {{--java -}}. 3. Even this is not entirely necessary. You can just do the following: {code} export DRILL_JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n drillbit.sh start {code} To make this even easier, put it in a script so you don't have to either a) keep setting and unsetting the options, or b) remember the long flag to pass into the command line. > Add debug startup option flag for drill in embedded and server mode > --- > > Key: DRILL-6270 > URL: https://issues.apache.org/jira/browse/DRILL-6270 > Project: Apache Drill > Issue Type: Task >Reporter: Volodymyr Tkach >Assignee: Anton Gozhiy >Priority: Minor > > Add possibility to run sqlline.sh and drillbit.sh scripts with -- > with standard java remote debug options with the ability to override port. > Example: drillbit.sh start - 50001 -- This message was sent by Atlassian JIRA (v7.6.3#76005)