AwsProductSenderTest

23

tests

0

failures

0

ignored

7.309s

duration

100%

successful

Tests

Test Duration Result
testCheckProductJsonSize 0.025s passed
testCheckProductJsonSizeThrowsException 0.016s passed
testHttpExceptionGetsRetriedException 0.012s passed
testHttpExceptionInGetUploadUrlsThrowsException 4.521s passed
testHttpExceptionInSendProductThrowsException 2.328s passed
testIOExceptionThrownFromHttpClient 0.019s passed
testInvalidGetUploadUrlsPathConfiguration 0.018s passed
testInvalidSendProductPathConfiguration 0.024s passed
testInvalidUrlConfiguration 0.009s passed
testPayloadConfiguration 0.023s passed
testPayloadConfigurationException 0.019s passed
testProductAlreadyExistsDoesNotThrow 0.013s passed
testSendProductUrlConfigured 0.021s passed
testSendProductUrlConfiguredWithExtraPaths 0.007s passed
testSendProductUrlConfiguredWithExtraSlash 0.008s passed
testSendProductUrlConfiguredWithUrnReplacement 0.026s passed
testSendProductUrlWithDefaultPath 0.019s passed
testSendUploadUrlsConfigured 0.013s passed
testSendUploadUrlsConfiguredWithUrnReplacement 0.013s passed
testSendUploadUrlsWithDefaultPath 0.022s passed
testSignatureHistoryDoesNotIncludeOriginalSignature 0.101s passed
testSignatureHistoryDoesNotIncludeOriginalSignatureVersion 0.026s passed
testSignatureHistoryOnSign 0.026s passed

Standard error

FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='a5rW6g7DQ3ZwAlr+wmqZtsUf4VuWaR1xQSPKOwfpK/c=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 876ms] HttpClientImpl(24) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [29s 877ms] HttpClientImpl(25) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=421	[HttpClient-24-SelectorManager] [29s 878ms] HttpClientImpl(24) next timeout: 0
FINE	thread=421	[HttpClient-24-SelectorManager] [29s 879ms] HttpClientImpl(24) next expired: 0
FINE	thread=421	[HttpClient-24-SelectorManager] [29s 879ms] HttpClientImpl(24) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='CjjyAEg/71c1tHDZPAfJOomDUFltTMSLKcu4uY4v0ZA=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=422	[HttpClient-25-SelectorManager] [29s 888ms] HttpClientImpl(25) next timeout: 0
FINE	thread=422	[HttpClient-25-SelectorManager] [29s 889ms] HttpClientImpl(25) next expired: 0
FINE	thread=422	[HttpClient-25-SelectorManager] [29s 889ms] HttpClientImpl(25) Next deadline is 3000
FINE	thread=1	[Test worker] [29s 889ms] HttpClientImpl(26) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/new/path/to/hit
FINE	thread=1	[Test worker] [29s 891ms] HttpClientImpl(27) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=423	[HttpClient-26-SelectorManager] [29s 891ms] HttpClientImpl(26) next timeout: 0
FINE	thread=423	[HttpClient-26-SelectorManager] [29s 891ms] HttpClientImpl(26) next expired: 0
FINE	thread=423	[HttpClient-26-SelectorManager] [29s 891ms] HttpClientImpl(26) Next deadline is 3000
FINE	thread=424	[HttpClient-27-SelectorManager] [29s 893ms] HttpClientImpl(27) next timeout: 0
FINE	thread=424	[HttpClient-27-SelectorManager] [29s 894ms] HttpClientImpl(27) next expired: 0
FINE	thread=424	[HttpClient-27-SelectorManager] [29s 894ms] HttpClientImpl(27) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Cpm1gcDPEXNi/KS83WulQY+NCYu3UU1ruzdE5FVCSMg=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 902ms] HttpClientImpl(28) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=425	[HttpClient-28-SelectorManager] [29s 909ms] HttpClientImpl(28) next timeout: 0
FINE	thread=425	[HttpClient-28-SelectorManager] [29s 911ms] HttpClientImpl(28) next expired: 0
FINE	thread=425	[HttpClient-28-SelectorManager] [29s 912ms] HttpClientImpl(28) Next deadline is 3000
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='wxswNwLlTW06XIrNCrLJSaN61AD51X36mWpPb1Oj9pw=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature null to new signature MCwCFH7rPiFd5MKuwnKDYm3tE3Aa2ouaAhQbWWwkZkUdug7ibwOKiPvZvrmRFQ==
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-06-27T16:15:50.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-06-27T16:15:50.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-06-27T16:13:53.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-06-27T16:15:50.466Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1"},"signature":"MCwCFH7rPiFd5MKuwnKDYm3tE3Aa2ouaAhQbWWwkZkUdug7ibwOKiPvZvrmRFQ==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFH7rPiFd5MKuwnKDYm3tE3Aa2ouaAhQbWWwkZkUdug7ibwOKiPvZvrmRFQ==","signatureVersion":"v2"},{"signature":"MC4CFQCSN/6MzrxEoj/eMAR/yloaClgNqgIVAJGOurGIdPkUCN5lCYt5oT+xFmM9","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1751040950466 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1751040950466 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1751040950466 (1 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1751040950466 (3 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='HQ8HCP1TRGodUvNAP7HM0wKexWS/ziiLjqxiRSRimXI=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 5ms] HttpClientImpl(29) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/new/path/to/hit/with/replacement/{urn}
FINE	thread=1	[Test worker] [30s 8ms] HttpClientImpl(30) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=426	[HttpClient-29-SelectorManager] [30s 9ms] HttpClientImpl(29) next timeout: 0
FINE	thread=426	[HttpClient-29-SelectorManager] [30s 9ms] HttpClientImpl(29) next expired: 0
FINE	thread=426	[HttpClient-29-SelectorManager] [30s 9ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='sX0nO90Q5xiSTnA4gmskbvsGyVovewC1a7dSXrbYVCQ=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 15ms] HttpClientImpl(31) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=427	[HttpClient-30-SelectorManager] [30s 16ms] HttpClientImpl(30) next timeout: 0
FINE	thread=427	[HttpClient-30-SelectorManager] [30s 16ms] HttpClientImpl(30) next expired: 0
FINE	thread=427	[HttpClient-30-SelectorManager] [30s 16ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='bZOnmaVY60wgVZPfPk/Az1+BgDkozl3xRHNqPUFM4EE=' , 2ms
FINE	thread=428	[HttpClient-31-SelectorManager] [30s 22ms] HttpClientImpl(31) next timeout: 0
FINE	thread=428	[HttpClient-31-SelectorManager] [30s 24ms] HttpClientImpl(31) next expired: 0
FINE	thread=428	[HttpClient-31-SelectorManager] [30s 24ms] HttpClientImpl(31) Next deadline is 3000
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 27ms] HttpClientImpl(32) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [30s 34ms] HttpClientImpl(33) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=429	[HttpClient-32-SelectorManager] [30s 35ms] HttpClientImpl(32) next timeout: 0
FINE	thread=429	[HttpClient-32-SelectorManager] [30s 35ms] HttpClientImpl(32) next expired: 0
FINE	thread=429	[HttpClient-32-SelectorManager] [30s 36ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='/sZFtUeixQVqdBSBGKORnCl5Dio+NdzDua83rph7J+o=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 49ms] HttpClientImpl(34) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=430	[HttpClient-33-SelectorManager] [30s 52ms] HttpClientImpl(33) next timeout: 0
FINE	thread=430	[HttpClient-33-SelectorManager] [30s 52ms] HttpClientImpl(33) next expired: 0
FINE	thread=430	[HttpClient-33-SelectorManager] [30s 52ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-06-27T16:15:50.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-06-27T16:15:50.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-06-27T16:13:53.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-06-27T16:15:50.615Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MC0CFEZM004CCRSsZ36Pq5sgJHzRv2vQAhUAktSvIryMqP5UMR4PT40bRrlfOiA=","signatureVersion":"v2","signatureHistory":[{"signature":"MC0CFEZM004CCRSsZ36Pq5sgJHzRv2vQAhUAktSvIryMqP5UMR4PT40bRrlfOiA=","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1751040950615 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1751040950615 (0 ms) 
FINE	thread=431	[HttpClient-34-SelectorManager] [30s 56ms] HttpClientImpl(34) next timeout: 0
FINE	thread=431	[HttpClient-34-SelectorManager] [30s 58ms] HttpClientImpl(34) next expired: 0
FINE	thread=431	[HttpClient-34-SelectorManager] [30s 58ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=1	[null] send product exception, trying again
gov.usgs.earthquake.aws.HttpException: Error [500] sending product
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:460)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:446)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:351)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInSendProductThrowsException$13(AwsProductSenderTest.java:579)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInSendProductThrowsException(AwsProductSenderTest.java:578)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
Fri Jun 27 16:15:51 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
Fri Jun 27 16:15:52 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1751040950615
gov.usgs.earthquake.aws.HttpException: Error [500] sending product
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:460)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:446)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:358)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInSendProductThrowsException$13(AwsProductSenderTest.java:579)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInSendProductThrowsException(AwsProductSenderTest.java:578)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1751040950615 (2315 ms) 
FINER	thread=111	[null] running listener cleanup
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='fe7FCPwBxJ9NSUbv2SEWdOOCSBvMUHBAKM2E6mulsrA=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 376ms] HttpClientImpl(35) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/new/path/to/hit/with
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 377ms] HttpClientImpl(36) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=432	[HttpClient-35-SelectorManager] [32s 378ms] HttpClientImpl(35) next timeout: 0
FINE	thread=432	[HttpClient-35-SelectorManager] [32s 378ms] HttpClientImpl(35) next expired: 0
FINE	thread=432	[HttpClient-35-SelectorManager] [32s 378ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='lxp4Yz+AjKacVubAWtuSp3bzW5HO5ht/lEmsUw8TsZQ=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 383ms] HttpClientImpl(37) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=433	[HttpClient-36-SelectorManager] [32s 383ms] HttpClientImpl(36) next timeout: 0
FINE	thread=433	[HttpClient-36-SelectorManager] [32s 384ms] HttpClientImpl(36) next expired: 0
FINE	thread=433	[HttpClient-36-SelectorManager] [32s 384ms] HttpClientImpl(36) Next deadline is 3000
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/new/path/to/hit/with/replacement/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 384ms] HttpClientImpl(38) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=434	[HttpClient-37-SelectorManager] [32s 385ms] HttpClientImpl(37) next timeout: 0
FINE	thread=434	[HttpClient-37-SelectorManager] [32s 385ms] HttpClientImpl(37) next expired: 0
FINE	thread=434	[HttpClient-37-SelectorManager] [32s 385ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=435	[HttpClient-38-SelectorManager] [32s 386ms] HttpClientImpl(38) next timeout: 0
FINE	thread=435	[HttpClient-38-SelectorManager] [32s 386ms] HttpClientImpl(38) next expired: 0
FINE	thread=435	[HttpClient-38-SelectorManager] [32s 386ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='I3joW0XybdG1Zl4vkHIAxYkvKy0XODpO5l3k+8j60qI=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 392ms] HttpClientImpl(39) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='lSt68eP9DiAIoFcOOSl0rvMAPZrG2aPfaXpXpxbjN5s=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MC4CFQCGl59LTCIf5ZF6MDQTRx2MOPcq9AIVAJXIDAzyDeQyJC/OOX0zqcgb+IpE
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-06-27T16:15:52.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-06-27T16:15:52.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-06-27T16:13:53.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-06-27T16:15:52.958Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature":"test1234"},"signature":"MC4CFQCGl59LTCIf5ZF6MDQTRx2MOPcq9AIVAJXIDAzyDeQyJC/OOX0zqcgb+IpE","signatureVersion":"v2","signatureHistory":[{"signature":"MC4CFQCGl59LTCIf5ZF6MDQTRx2MOPcq9AIVAJXIDAzyDeQyJC/OOX0zqcgb+IpE","signatureVersion":"v2"},{"signature":"MCwCFGu/62Dw4enY3t24IB0pG1+1jQWCAhQyijACyWA4Xk3U+aiJVcLIUL0lNw==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1751040952958 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1751040952958 (0 ms) 
FINE	thread=436	[HttpClient-39-SelectorManager] [32s 400ms] HttpClientImpl(39) next timeout: 0
FINE	thread=436	[HttpClient-39-SelectorManager] [32s 401ms] HttpClientImpl(39) next expired: 0
FINE	thread=436	[HttpClient-39-SelectorManager] [32s 403ms] HttpClientImpl(39) Next deadline is 3000
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1751040952958 (11 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1751040952958 (13 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='7dV3azu24cd67AZJABjJ6wSNd4mlDDtzxxXc4TV5ifA=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 418ms] HttpClientImpl(40) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-06-27T16:15:52.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-06-27T16:15:52.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-06-27T16:13:53.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-06-27T16:15:52.984Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFG+Sfsb5xwAibxZS2Y3hx6Q4weBIAhQUBKgmdfD35BI9kT7fA1s/bHo9rw==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFG+Sfsb5xwAibxZS2Y3hx6Q4weBIAhQUBKgmdfD35BI9kT7fA1s/bHo9rw==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1751040952984 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1751040952984 (0 ms) 
FINE	thread=437	[HttpClient-40-SelectorManager] [32s 425ms] HttpClientImpl(40) next timeout: 0
FINE	thread=437	[HttpClient-40-SelectorManager] [32s 425ms] HttpClientImpl(40) next expired: 0
FINE	thread=437	[HttpClient-40-SelectorManager] [32s 426ms] HttpClientImpl(40) Next deadline is 3000
INFO	thread=1	[null] hub already has product
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1751040952984 (4 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
Fri Jun 27 16:15:53 UTC 2025
FINE	thread=1	Digest='kBIqoaNReZHi5MoDXa3fWCNw3p5yWYsCTOvwTJxb+/w=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 432ms] HttpClientImpl(41) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
WARNING	thread=1	Using deprecated signature version v1, consider updating to v2
FINE	thread=1	[null] notification id test urn:usgs-product:source:type:code:1751040953003
FINE	thread=1	[null] send product urn:usgs-product:source:type:code:1751040953003 (3 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:source:type:code:1751040953003 (3 ms) 
FINE	thread=438	[HttpClient-41-SelectorManager] [32s 439ms] HttpClientImpl(41) next timeout: 0
FINE	thread=438	[HttpClient-41-SelectorManager] [32s 440ms] HttpClientImpl(41) next expired: 0
FINE	thread=438	[HttpClient-41-SelectorManager] [32s 440ms] HttpClientImpl(41) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='CA/BGzK4HDLKU5dclZMIxS0axNn4DtVvCnFnXsn5zF4=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 456ms] HttpClientImpl(42) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=439	[HttpClient-42-SelectorManager] [32s 469ms] HttpClientImpl(42) next timeout: 0
FINE	thread=439	[HttpClient-42-SelectorManager] [32s 469ms] HttpClientImpl(42) next expired: 0
FINE	thread=439	[HttpClient-42-SelectorManager] [32s 469ms] HttpClientImpl(42) Next deadline is 3000
FINE	thread=1	Digest='efpQXf9+F8O1BceB3vgn2EDRpXBxwwtuWmZqGg74VWo=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 473ms] HttpClientImpl(43) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://earthquake.usgs.gov
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=440	[HttpClient-43-SelectorManager] [32s 492ms] HttpClientImpl(43) next timeout: 0
FINE	thread=440	[HttpClient-43-SelectorManager] [32s 492ms] HttpClientImpl(43) next expired: 0
FINE	thread=440	[HttpClient-43-SelectorManager] [32s 492ms] HttpClientImpl(43) Next deadline is 3000
FINE	thread=1	Digest='VHB4quO3F6pIFjN4BHn6k1t2tBIuRGn2srffpUMr3YI=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 494ms] HttpClientImpl(44) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 500ms] HttpClientImpl(45) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=441	[HttpClient-44-SelectorManager] [32s 500ms] HttpClientImpl(44) next timeout: 0
FINE	thread=441	[HttpClient-44-SelectorManager] [32s 500ms] HttpClientImpl(44) next expired: 0
FINE	thread=441	[HttpClient-44-SelectorManager] [32s 500ms] HttpClientImpl(44) Next deadline is 3000
FINE	thread=442	[HttpClient-45-SelectorManager] [32s 507ms] HttpClientImpl(45) next timeout: 0
FINE	thread=442	[HttpClient-45-SelectorManager] [32s 507ms] HttpClientImpl(45) next expired: 0
FINE	thread=442	[HttpClient-45-SelectorManager] [32s 507ms] HttpClientImpl(45) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='w73mETNL7/1mJ4085knvfYar7JBeHEgD0Z710NyCWNA=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 516ms] HttpClientImpl(46) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
FINE	thread=443	[HttpClient-46-SelectorManager] [32s 522ms] HttpClientImpl(46) next timeout: 0
FINE	thread=443	[HttpClient-46-SelectorManager] [32s 522ms] HttpClientImpl(46) next expired: 0
CONFIG	thread=1	[null] sendProductPath=/new/path/to/hit/with/replacement/{urn}
FINE	thread=443	[HttpClient-46-SelectorManager] [32s 523ms] HttpClientImpl(46) Next deadline is 3000
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 524ms] HttpClientImpl(47) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='HdULPxVuF8wdoetlH3EBx2kEkqdYWvgOMPr2QIYnVSA=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 539ms] HttpClientImpl(48) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=444	[HttpClient-47-SelectorManager] [32s 539ms] HttpClientImpl(47) next timeout: 0
FINE	thread=444	[HttpClient-47-SelectorManager] [32s 539ms] HttpClientImpl(47) next expired: 0
FINE	thread=444	[HttpClient-47-SelectorManager] [32s 539ms] HttpClientImpl(47) Next deadline is 3000
FINE	thread=445	[HttpClient-48-SelectorManager] [32s 546ms] HttpClientImpl(48) next timeout: 0
FINE	thread=445	[HttpClient-48-SelectorManager] [32s 546ms] HttpClientImpl(48) next expired: 0
FINE	thread=445	[HttpClient-48-SelectorManager] [32s 546ms] HttpClientImpl(48) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-06-27T16:15:53.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-06-27T16:15:53.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-06-27T16:13:53.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-06-27T16:15:53.104Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFD4FvXbvNUzeYtD2obk6iQVVjbyEAhRcE/3wAXFhv1bD354iUft1jtxSRg==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFD4FvXbvNUzeYtD2obk6iQVVjbyEAhRcE/3wAXFhv1bD354iUft1jtxSRg==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1751040953104
java.io.IOException
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1751040953104 (3 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Pw+G3cl/kNVuoJpZLIXlSwFVVMuf+fzI4Ug/gTcyDH8=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 564ms] HttpClientImpl(49) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://earthquake.usgs.gov
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
FINE	thread=446	[HttpClient-49-SelectorManager] [32s 570ms] HttpClientImpl(49) next timeout: 0
FINE	thread=446	[HttpClient-49-SelectorManager] [32s 570ms] HttpClientImpl(49) next expired: 0
FINE	thread=446	[HttpClient-49-SelectorManager] [32s 570ms] HttpClientImpl(49) Next deadline is 3000
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='K40iP2PfUBDvvyn6fmj9nzT9lr8APIoIN/TCsETkFfQ=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 581ms] HttpClientImpl(50) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 589ms] HttpClientImpl(51) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=447	[HttpClient-50-SelectorManager] [32s 589ms] HttpClientImpl(50) next timeout: 0
FINE	thread=447	[HttpClient-50-SelectorManager] [32s 590ms] HttpClientImpl(50) next expired: 0
FINE	thread=447	[HttpClient-50-SelectorManager] [32s 590ms] HttpClientImpl(50) Next deadline is 3000
FINE	thread=448	[HttpClient-51-SelectorManager] [32s 594ms] HttpClientImpl(51) next timeout: 0
FINE	thread=448	[HttpClient-51-SelectorManager] [32s 594ms] HttpClientImpl(51) next expired: 0
FINE	thread=448	[HttpClient-51-SelectorManager] [32s 594ms] HttpClientImpl(51) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='MCqj8/xRBjm4FWmUnmJYATU+XVEiijD6uQCIvn9VZeI=' , 6ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 601ms] HttpClientImpl(52) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 608ms] HttpClientImpl(53) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=449	[HttpClient-52-SelectorManager] [32s 608ms] HttpClientImpl(52) next timeout: 0
FINE	thread=449	[HttpClient-52-SelectorManager] [32s 608ms] HttpClientImpl(52) next expired: 0
FINE	thread=449	[HttpClient-52-SelectorManager] [32s 608ms] HttpClientImpl(52) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Ds7ZjuIgO4x2mVfQxFUia5UKehN02SmXUK4R53MDNio=' , 2ms
FINE	thread=450	[HttpClient-53-SelectorManager] [32s 625ms] HttpClientImpl(53) next timeout: 0
FINE	thread=450	[HttpClient-53-SelectorManager] [32s 625ms] HttpClientImpl(53) next expired: 0
FINE	thread=450	[HttpClient-53-SelectorManager] [32s 625ms] HttpClientImpl(53) Next deadline is 3000
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 629ms] HttpClientImpl(54) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/new/path/to/hit
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 636ms] HttpClientImpl(55) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=451	[HttpClient-54-SelectorManager] [32s 636ms] HttpClientImpl(54) next timeout: 0
FINE	thread=451	[HttpClient-54-SelectorManager] [32s 636ms] HttpClientImpl(54) next expired: 0
FINE	thread=451	[HttpClient-54-SelectorManager] [32s 637ms] HttpClientImpl(54) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='9Tr27HvqF++eBog1PEOQzy1VdZpUlsJFGRBEGVrVvWE=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 648ms] HttpClientImpl(56) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=452	[HttpClient-55-SelectorManager] [32s 649ms] HttpClientImpl(55) next timeout: 0
FINE	thread=452	[HttpClient-55-SelectorManager] [32s 649ms] HttpClientImpl(55) next expired: 0
FINE	thread=452	[HttpClient-55-SelectorManager] [32s 649ms] HttpClientImpl(55) Next deadline is 3000
FINE	thread=453	[HttpClient-56-SelectorManager] [32s 653ms] HttpClientImpl(56) next timeout: 0
FINE	thread=453	[HttpClient-56-SelectorManager] [32s 654ms] HttpClientImpl(56) next expired: 0
FINE	thread=453	[HttpClient-56-SelectorManager] [32s 654ms] HttpClientImpl(56) Next deadline is 3000
WARNING	thread=1	Using deprecated signature version v1, consider updating to v2
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='9Tr27HvqF++eBog1PEOQzy1VdZpUlsJFGRBEGVrVvWE=' , 0ms
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MCwCFEqLhidCqmpud3mcwdlTsc/6vrxCAhQV8OfF11ZSb7c9393COt3Z1l4yBQ==
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-06-27T16:15:53.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-06-27T16:15:53.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-06-27T16:13:53.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-06-27T16:15:53.212Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFEqLhidCqmpud3mcwdlTsc/6vrxCAhQV8OfF11ZSb7c9393COt3Z1l4yBQ==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFEqLhidCqmpud3mcwdlTsc/6vrxCAhQV8OfF11ZSb7c9393COt3Z1l4yBQ==","signatureVersion":"v2"},{"signature":"test1234","signatureVersion":"v1"},{"signature":"MCwCFCtGQK1tW7DnVkJgqhUnv6Al3IflAhQEHQtPsQD1SX5YcRZdkob5f6HtCg==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1751040953212 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1751040953212 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1751040953212 (2 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1751040953212 (5 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Zk4PuiUPX5hLrd1kc9GJOWkHtzEHX0K2aklKxrk56eQ=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 680ms] HttpClientImpl(57) proxySelector is sun.net.spi.DefaultProxySelector@4e4d6172 (user-supplied=false)
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=454	[HttpClient-57-SelectorManager] [32s 693ms] HttpClientImpl(57) next timeout: 0
FINE	thread=454	[HttpClient-57-SelectorManager] [32s 693ms] HttpClientImpl(57) next expired: 0
FINE	thread=454	[HttpClient-57-SelectorManager] [32s 693ms] HttpClientImpl(57) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-06-27T16:15:53.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-06-27T16:15:53.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-06-27T16:13:53.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-06-27T16:15:53.238Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MC4CFQCB7x6We+qaiLJo3M00ecAr8vb6pQIVAJZ0a3xXkrhmUvyA5qln4+uZok20","signatureVersion":"v2","signatureHistory":[{"signature":"MC4CFQCB7x6We+qaiLJo3M00ecAr8vb6pQIVAJZ0a3xXkrhmUvyA5qln4+uZok20","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls exception, trying again
gov.usgs.earthquake.aws.HttpException: Error [500] getting upload urls
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:399)
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:388)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:305)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInGetUploadUrlsThrowsException$14(AwsProductSenderTest.java:602)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInGetUploadUrlsThrowsException(AwsProductSenderTest.java:601)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
FINE	thread=421	[HttpClient-24-SelectorManager] [32s 882ms] HttpClientImpl(24) SelectorManager shutting down
FINE	thread=422	[HttpClient-25-SelectorManager] [32s 892ms] HttpClientImpl(25) SelectorManager shutting down
FINE	thread=423	[HttpClient-26-SelectorManager] [32s 894ms] HttpClientImpl(26) SelectorManager shutting down
FINE	thread=424	[HttpClient-27-SelectorManager] [32s 897ms] HttpClientImpl(27) SelectorManager shutting down
FINE	thread=425	[HttpClient-28-SelectorManager] [32s 914ms] HttpClientImpl(28) next timeout: 0
FINE	thread=425	[HttpClient-28-SelectorManager] [32s 914ms] HttpClientImpl(28) next expired: 0
FINE	thread=425	[HttpClient-28-SelectorManager] [32s 914ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=426	[HttpClient-29-SelectorManager] [33s 9ms] HttpClientImpl(29) SelectorManager shutting down
FINE	thread=427	[HttpClient-30-SelectorManager] [33s 19ms] HttpClientImpl(30) SelectorManager shutting down
FINE	thread=428	[HttpClient-31-SelectorManager] [33s 25ms] HttpClientImpl(31) SelectorManager shutting down
FINE	thread=429	[HttpClient-32-SelectorManager] [33s 39ms] HttpClientImpl(32) SelectorManager shutting down
FINE	thread=430	[HttpClient-33-SelectorManager] [33s 55ms] HttpClientImpl(33) SelectorManager shutting down
FINE	thread=431	[HttpClient-34-SelectorManager] [33s 61ms] HttpClientImpl(34) next timeout: 0
FINE	thread=431	[HttpClient-34-SelectorManager] [33s 61ms] HttpClientImpl(34) next expired: 0
FINE	thread=431	[HttpClient-34-SelectorManager] [33s 61ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
Fri Jun 27 16:15:54 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
Fri Jun 27 16:15:55 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
FINE	thread=432	[HttpClient-35-SelectorManager] [35s 379ms] HttpClientImpl(35) next timeout: 0
FINE	thread=432	[HttpClient-35-SelectorManager] [35s 379ms] HttpClientImpl(35) next expired: 0
FINE	thread=432	[HttpClient-35-SelectorManager] [35s 379ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=433	[HttpClient-36-SelectorManager] [35s 387ms] HttpClientImpl(36) next timeout: 0
FINE	thread=433	[HttpClient-36-SelectorManager] [35s 387ms] HttpClientImpl(36) next expired: 0
FINE	thread=433	[HttpClient-36-SelectorManager] [35s 387ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=435	[HttpClient-38-SelectorManager] [35s 388ms] HttpClientImpl(38) next timeout: 0
FINE	thread=434	[HttpClient-37-SelectorManager] [35s 388ms] HttpClientImpl(37) next timeout: 0
FINE	thread=435	[HttpClient-38-SelectorManager] [35s 388ms] HttpClientImpl(38) next expired: 0
FINE	thread=435	[HttpClient-38-SelectorManager] [35s 388ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=434	[HttpClient-37-SelectorManager] [35s 388ms] HttpClientImpl(37) next expired: 0
FINE	thread=434	[HttpClient-37-SelectorManager] [35s 388ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=436	[HttpClient-39-SelectorManager] [35s 412ms] HttpClientImpl(39) next timeout: 0
FINE	thread=436	[HttpClient-39-SelectorManager] [35s 412ms] HttpClientImpl(39) next expired: 0
FINE	thread=436	[HttpClient-39-SelectorManager] [35s 412ms] HttpClientImpl(39) Next deadline is 3000
Fri Jun 27 16:15:56 UTC 2025
FINE	thread=437	[HttpClient-40-SelectorManager] [35s 429ms] HttpClientImpl(40) next timeout: 0
FINE	thread=437	[HttpClient-40-SelectorManager] [35s 429ms] HttpClientImpl(40) next expired: 0
FINE	thread=437	[HttpClient-40-SelectorManager] [35s 429ms] HttpClientImpl(40) Next deadline is 3000
FINE	thread=438	[HttpClient-41-SelectorManager] [35s 443ms] HttpClientImpl(41) next timeout: 0
FINE	thread=438	[HttpClient-41-SelectorManager] [35s 443ms] HttpClientImpl(41) next expired: 0
FINE	thread=438	[HttpClient-41-SelectorManager] [35s 443ms] HttpClientImpl(41) Next deadline is 3000
FINE	thread=439	[HttpClient-42-SelectorManager] [35s 471ms] HttpClientImpl(42) next timeout: 0
FINE	thread=439	[HttpClient-42-SelectorManager] [35s 471ms] HttpClientImpl(42) next expired: 0
FINE	thread=439	[HttpClient-42-SelectorManager] [35s 471ms] HttpClientImpl(42) Next deadline is 3000
FINE	thread=440	[HttpClient-43-SelectorManager] [35s 493ms] HttpClientImpl(43) next timeout: 0
FINE	thread=440	[HttpClient-43-SelectorManager] [35s 493ms] HttpClientImpl(43) next expired: 0
FINE	thread=440	[HttpClient-43-SelectorManager] [35s 493ms] HttpClientImpl(43) Next deadline is 3000
FINE	thread=441	[HttpClient-44-SelectorManager] [35s 503ms] HttpClientImpl(44) next timeout: 0
FINE	thread=441	[HttpClient-44-SelectorManager] [35s 503ms] HttpClientImpl(44) next expired: 0
FINE	thread=441	[HttpClient-44-SelectorManager] [35s 503ms] HttpClientImpl(44) Next deadline is 3000
FINE	thread=442	[HttpClient-45-SelectorManager] [35s 509ms] HttpClientImpl(45) next timeout: 0
FINE	thread=442	[HttpClient-45-SelectorManager] [35s 509ms] HttpClientImpl(45) next expired: 0
FINE	thread=442	[HttpClient-45-SelectorManager] [35s 509ms] HttpClientImpl(45) Next deadline is 3000
FINE	thread=443	[HttpClient-46-SelectorManager] [35s 525ms] HttpClientImpl(46) next timeout: 0
FINE	thread=443	[HttpClient-46-SelectorManager] [35s 525ms] HttpClientImpl(46) next expired: 0
FINE	thread=443	[HttpClient-46-SelectorManager] [35s 525ms] HttpClientImpl(46) Next deadline is 3000
FINE	thread=444	[HttpClient-47-SelectorManager] [35s 540ms] HttpClientImpl(47) next timeout: 0
FINE	thread=444	[HttpClient-47-SelectorManager] [35s 540ms] HttpClientImpl(47) next expired: 0
FINE	thread=444	[HttpClient-47-SelectorManager] [35s 540ms] HttpClientImpl(47) Next deadline is 3000
FINE	thread=445	[HttpClient-48-SelectorManager] [35s 549ms] HttpClientImpl(48) next timeout: 0
FINE	thread=445	[HttpClient-48-SelectorManager] [35s 549ms] HttpClientImpl(48) next expired: 0
FINE	thread=445	[HttpClient-48-SelectorManager] [35s 549ms] HttpClientImpl(48) Next deadline is 3000
FINE	thread=446	[HttpClient-49-SelectorManager] [35s 573ms] HttpClientImpl(49) next timeout: 0
FINE	thread=446	[HttpClient-49-SelectorManager] [35s 573ms] HttpClientImpl(49) next expired: 0
FINE	thread=446	[HttpClient-49-SelectorManager] [35s 573ms] HttpClientImpl(49) Next deadline is 3000
FINE	thread=447	[HttpClient-50-SelectorManager] [35s 592ms] HttpClientImpl(50) next timeout: 0
FINE	thread=447	[HttpClient-50-SelectorManager] [35s 592ms] HttpClientImpl(50) next expired: 0
FINE	thread=447	[HttpClient-50-SelectorManager] [35s 592ms] HttpClientImpl(50) Next deadline is 3000
FINE	thread=448	[HttpClient-51-SelectorManager] [35s 597ms] HttpClientImpl(51) next timeout: 0
FINE	thread=448	[HttpClient-51-SelectorManager] [35s 597ms] HttpClientImpl(51) next expired: 0
FINE	thread=448	[HttpClient-51-SelectorManager] [35s 597ms] HttpClientImpl(51) Next deadline is 3000
FINE	thread=449	[HttpClient-52-SelectorManager] [35s 609ms] HttpClientImpl(52) next timeout: 0
FINE	thread=449	[HttpClient-52-SelectorManager] [35s 609ms] HttpClientImpl(52) next expired: 0
FINE	thread=449	[HttpClient-52-SelectorManager] [35s 609ms] HttpClientImpl(52) Next deadline is 3000
FINE	thread=450	[HttpClient-53-SelectorManager] [35s 628ms] HttpClientImpl(53) next timeout: 0
FINE	thread=450	[HttpClient-53-SelectorManager] [35s 628ms] HttpClientImpl(53) next expired: 0
FINE	thread=450	[HttpClient-53-SelectorManager] [35s 628ms] HttpClientImpl(53) Next deadline is 3000
FINE	thread=451	[HttpClient-54-SelectorManager] [35s 638ms] HttpClientImpl(54) next timeout: 0
FINE	thread=451	[HttpClient-54-SelectorManager] [35s 639ms] HttpClientImpl(54) next expired: 0
FINE	thread=451	[HttpClient-54-SelectorManager] [35s 639ms] HttpClientImpl(54) Next deadline is 3000
FINE	thread=452	[HttpClient-55-SelectorManager] [35s 652ms] HttpClientImpl(55) next timeout: 0
FINE	thread=452	[HttpClient-55-SelectorManager] [35s 652ms] HttpClientImpl(55) next expired: 0
FINE	thread=452	[HttpClient-55-SelectorManager] [35s 652ms] HttpClientImpl(55) Next deadline is 3000
FINE	thread=453	[HttpClient-56-SelectorManager] [35s 655ms] HttpClientImpl(56) next timeout: 0
FINE	thread=453	[HttpClient-56-SelectorManager] [35s 655ms] HttpClientImpl(56) next expired: 0
FINE	thread=453	[HttpClient-56-SelectorManager] [35s 655ms] HttpClientImpl(56) Next deadline is 3000
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=454	[HttpClient-57-SelectorManager] [35s 695ms] HttpClientImpl(57) next timeout: 0
FINE	thread=454	[HttpClient-57-SelectorManager] [35s 695ms] HttpClientImpl(57) next expired: 0
FINE	thread=454	[HttpClient-57-SelectorManager] [35s 695ms] HttpClientImpl(57) Next deadline is 3000
FINE	thread=425	[HttpClient-28-SelectorManager] [35s 918ms] HttpClientImpl(28) next timeout: 0
FINE	thread=425	[HttpClient-28-SelectorManager] [35s 918ms] HttpClientImpl(28) next expired: 0
FINE	thread=425	[HttpClient-28-SelectorManager] [35s 918ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=431	[HttpClient-34-SelectorManager] [36s 64ms] HttpClientImpl(34) next timeout: 0
FINE	thread=431	[HttpClient-34-SelectorManager] [36s 64ms] HttpClientImpl(34) next expired: 0
FINE	thread=431	[HttpClient-34-SelectorManager] [36s 64ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
Fri Jun 27 16:15:57 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1751040953238
gov.usgs.earthquake.aws.HttpException: Error [500] getting upload urls
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:399)
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:388)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:314)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInGetUploadUrlsThrowsException$14(AwsProductSenderTest.java:602)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInGetUploadUrlsThrowsException(AwsProductSenderTest.java:601)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1751040953238 (4494 ms)