diff --git a/dask_sql/java.py b/dask_sql/java.py index f4084e7c7..adbbc50a9 100644 --- a/dask_sql/java.py +++ b/dask_sql/java.py @@ -70,13 +70,25 @@ def _set_or_check_java_home(): jvmpath = jvmpath.replace("\\bin\\bin\\server\\jvm.dll", "\\bin\\server\\jvm.dll") logger.debug(f"Starting JVM from path {jvmpath}...") -jpype.startJVM( +jvmArgs = [ "-ea", "--illegal-access=deny", - ignoreUnrecognized=True, - convertStrings=False, - jvmpath=jvmpath, +] + +if "DASK_SQL_JVM_DEBUG_ENABLED" in os.environ: # pragma: no cover + logger.debug( + "Remote JVM debugging enabled. Application will wait for remote debugger to attach" + ) + # Must be the first argument in the JVM args + jvmArgs.insert( + 0, "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" + ) + +logger.debug(f"Starting JVM from path {jvmpath}...") +jpype.startJVM( + *jvmArgs, ignoreUnrecognized=True, convertStrings=False, jvmpath=jvmpath, ) + logger.debug("...having started JVM")