You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Andy LoPresto (JIRA)" <ji...@apache.org> on 2018/08/27 15:55:00 UTC

[jira] [Created] (NIFI-5556) Expose JVM debugging via command-line argument

Andy LoPresto created NIFI-5556:
-----------------------------------

             Summary: Expose JVM debugging via command-line argument
                 Key: NIFI-5556
                 URL: https://issues.apache.org/jira/browse/NIFI-5556
             Project: Apache NiFi
          Issue Type: New Feature
          Components: Configuration, Tools and Build
    Affects Versions: 1.7.1
            Reporter: Andy LoPresto


Recently I have been performing remote JVM debugging on a number of NiFi components -- core instances, TLS toolkit, etc. Currently, to enable/disable JVM debugging requires manually modifying the {{bootstrap.conf}} file or the {{*.sh}} file and (un)commenting/adding the following line(s): 

*bootstrap.conf*
{code}
java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
{code}

*tls-toolkit.sh*
{code}
# exec "${JAVA}" -cp "${CLASSPATH}" ${JAVA_OPTS:--Xms12m -Xmx24m} org.apache.nifi.toolkit.tls.TlsToolkitMain "$@"
   exec "${JAVA}" -cp "${CLASSPATH}" ${JAVA_OPTS:--Xms12m -Xmx24m} -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 org.apache.nifi.toolkit.tls.TlsToolkitMain "$@"
{code}

I propose we decide on a standard command-line flag or environment variable which can be set to enable/disable JVM debugging (and optional flag/variable to enable/disable *suspend*) in order to make this easier for developers. 

My suggestion is to follow a pattern like Kafka uses, as proposed in [this StackOverflow answer|https://stackoverflow.com/a/52021140/70465]. 

This can be copied to NiFi Registry, MiNiFi Java, etc. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)