AwsProductSenderTest

25

tests

0

failures

0

ignored

9.991s

duration

100%

successful

Tests

Test Duration Result
test503SlowDownExceptionGetsRetried 1.431s passed
testCheckProductJsonSize 0.010s passed
testCheckProductJsonSizeThrowsException 0.018s passed
testHttpExceptionGetsRetriedException 0.015s passed
testHttpExceptionInGetUploadUrlsThrowsException 3.419s passed
testHttpExceptionInSendProductThrowsException 4.699s passed
testIOExceptionThrownFromHttpClient 0.012s passed
testInvalidGetUploadUrlsPathConfiguration 0.007s passed
testInvalidSendProductPathConfiguration 0.016s passed
testInvalidUrlConfiguration 0.011s passed
testPayloadConfiguration 0.011s passed
testPayloadConfigurationException 0.017s passed
testProductAlreadyExistsDoesNotThrow 0.012s passed
testProductTooLargeDoesNotThrow 0.024s passed
testSendProductUrlConfigured 0.008s passed
testSendProductUrlConfiguredWithExtraPaths 0.016s passed
testSendProductUrlConfiguredWithExtraSlash 0.024s passed
testSendProductUrlConfiguredWithUrnReplacement 0.009s passed
testSendProductUrlWithDefaultPath 0.019s passed
testSendUploadUrlsConfigured 0.014s passed
testSendUploadUrlsConfiguredWithUrnReplacement 0.015s passed
testSendUploadUrlsWithDefaultPath 0.008s passed
testSignatureHistoryDoesNotIncludeOriginalSignature 0.143s passed
testSignatureHistoryDoesNotIncludeOriginalSignatureVersion 0.016s passed
testSignatureHistoryOnSign 0.017s passed

Standard error

FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='gRhBceBUkTnjR899IKmYEfDnmnF1IDj2AJ9c5bIDoyc=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 995ms] HttpClientImpl(28) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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 997ms] HttpClientImpl(29) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=421	[HttpClient-28-SelectorManager] [30s 997ms] HttpClientImpl(28) next timeout: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [30s 997ms] HttpClientImpl(28) next expired: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [30s 997ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='NmJQ3b/yU87lOezt9Cx+6DJJS2Pjao1TAd0tC6hwYCw=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=422	[HttpClient-29-SelectorManager] [31s 7ms] HttpClientImpl(29) next timeout: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [31s 7ms] HttpClientImpl(29) next expired: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [31s 7ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=1	[Test worker] [31s 7ms] HttpClientImpl(30) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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] [31s 11ms] HttpClientImpl(31) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=423	[HttpClient-30-SelectorManager] [31s 11ms] HttpClientImpl(30) next timeout: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [31s 12ms] HttpClientImpl(30) next expired: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [31s 12ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=424	[HttpClient-31-SelectorManager] [31s 13ms] HttpClientImpl(31) next timeout: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [31s 14ms] HttpClientImpl(31) next expired: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [31s 14ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='mQkcSawQ6KkfcM0pL8cEECztLnr0NDa9VGrW3m2+m2c=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 21ms] HttpClientImpl(32) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=425	[HttpClient-32-SelectorManager] [31s 31ms] HttpClientImpl(32) next timeout: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [31s 31ms] HttpClientImpl(32) next expired: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [31s 31ms] HttpClientImpl(32) 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='x3nPP+0vCiZ77tkA4Ljk5dbUGr8LjSX1XEJvZfg3ji8=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature null to new signature MCwCFAtI7ydk9sz4C+vqRpVMB6W8yMR0AhRZIiOktM+JTL1aIoV+/GO1zPX2Hg==
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:36:54.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:36:54.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:36:54.191Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1"},"signature":"MCwCFAtI7ydk9sz4C+vqRpVMB6W8yMR0AhRZIiOktM+JTL1aIoV+/GO1zPX2Hg==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFAtI7ydk9sz4C+vqRpVMB6W8yMR0AhRZIiOktM+JTL1aIoV+/GO1zPX2Hg==","signatureVersion":"v2"},{"signature":"MCwCFHo63p0hzL1WMJ1lQhPZC/BfZqcEAhRRJpEOHTt1Qus6LvWW25kVZd/jtg==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1768340214191 (5 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1768340214191 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1768340214191 (1 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1768340214191 (6 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='ujU8PxeLDFbOE6GX5xmbIwYgkMz6mo5nlIS0L9oVHsI=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 170ms] HttpClientImpl(33) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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] [31s 173ms] HttpClientImpl(34) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=426	[HttpClient-33-SelectorManager] [31s 175ms] HttpClientImpl(33) next timeout: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [31s 175ms] HttpClientImpl(33) next expired: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [31s 175ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='2fW5Mlivf7eKAQ3yd9uMTQihP+4MVou7WbGsTiMpaZw=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 183ms] HttpClientImpl(35) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=427	[HttpClient-34-SelectorManager] [31s 184ms] HttpClientImpl(34) next timeout: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [31s 184ms] HttpClientImpl(34) next expired: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [31s 184ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=428	[HttpClient-35-SelectorManager] [31s 190ms] HttpClientImpl(35) next timeout: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [31s 191ms] HttpClientImpl(35) next expired: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [31s 191ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=1	Digest='J3dmEId+4xxdYAPLpbcJeiHGWIQ+nUmX3VNcAxivvG0=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 195ms] HttpClientImpl(36) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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] [31s 197ms] HttpClientImpl(37) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=429	[HttpClient-36-SelectorManager] [31s 198ms] HttpClientImpl(36) next timeout: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [31s 198ms] HttpClientImpl(36) next expired: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [31s 198ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='6qnuuzrUleOUewlxlnkq93IfMlYnGXguzxKGHE++pCk=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 205ms] HttpClientImpl(38) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=430	[HttpClient-37-SelectorManager] [31s 206ms] HttpClientImpl(37) next timeout: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [31s 206ms] HttpClientImpl(37) next expired: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [31s 206ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:36:54.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:36:54.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:36:54.373Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFEY9PMCYahpAuCGv2XJ55n6+4f4QAhQfBwk4wok0sSKvacTRQfE2V5XhMw==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFEY9PMCYahpAuCGv2XJ55n6+4f4QAhQfBwk4wok0sSKvacTRQfE2V5XhMw==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINER	thread=111	[null] running listener cleanup
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1768340214373 (8 ms) 
FINE	thread=431	[HttpClient-38-SelectorManager] [31s 221ms] HttpClientImpl(38) next timeout: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [31s 221ms] HttpClientImpl(38) next expired: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [31s 221ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1768340214373 (1 ms) 
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:463)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:449)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:352)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInSendProductThrowsException$13(AwsProductSenderTest.java:584)
	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:583)
	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=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:36:55 UTC 2026
FINER	thread=111	[null] running listener cleanup
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:36:56 UTC 2026
FINER	thread=111	[null] running listener cleanup
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:36:57 UTC 2026
FINE	thread=421	[HttpClient-28-SelectorManager] [34s] HttpClientImpl(28) next timeout: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [34s] HttpClientImpl(28) next expired: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [34s] HttpClientImpl(28) Next deadline is 3000
FINE	thread=422	[HttpClient-29-SelectorManager] [34s 8ms] HttpClientImpl(29) next timeout: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [34s 8ms] HttpClientImpl(29) next expired: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [34s 8ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=423	[HttpClient-30-SelectorManager] [34s 13ms] HttpClientImpl(30) next timeout: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [34s 13ms] HttpClientImpl(30) next expired: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [34s 13ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=424	[HttpClient-31-SelectorManager] [34s 17ms] HttpClientImpl(31) next timeout: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [34s 17ms] HttpClientImpl(31) next expired: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [34s 17ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=425	[HttpClient-32-SelectorManager] [34s 33ms] HttpClientImpl(32) next timeout: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [34s 33ms] HttpClientImpl(32) next expired: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [34s 33ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=426	[HttpClient-33-SelectorManager] [34s 176ms] HttpClientImpl(33) next timeout: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [34s 176ms] HttpClientImpl(33) next expired: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [34s 176ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=427	[HttpClient-34-SelectorManager] [34s 187ms] HttpClientImpl(34) next timeout: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [34s 187ms] HttpClientImpl(34) next expired: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [34s 187ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=428	[HttpClient-35-SelectorManager] [34s 192ms] HttpClientImpl(35) next timeout: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [34s 192ms] HttpClientImpl(35) next expired: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [34s 192ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=429	[HttpClient-36-SelectorManager] [34s 201ms] HttpClientImpl(36) next timeout: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [34s 201ms] HttpClientImpl(36) next expired: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [34s 201ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=430	[HttpClient-37-SelectorManager] [34s 207ms] HttpClientImpl(37) next timeout: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [34s 207ms] HttpClientImpl(37) next expired: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [34s 207ms] HttpClientImpl(37) Next deadline is 3000
FINER	thread=111	[null] running listener cleanup
FINE	thread=431	[HttpClient-38-SelectorManager] [34s 223ms] HttpClientImpl(38) next timeout: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [34s 223ms] HttpClientImpl(38) next expired: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [34s 223ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:36:58 UTC 2026
FINER	thread=111	[null] running listener cleanup
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:36:59 UTC 2026
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1768340214373
gov.usgs.earthquake.aws.HttpException: Error [500] sending product
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:463)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:449)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:359)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInSendProductThrowsException$13(AwsProductSenderTest.java:584)
	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:583)
	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:1768340214373 (4682 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='wabsA0emp+c8eDZ9XpWHQolTU4VEGhsQzXnSOrQXzvI=' , 5ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [35s 908ms] HttpClientImpl(39) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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] [35s 911ms] HttpClientImpl(40) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=432	[HttpClient-39-SelectorManager] [35s 912ms] HttpClientImpl(39) next timeout: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [35s 912ms] HttpClientImpl(39) next expired: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [35s 912ms] HttpClientImpl(39) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='qqDYfYqsVyG8S46OWkySPvjLm3YtSB/JdI+6G3YB4HA=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [35s 921ms] HttpClientImpl(41) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=433	[HttpClient-40-SelectorManager] [35s 921ms] HttpClientImpl(40) next timeout: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [35s 921ms] HttpClientImpl(40) next expired: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [35s 922ms] HttpClientImpl(40) 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] [35s 933ms] HttpClientImpl(42) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=434	[HttpClient-41-SelectorManager] [35s 936ms] HttpClientImpl(41) next timeout: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [35s 936ms] HttpClientImpl(41) next expired: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [35s 936ms] HttpClientImpl(41) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='pZr4RRTdT4mISQULbCX3udSoqCqprG4tZenjPPLzS1M=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [35s 942ms] HttpClientImpl(43) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=435	[HttpClient-42-SelectorManager] [35s 943ms] HttpClientImpl(42) next timeout: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [35s 943ms] HttpClientImpl(42) next expired: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [35s 943ms] HttpClientImpl(42) 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='zSltlRCafUfaPI7TVhSuX6HPxBlCCzBCmhtZgz7OALs=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MCwCFEN+eC5c0NazISPV1Vmt4fYb3z82AhRNTcqpNCj5yDJAarCDEsjpGuNBcg==
FINEST	thread=1	Signature is already in history.
FINE	thread=436	[HttpClient-43-SelectorManager] [35s 950ms] HttpClientImpl(43) next timeout: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [35s 952ms] HttpClientImpl(43) next expired: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [35s 952ms] HttpClientImpl(43) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:36:59.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:36:59.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:36:59.112Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature":"test1234"},"signature":"MCwCFEN+eC5c0NazISPV1Vmt4fYb3z82AhRNTcqpNCj5yDJAarCDEsjpGuNBcg==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFEN+eC5c0NazISPV1Vmt4fYb3z82AhRNTcqpNCj5yDJAarCDEsjpGuNBcg==","signatureVersion":"v2"},{"signature":"MC0CFD8OUof5Vlphg0n87fEGV9epN+rDAhUAgRwD5ppI4pyHWsOoI/acKTpn8sE=","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1768340219112 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1768340219112 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1768340219112 (0 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1768340219112 (2 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='V2hzZxgZlvNVQiYcp+M5SbAdFnZA88YwBfMphzMa3wg=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [35s 958ms] HttpClientImpl(44) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=437	[HttpClient-44-SelectorManager] [35s 960ms] HttpClientImpl(44) next timeout: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [35s 961ms] HttpClientImpl(44) next expired: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [35s 961ms] HttpClientImpl(44) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:36:59.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:36:59.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:36:59.129Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFCac3w7iOGxZt/LIY+eAHym4vWkcAhRxBEd6wEc76Vk2lqaSjMPPruq99w==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFCac3w7iOGxZt/LIY+eAHym4vWkcAhRxBEd6wEc76Vk2lqaSjMPPruq99w==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1768340219129 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1768340219129 (0 ms) 
INFO	thread=1	[null] hub already has product
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1768340219129 (4 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='8pGdnmUF4BBpQcksmJ63sGiAYJmwRnO0G9ou+fti6Ls=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [35s 974ms] HttpClientImpl(45) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=1	[null] notification id test urn:usgs-product:source:type:code:1768340219149
FINE	thread=1	[null] send product urn:usgs-product:source:type:code:1768340219149 (3 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:source:type:code:1768340219149 (4 ms) 
FINE	thread=438	[HttpClient-45-SelectorManager] [35s 982ms] HttpClientImpl(45) next timeout: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [35s 983ms] HttpClientImpl(45) next expired: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [35s 983ms] HttpClientImpl(45) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='23jyZiU6CQASGAjf6496S8fG1LTM5+bWIAeymWE+BBg=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [35s 989ms] HttpClientImpl(46) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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=1	Digest='AXss2oRmE59q3cnU+EmdHI41p6Uea04EWMwpCp8oYRY=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 7ms] HttpClientImpl(47) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=439	[HttpClient-46-SelectorManager] [36s 7ms] HttpClientImpl(46) next timeout: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [36s 8ms] HttpClientImpl(46) next expired: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [36s 8ms] HttpClientImpl(46) Next deadline is 3000
FINE	thread=440	[HttpClient-47-SelectorManager] [36s 13ms] HttpClientImpl(47) next timeout: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [36s 14ms] HttpClientImpl(47) next expired: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [36s 14ms] HttpClientImpl(47) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"test.txt":{"length":13,"modified":"2026-01-13T21:36:59.000Z","path":"test.txt","sha256":"lMQBjS3PMyciMVllntC0vBRGHPOU/h4YDitdZjk4dD0=","type":"text/plain","url":"data:text/plain;base64,dGVzdCBjb250ZW50cw=="}},"geometry":null,"id":{"code":"code","source":"source","type":"type","updateTime":"2026-01-13T21:36:59.185Z"},"links":[],"properties":{},"signature":null,"signatureVersion":"v1","signatureHistory":[],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:source:type:code:1768340219185 (1 ms) 
FINE	thread=1	[null] 503 slow down exception when uploading contents for urn:usgs-product:source:type:code:1768340219185, trying again
FINER	thread=111	[null] running listener cleanup
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:37:00 UTC 2026
FINE	thread=421	[HttpClient-28-SelectorManager] [37s 1ms] HttpClientImpl(28) next timeout: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [37s 2ms] HttpClientImpl(28) next expired: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [37s 2ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=422	[HttpClient-29-SelectorManager] [37s 11ms] HttpClientImpl(29) next timeout: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [37s 11ms] HttpClientImpl(29) next expired: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [37s 11ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=423	[HttpClient-30-SelectorManager] [37s 16ms] HttpClientImpl(30) next timeout: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [37s 16ms] HttpClientImpl(30) next expired: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [37s 16ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=424	[HttpClient-31-SelectorManager] [37s 20ms] HttpClientImpl(31) next timeout: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [37s 20ms] HttpClientImpl(31) next expired: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [37s 20ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=425	[HttpClient-32-SelectorManager] [37s 36ms] HttpClientImpl(32) next timeout: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [37s 36ms] HttpClientImpl(32) next expired: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [37s 37ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=426	[HttpClient-33-SelectorManager] [37s 179ms] HttpClientImpl(33) next timeout: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [37s 180ms] HttpClientImpl(33) next expired: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [37s 180ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=427	[HttpClient-34-SelectorManager] [37s 190ms] HttpClientImpl(34) next timeout: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [37s 190ms] HttpClientImpl(34) next expired: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [37s 190ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=428	[HttpClient-35-SelectorManager] [37s 193ms] HttpClientImpl(35) next timeout: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [37s 193ms] HttpClientImpl(35) next expired: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [37s 193ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=429	[HttpClient-36-SelectorManager] [37s 202ms] HttpClientImpl(36) next timeout: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [37s 203ms] HttpClientImpl(36) next expired: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [37s 203ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=430	[HttpClient-37-SelectorManager] [37s 208ms] HttpClientImpl(37) next timeout: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [37s 208ms] HttpClientImpl(37) next expired: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [37s 208ms] HttpClientImpl(37) Next deadline is 3000
FINER	thread=111	[null] running listener cleanup
FINE	thread=431	[HttpClient-38-SelectorManager] [37s 225ms] HttpClientImpl(38) next timeout: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [37s 226ms] HttpClientImpl(38) next expired: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [37s 226ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=1	[null] upload contents urn:usgs-product:source:type:code:1768340219185 (1318 ms) 
FINE	thread=1	[null] notification id test urn:usgs-product:source:type:code:1768340219185
FINE	thread=1	[null] send product urn:usgs-product:source:type:code:1768340219185 (2 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:source:type:code:1768340219185 (1321 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='JNdF0Wk72NeHIt9ziJcqe2hM+lRn3KcbkpxzGhIy1rE=' , 5ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 441ms] HttpClientImpl(48) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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=441	[HttpClient-48-SelectorManager] [37s 454ms] HttpClientImpl(48) next timeout: 0
FINE	thread=441	[HttpClient-48-SelectorManager] [37s 455ms] HttpClientImpl(48) next expired: 0
FINE	thread=441	[HttpClient-48-SelectorManager] [37s 455ms] HttpClientImpl(48) Next deadline is 3000
FINE	thread=1	Digest='58ZOzkdRHSjVsSbNRUJLftjGMlM93UUM5AIECS/7XsI=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 457ms] HttpClientImpl(49) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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] [37s 466ms] HttpClientImpl(50) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=442	[HttpClient-49-SelectorManager] [37s 467ms] HttpClientImpl(49) next timeout: 0
FINE	thread=442	[HttpClient-49-SelectorManager] [37s 467ms] HttpClientImpl(49) next expired: 0
FINE	thread=442	[HttpClient-49-SelectorManager] [37s 467ms] HttpClientImpl(49) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='NvU/VKgp01dCPjKP6oll0Ti7Jf15qt0388qjGFF4LDI=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 474ms] HttpClientImpl(51) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=443	[HttpClient-50-SelectorManager] [37s 475ms] HttpClientImpl(50) next timeout: 0
FINE	thread=443	[HttpClient-50-SelectorManager] [37s 475ms] HttpClientImpl(50) next expired: 0
FINE	thread=443	[HttpClient-50-SelectorManager] [37s 476ms] HttpClientImpl(50) 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] [37s 477ms] HttpClientImpl(52) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=444	[HttpClient-51-SelectorManager] [37s 478ms] HttpClientImpl(51) next timeout: 0
FINE	thread=444	[HttpClient-51-SelectorManager] [37s 478ms] HttpClientImpl(51) next expired: 0
FINE	thread=444	[HttpClient-51-SelectorManager] [37s 478ms] HttpClientImpl(51) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='xIELZYTKj+Qyk5Th6AZcqtpAulDQEGPzssBZYowPncU=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 484ms] HttpClientImpl(53) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=445	[HttpClient-52-SelectorManager] [37s 485ms] HttpClientImpl(52) next timeout: 0
FINE	thread=445	[HttpClient-52-SelectorManager] [37s 485ms] HttpClientImpl(52) next expired: 0
FINE	thread=445	[HttpClient-52-SelectorManager] [37s 485ms] HttpClientImpl(52) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:37:00.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:37:00.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:37:00.654Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFCGnoUYW9ni7a/LfGXO6LqEuxfLYAhQhRUzo5yBdN/RdbGivPETbDnCxXQ==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFCGnoUYW9ni7a/LfGXO6LqEuxfLYAhQhRUzo5yBdN/RdbGivPETbDnCxXQ==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1768340220654
java.io.IOException
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1768340220654 (2 ms) 
FINE	thread=446	[HttpClient-53-SelectorManager] [37s 492ms] HttpClientImpl(53) next timeout: 0
FINE	thread=446	[HttpClient-53-SelectorManager] [37s 493ms] HttpClientImpl(53) next expired: 0
FINE	thread=446	[HttpClient-53-SelectorManager] [37s 493ms] HttpClientImpl(53) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='OthXkmj9dK/lVHFIKQiQCWWn3sFA7XSuDUf/HWAVnX0=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 497ms] HttpClientImpl(54) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=447	[HttpClient-54-SelectorManager] [37s 500ms] HttpClientImpl(54) next timeout: 0
FINE	thread=1	Digest='wXiLbwvoAAxB3TDPIfK7x6vgnqlz0knA1pUGUkKBoUg=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 505ms] HttpClientImpl(55) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=447	[HttpClient-54-SelectorManager] [37s 505ms] HttpClientImpl(54) next expired: 0
FINE	thread=447	[HttpClient-54-SelectorManager] [37s 505ms] HttpClientImpl(54) 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=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [37s 506ms] HttpClientImpl(56) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=448	[HttpClient-55-SelectorManager] [37s 507ms] HttpClientImpl(55) next timeout: 0
FINE	thread=448	[HttpClient-55-SelectorManager] [37s 507ms] HttpClientImpl(55) next expired: 0
FINE	thread=448	[HttpClient-55-SelectorManager] [37s 507ms] HttpClientImpl(55) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='0CYRhpFdIx6FsgX6KnV/V1CMQdZfu/s8LeH/w9zr4Vo=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 512ms] HttpClientImpl(57) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=449	[HttpClient-56-SelectorManager] [37s 513ms] HttpClientImpl(56) next timeout: 0
FINE	thread=449	[HttpClient-56-SelectorManager] [37s 513ms] HttpClientImpl(56) next expired: 0
FINE	thread=449	[HttpClient-56-SelectorManager] [37s 513ms] HttpClientImpl(56) Next deadline is 3000
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] [37s 514ms] HttpClientImpl(58) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=450	[HttpClient-57-SelectorManager] [37s 514ms] HttpClientImpl(57) next timeout: 0
FINE	thread=450	[HttpClient-57-SelectorManager] [37s 514ms] HttpClientImpl(57) next expired: 0
FINE	thread=450	[HttpClient-57-SelectorManager] [37s 514ms] HttpClientImpl(57) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='B15t7MtSIl9lZ+kY9Xnd8xWapOXavlMo2K4I4DSIwUM=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=451	[HttpClient-58-SelectorManager] [37s 523ms] HttpClientImpl(58) next timeout: 0
FINE	thread=451	[HttpClient-58-SelectorManager] [37s 523ms] HttpClientImpl(58) next expired: 0
FINE	thread=451	[HttpClient-58-SelectorManager] [37s 523ms] HttpClientImpl(58) Next deadline is 3000
FINE	thread=1	[Test worker] [37s 523ms] HttpClientImpl(59) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (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] [37s 525ms] HttpClientImpl(60) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=452	[HttpClient-59-SelectorManager] [37s 525ms] HttpClientImpl(59) next timeout: 0
FINE	thread=452	[HttpClient-59-SelectorManager] [37s 525ms] HttpClientImpl(59) next expired: 0
FINE	thread=452	[HttpClient-59-SelectorManager] [37s 525ms] HttpClientImpl(59) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='NQEpy8ESfM6Ch0DZDC9oztx+hW8dEKDG3njisUynkqk=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 531ms] HttpClientImpl(61) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=453	[HttpClient-60-SelectorManager] [37s 532ms] HttpClientImpl(60) next timeout: 0
FINE	thread=453	[HttpClient-60-SelectorManager] [37s 532ms] HttpClientImpl(60) next expired: 0
FINE	thread=453	[HttpClient-60-SelectorManager] [37s 532ms] HttpClientImpl(60) 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='NQEpy8ESfM6Ch0DZDC9oztx+hW8dEKDG3njisUynkqk=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MC0CFBpvBxREaRYzUKh8BFdVFGf51mNeAhUAlHwY0/1fROG2ZeuYDKMAQfnum54=
FINEST	thread=1	Signature is already in history.
FINE	thread=454	[HttpClient-61-SelectorManager] [37s 540ms] HttpClientImpl(61) next timeout: 0
FINE	thread=454	[HttpClient-61-SelectorManager] [37s 540ms] HttpClientImpl(61) next expired: 0
FINE	thread=454	[HttpClient-61-SelectorManager] [37s 541ms] HttpClientImpl(61) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:37:00.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:37:00.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:37:00.701Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MC0CFBpvBxREaRYzUKh8BFdVFGf51mNeAhUAlHwY0/1fROG2ZeuYDKMAQfnum54=","signatureVersion":"v2","signatureHistory":[{"signature":"MC0CFBpvBxREaRYzUKh8BFdVFGf51mNeAhUAlHwY0/1fROG2ZeuYDKMAQfnum54=","signatureVersion":"v2"},{"signature":"test1234","signatureVersion":"v1"},{"signature":"MCwCFGZrbXxc8v7RM+0H6im9oBKXnS+XAhQs3uS1iNQ1Utz/EApkt91qaCHx/A==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1768340220701 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1768340220701 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1768340220701 (0 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1768340220701 (2 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='EjeWPwiU9X1FDi4hR5WJr1ADsrjFMt/cy/DsJ64HzCw=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 550ms] HttpClientImpl(62) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:37:00.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:37:00.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:37:00.720Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MC0CFQCJuWgAmAdRIr2rYdBCJTal0kt0aQIUaCJwJzNxwgjhKrZlK/71zDBxCwo=","signatureVersion":"v2","signatureHistory":[{"signature":"MC0CFQCJuWgAmAdRIr2rYdBCJTal0kt0aQIUaCJwJzNxwgjhKrZlK/71zDBxCwo=","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1768340220720
gov.usgs.earthquake.aws.AwsProductSender$MaxPayloadExceededException: Maximum payload (131072 bytes) exceeded.
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:400)
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:389)
	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$testProductTooLargeDoesNotThrow$17(AwsProductSenderTest.java:718)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testProductTooLargeDoesNotThrow(AwsProductSenderTest.java:717)
	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=455	[HttpClient-62-SelectorManager] [37s 565ms] HttpClientImpl(62) next timeout: 0
FINE	thread=455	[HttpClient-62-SelectorManager] [37s 568ms] HttpClientImpl(62) next expired: 0
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1768340220720 (7 ms) 
FINE	thread=455	[HttpClient-62-SelectorManager] [37s 570ms] HttpClientImpl(62) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='fJ3xJRgFL45kudfHsrSQlbs6CSFT2rwIRyUcEpAxYLQ=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [37s 575ms] HttpClientImpl(63) proxySelector is sun.net.spi.DefaultProxySelector@78a894fe (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2026-01-13T21:37:00.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2026-01-13T21:37:00.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2026-01-13T20:00:14.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":"2026-01-13T21:37:00.744Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MC0CFBZ6EFFNYNME1cXNOgNEFlrtvId3AhUAkCUagP2GPPYM0/1BhwimgQ7pTu0=","signatureVersion":"v2","signatureHistory":[{"signature":"MC0CFBZ6EFFNYNME1cXNOgNEFlrtvId3AhUAkCUagP2GPPYM0/1BhwimgQ7pTu0=","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:402)
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:389)
	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:607)
	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:606)
	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=456	[HttpClient-63-SelectorManager] [37s 592ms] HttpClientImpl(63) next timeout: 0
FINE	thread=456	[HttpClient-63-SelectorManager] [37s 597ms] HttpClientImpl(63) next expired: 0
FINE	thread=456	[HttpClient-63-SelectorManager] [37s 597ms] HttpClientImpl(63) Next deadline is 3000
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:37:01 UTC 2026
FINER	thread=111	[null] running listener cleanup
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:37:02 UTC 2026
FINE	thread=432	[HttpClient-39-SelectorManager] [38s 915ms] HttpClientImpl(39) next timeout: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [38s 915ms] HttpClientImpl(39) next expired: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [38s 915ms] HttpClientImpl(39) Next deadline is 3000
FINE	thread=433	[HttpClient-40-SelectorManager] [38s 923ms] HttpClientImpl(40) next timeout: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [38s 923ms] HttpClientImpl(40) next expired: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [38s 923ms] HttpClientImpl(40) Next deadline is 3000
FINE	thread=434	[HttpClient-41-SelectorManager] [38s 939ms] HttpClientImpl(41) next timeout: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [38s 939ms] HttpClientImpl(41) next expired: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [38s 940ms] HttpClientImpl(41) Next deadline is 3000
FINE	thread=435	[HttpClient-42-SelectorManager] [38s 946ms] HttpClientImpl(42) next timeout: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [38s 947ms] HttpClientImpl(42) next expired: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [38s 947ms] HttpClientImpl(42) Next deadline is 3000
FINE	thread=436	[HttpClient-43-SelectorManager] [38s 955ms] HttpClientImpl(43) next timeout: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [38s 955ms] HttpClientImpl(43) next expired: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [38s 955ms] HttpClientImpl(43) Next deadline is 3000
FINE	thread=437	[HttpClient-44-SelectorManager] [38s 964ms] HttpClientImpl(44) next timeout: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [38s 964ms] HttpClientImpl(44) next expired: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [38s 964ms] HttpClientImpl(44) Next deadline is 3000
FINE	thread=438	[HttpClient-45-SelectorManager] [38s 987ms] HttpClientImpl(45) next timeout: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [38s 987ms] HttpClientImpl(45) next expired: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [38s 987ms] HttpClientImpl(45) Next deadline is 3000
FINE	thread=439	[HttpClient-46-SelectorManager] [39s 12ms] HttpClientImpl(46) next timeout: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [39s 12ms] HttpClientImpl(46) next expired: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [39s 12ms] HttpClientImpl(46) Next deadline is 3000
FINE	thread=440	[HttpClient-47-SelectorManager] [39s 15ms] HttpClientImpl(47) next timeout: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [39s 16ms] HttpClientImpl(47) next expired: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [39s 16ms] HttpClientImpl(47) Next deadline is 3000
FINER	thread=111	[null] running listener cleanup
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:37:03 UTC 2026
FINE	thread=421	[HttpClient-28-SelectorManager] [40s 5ms] HttpClientImpl(28) next timeout: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [40s 5ms] HttpClientImpl(28) next expired: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [40s 5ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=422	[HttpClient-29-SelectorManager] [40s 13ms] HttpClientImpl(29) next timeout: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [40s 13ms] HttpClientImpl(29) next expired: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [40s 13ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=423	[HttpClient-30-SelectorManager] [40s 19ms] HttpClientImpl(30) next timeout: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [40s 19ms] HttpClientImpl(30) next expired: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [40s 19ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=424	[HttpClient-31-SelectorManager] [40s 23ms] HttpClientImpl(31) next timeout: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [40s 23ms] HttpClientImpl(31) next expired: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [40s 24ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=425	[HttpClient-32-SelectorManager] [40s 39ms] HttpClientImpl(32) next timeout: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [40s 39ms] HttpClientImpl(32) next expired: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [40s 39ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=426	[HttpClient-33-SelectorManager] [40s 181ms] HttpClientImpl(33) next timeout: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [40s 181ms] HttpClientImpl(33) next expired: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [40s 181ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=427	[HttpClient-34-SelectorManager] [40s 192ms] HttpClientImpl(34) next timeout: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [40s 192ms] HttpClientImpl(34) next expired: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [40s 192ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=428	[HttpClient-35-SelectorManager] [40s 196ms] HttpClientImpl(35) next timeout: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [40s 196ms] HttpClientImpl(35) next expired: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [40s 196ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=429	[HttpClient-36-SelectorManager] [40s 204ms] HttpClientImpl(36) next timeout: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [40s 204ms] HttpClientImpl(36) next expired: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [40s 204ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=430	[HttpClient-37-SelectorManager] [40s 211ms] HttpClientImpl(37) next timeout: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [40s 211ms] HttpClientImpl(37) next expired: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [40s 211ms] HttpClientImpl(37) Next deadline is 3000
FINER	thread=111	[null] running listener cleanup
FINE	thread=431	[HttpClient-38-SelectorManager] [40s 228ms] HttpClientImpl(38) next timeout: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [40s 228ms] HttpClientImpl(38) next expired: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [40s 228ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=441	[HttpClient-48-SelectorManager] [40s 458ms] HttpClientImpl(48) next timeout: 0
FINE	thread=441	[HttpClient-48-SelectorManager] [40s 458ms] HttpClientImpl(48) next expired: 0
FINE	thread=441	[HttpClient-48-SelectorManager] [40s 458ms] HttpClientImpl(48) Next deadline is 3000
FINE	thread=442	[HttpClient-49-SelectorManager] [40s 469ms] HttpClientImpl(49) next timeout: 0
FINE	thread=442	[HttpClient-49-SelectorManager] [40s 469ms] HttpClientImpl(49) next expired: 0
FINE	thread=442	[HttpClient-49-SelectorManager] [40s 470ms] HttpClientImpl(49) Next deadline is 3000
FINE	thread=443	[HttpClient-50-SelectorManager] [40s 478ms] HttpClientImpl(50) next timeout: 0
FINE	thread=443	[HttpClient-50-SelectorManager] [40s 478ms] HttpClientImpl(50) next expired: 0
FINE	thread=443	[HttpClient-50-SelectorManager] [40s 478ms] HttpClientImpl(50) Next deadline is 3000
FINE	thread=444	[HttpClient-51-SelectorManager] [40s 482ms] HttpClientImpl(51) next timeout: 0
FINE	thread=444	[HttpClient-51-SelectorManager] [40s 482ms] HttpClientImpl(51) next expired: 0
FINE	thread=444	[HttpClient-51-SelectorManager] [40s 482ms] HttpClientImpl(51) Next deadline is 3000
FINE	thread=445	[HttpClient-52-SelectorManager] [40s 489ms] HttpClientImpl(52) next timeout: 0
FINE	thread=445	[HttpClient-52-SelectorManager] [40s 489ms] HttpClientImpl(52) next expired: 0
FINE	thread=445	[HttpClient-52-SelectorManager] [40s 489ms] HttpClientImpl(52) Next deadline is 3000
FINE	thread=446	[HttpClient-53-SelectorManager] [40s 496ms] HttpClientImpl(53) next timeout: 0
FINE	thread=446	[HttpClient-53-SelectorManager] [40s 496ms] HttpClientImpl(53) next expired: 0
FINE	thread=446	[HttpClient-53-SelectorManager] [40s 496ms] HttpClientImpl(53) Next deadline is 3000
FINE	thread=447	[HttpClient-54-SelectorManager] [40s 505ms] HttpClientImpl(54) next timeout: 0
FINE	thread=447	[HttpClient-54-SelectorManager] [40s 506ms] HttpClientImpl(54) next expired: 0
FINE	thread=447	[HttpClient-54-SelectorManager] [40s 506ms] HttpClientImpl(54) Next deadline is 3000
FINE	thread=448	[HttpClient-55-SelectorManager] [40s 510ms] HttpClientImpl(55) next timeout: 0
FINE	thread=448	[HttpClient-55-SelectorManager] [40s 510ms] HttpClientImpl(55) next expired: 0
FINE	thread=448	[HttpClient-55-SelectorManager] [40s 510ms] HttpClientImpl(55) Next deadline is 3000
FINE	thread=449	[HttpClient-56-SelectorManager] [40s 515ms] HttpClientImpl(56) next timeout: 0
FINE	thread=449	[HttpClient-56-SelectorManager] [40s 515ms] HttpClientImpl(56) next expired: 0
FINE	thread=449	[HttpClient-56-SelectorManager] [40s 515ms] HttpClientImpl(56) Next deadline is 3000
FINE	thread=450	[HttpClient-57-SelectorManager] [40s 516ms] HttpClientImpl(57) next timeout: 0
FINE	thread=450	[HttpClient-57-SelectorManager] [40s 517ms] HttpClientImpl(57) next expired: 0
FINE	thread=450	[HttpClient-57-SelectorManager] [40s 517ms] HttpClientImpl(57) Next deadline is 3000
FINE	thread=451	[HttpClient-58-SelectorManager] [40s 526ms] HttpClientImpl(58) next timeout: 0
FINE	thread=451	[HttpClient-58-SelectorManager] [40s 526ms] HttpClientImpl(58) next expired: 0
FINE	thread=451	[HttpClient-58-SelectorManager] [40s 526ms] HttpClientImpl(58) Next deadline is 3000
FINE	thread=452	[HttpClient-59-SelectorManager] [40s 527ms] HttpClientImpl(59) next timeout: 0
FINE	thread=452	[HttpClient-59-SelectorManager] [40s 527ms] HttpClientImpl(59) next expired: 0
FINE	thread=452	[HttpClient-59-SelectorManager] [40s 527ms] HttpClientImpl(59) Next deadline is 3000
FINE	thread=453	[HttpClient-60-SelectorManager] [40s 534ms] HttpClientImpl(60) next timeout: 0
FINE	thread=453	[HttpClient-60-SelectorManager] [40s 534ms] HttpClientImpl(60) next expired: 0
FINE	thread=453	[HttpClient-60-SelectorManager] [40s 534ms] HttpClientImpl(60) Next deadline is 3000
FINE	thread=454	[HttpClient-61-SelectorManager] [40s 544ms] HttpClientImpl(61) next timeout: 0
FINE	thread=454	[HttpClient-61-SelectorManager] [40s 544ms] HttpClientImpl(61) next expired: 0
FINE	thread=454	[HttpClient-61-SelectorManager] [40s 544ms] HttpClientImpl(61) Next deadline is 3000
FINE	thread=455	[HttpClient-62-SelectorManager] [40s 571ms] HttpClientImpl(62) next timeout: 0
FINE	thread=455	[HttpClient-62-SelectorManager] [40s 571ms] HttpClientImpl(62) next expired: 0
FINE	thread=455	[HttpClient-62-SelectorManager] [40s 572ms] HttpClientImpl(62) Next deadline is 3000
FINE	thread=456	[HttpClient-63-SelectorManager] [40s 600ms] HttpClientImpl(63) next timeout: 0
FINE	thread=456	[HttpClient-63-SelectorManager] [40s 601ms] HttpClientImpl(63) next expired: 0
FINE	thread=456	[HttpClient-63-SelectorManager] [40s 601ms] HttpClientImpl(63) Next deadline is 3000
FINE	thread=165	[null] running event archive policy (testPolicy)
WARNING	thread=165	[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=165	[null] purged 0 expired events and 0 expired unassociated products.
Tue Jan 13 21:37:04 UTC 2026
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1768340220744
gov.usgs.earthquake.aws.HttpException: Error [500] getting upload urls
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:402)
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:389)
	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:607)
	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:606)
	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:1768340220744 (3399 ms)