Closed
@olavloite

Description

The shutdown hook in SpannerPool can in some cases fail with a ClassNotFoundException, for example when running Liquibase in Maven. This seems to be caused by a difference in class loader during startup and shutdown.

Exception in thread "SpannerPool shutdown hook" java.lang.NoClassDefFoundError: com/google/cloud/spanner/connection/SpannerPool$CheckAndCloseSpannersMode
	at com.google.cloud.spanner.connection.SpannerPool$CloseSpannerRunnable.run(SpannerPool.java:96)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: com.google.cloud.spanner.connection.SpannerPool$CheckAndCloseSpannersMode
	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
	... 2 more