Skip to content

SNOW-2226852: Non-daemon threads currently preventing JVM termination #2280

Description

@padhia

Please answer these questions before submitting your issue.
In order to accurately debug the issue this information is required. Thanks!

  1. What version of JDBC driver are you using?
    3.25.1

  2. What operating system and processor architecture are you using?
    MacOS/arm64, also Linux/X64

  3. What version of Java are you using?
    21.0.4

  4. What did you do?
    I upgraded Snowflake JDBC driver from 3.24.0 to 3.25.1 on a few JVM applications. All of these (command-line) applications now fail to terminate and issue the message:

Non-daemon threads currently preventing JVM termination: - 49: Thread[#49,pool-1-thread-1,5,main]
 -  - 53: Thread[#53,pool-1-thread-4,5,main]
 -  - 51: Thread[#51,pool-1-thread-2,5,main]
 -  - 52: Thread[#52,pool-1-thread-3,5,main]
 -  - 55: Thread[#55,DestroyJavaVM,5,main]

Note: No other changes were made to the application. Falling back to 3.24.0 version restores the previous behavior (i.e., the JVM terminates on application exit). Version 3.25.0 also seems to have the same issue as 3.25.1

  1. What did you expect to see?

The applications should exit gracefully after processing. Now they require SIGTERM to terminate them

  1. Can you set logging to DEBUG and collect the logs?

I tried setting logging to DEBUG and then TRACE, but it did not produce any output -- maybe because some JVM threads were still running

Metadata

Metadata

Labels

bugstatus-triage_doneInitial triage done, will be further handled by the driver team

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions