AwsProductSenderTest

25

tests

0

failures

0

ignored

7.476s

duration

100%

successful

Tests

Test Duration Result
test503SlowDownExceptionGetsRetried 4.202s passed
testCheckProductJsonSize 0.005s passed
testCheckProductJsonSizeThrowsException 0.017s passed
testHttpExceptionGetsRetriedException 0.019s passed
testHttpExceptionInGetUploadUrlsThrowsException 1.578s passed
testHttpExceptionInSendProductThrowsException 1.310s passed
testIOExceptionThrownFromHttpClient 0.008s passed
testInvalidGetUploadUrlsPathConfiguration 0.004s passed
testInvalidSendProductPathConfiguration 0.003s passed
testInvalidUrlConfiguration 0.010s passed
testPayloadConfiguration 0.010s passed
testPayloadConfigurationException 0.005s passed
testProductAlreadyExistsDoesNotThrow 0.023s passed
testProductTooLargeDoesNotThrow 0.024s passed
testSendProductUrlConfigured 0.008s passed
testSendProductUrlConfiguredWithExtraPaths 0.018s passed
testSendProductUrlConfiguredWithExtraSlash 0.024s passed
testSendProductUrlConfiguredWithUrnReplacement 0.016s passed
testSendProductUrlWithDefaultPath 0.018s passed
testSendUploadUrlsConfigured 0.018s passed
testSendUploadUrlsConfiguredWithUrnReplacement 0.014s passed
testSendUploadUrlsWithDefaultPath 0.004s passed
testSignatureHistoryDoesNotIncludeOriginalSignature 0.094s passed
testSignatureHistoryDoesNotIncludeOriginalSignatureVersion 0.032s passed
testSignatureHistoryOnSign 0.012s passed

Standard error

FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='rlrK03ygZhrjTOaYg5udZYUsAdWJ4puOQSgMM5Hwz5I=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 785ms] HttpClientImpl(28) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (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 791ms] HttpClientImpl(29) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=421	[HttpClient-28-SelectorManager] [30s 792ms] HttpClientImpl(28) next timeout: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [30s 792ms] HttpClientImpl(28) next expired: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [30s 792ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=422	[HttpClient-29-SelectorManager] [30s 799ms] HttpClientImpl(29) next timeout: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [30s 800ms] HttpClientImpl(29) next expired: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [30s 800ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=1	Digest='adZhW9YPIUx1R5eCo/9IroaIx1pSRFuMg878eiH9zI4=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 802ms] HttpClientImpl(30) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (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] [30s 807ms] HttpClientImpl(31) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=423	[HttpClient-30-SelectorManager] [30s 807ms] HttpClientImpl(30) next timeout: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [30s 807ms] HttpClientImpl(30) next expired: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [30s 807ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=424	[HttpClient-31-SelectorManager] [30s 812ms] HttpClientImpl(31) next timeout: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [30s 812ms] HttpClientImpl(31) next expired: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [30s 812ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='5cifGPhm8yd03AzgEyu/Ut32BaH8xdSBFpedhwddW9s=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 820ms] HttpClientImpl(32) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=425	[HttpClient-32-SelectorManager] [30s 826ms] HttpClientImpl(32) next timeout: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [30s 827ms] HttpClientImpl(32) next expired: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [30s 827ms] 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='9W89nEFGopPrxLC8euD88VzHk09YDn2ETMy+dNFoXuU=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature null to new signature MCwCFFlL8MHi8f7crYmo6MKv7hufUft9AhQFVTU/nMtCsQM4UVwcpNiDaV3kjw==
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:35.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:35.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:35.499Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1"},"signature":"MCwCFFlL8MHi8f7crYmo6MKv7hufUft9AhQFVTU/nMtCsQM4UVwcpNiDaV3kjw==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFFlL8MHi8f7crYmo6MKv7hufUft9AhQFVTU/nMtCsQM4UVwcpNiDaV3kjw==","signatureVersion":"v2"},{"signature":"MCwCFBITwu1nj7UWrFG+t9c2rvV1XABoAhQvfRWD+nNpceiYKckHNJq6Z2ZNnQ==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1766176415499 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1766176415499 (1 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1766176415499 (0 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1766176415499 (4 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='IClOGBltxZwZXYZx91RRDEhShFNMIc84/Hvl+VlUwR0=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 917ms] HttpClientImpl(33) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/new/path/to/hit/with/replacement/{urn}
FINE	thread=1	[Test worker] [30s 920ms] HttpClientImpl(34) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=426	[HttpClient-33-SelectorManager] [30s 922ms] HttpClientImpl(33) next timeout: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [30s 923ms] HttpClientImpl(33) next expired: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [30s 923ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='TDEFRIv4YU3RJCAF3jufVsNRw+xVzdRGKrsLPHuhUCs=' , 3ms
FINE	thread=427	[HttpClient-34-SelectorManager] [30s 930ms] HttpClientImpl(34) next timeout: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [30s 930ms] HttpClientImpl(34) next expired: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [30s 930ms] HttpClientImpl(34) Next deadline is 3000
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 932ms] HttpClientImpl(35) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='jxRRrkFU+fEOFN3OvvVLkKhy4t8P/5JAsaBzJIW7Orw=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 940ms] HttpClientImpl(36) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=428	[HttpClient-35-SelectorManager] [30s 941ms] HttpClientImpl(35) next timeout: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [30s 941ms] HttpClientImpl(35) next expired: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [30s 941ms] HttpClientImpl(35) 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] [30s 944ms] HttpClientImpl(37) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=429	[HttpClient-36-SelectorManager] [30s 945ms] HttpClientImpl(36) next timeout: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [30s 945ms] HttpClientImpl(36) next expired: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [30s 945ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=430	[HttpClient-37-SelectorManager] [30s 946ms] HttpClientImpl(37) next timeout: 0
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='EXkeY+n03vo/MIhnX2oy5fhdsfQ/AK7vN7K1rE+nCUk=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [30s 951ms] HttpClientImpl(38) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=430	[HttpClient-37-SelectorManager] [30s 952ms] HttpClientImpl(37) next expired: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [30s 952ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:35.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:35.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:35.630Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFCr2WCXL6IEw69Fs5PTw6EKTJ6VtAhQ5KrcoAjOMyE6L7kl5iNsaTbGSfw==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFCr2WCXL6IEw69Fs5PTw6EKTJ6VtAhQ5KrcoAjOMyE6L7kl5iNsaTbGSfw==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=431	[HttpClient-38-SelectorManager] [30s 965ms] HttpClientImpl(38) next timeout: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [30s 966ms] HttpClientImpl(38) next expired: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [30s 966ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1766176415630 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1766176415630 (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)
Fri Dec 19 20:33:36 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1766176415630
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:1766176415630 (1290 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='a8fCSHQiF0Exkm+q/2y2lhdVIhd/+hmGhc3B7xJP9bg=' , 8ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 271ms] HttpClientImpl(39) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/new/path/to/hit/with
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [32s 272ms] HttpClientImpl(40) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=432	[HttpClient-39-SelectorManager] [32s 273ms] HttpClientImpl(39) next timeout: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [32s 273ms] HttpClientImpl(39) next expired: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [32s 273ms] HttpClientImpl(39) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Jb81+iB0My8xbdA1K10BcusKyqyQ1CfO+6oUc7pn2Tg=' , 8ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 288ms] HttpClientImpl(41) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=433	[HttpClient-40-SelectorManager] [32s 289ms] HttpClientImpl(40) next timeout: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [32s 289ms] HttpClientImpl(40) next expired: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [32s 289ms] 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] [32s 293ms] HttpClientImpl(42) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=434	[HttpClient-41-SelectorManager] [32s 295ms] HttpClientImpl(41) next timeout: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [32s 295ms] HttpClientImpl(41) next expired: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [32s 295ms] HttpClientImpl(41) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='aZXCrm1GnEKpBQ3yOd+Q9b1c3Ui8yt72ObIk/5dUgjs=' , 2ms
FINE	thread=435	[HttpClient-42-SelectorManager] [32s 304ms] HttpClientImpl(42) next timeout: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [32s 304ms] HttpClientImpl(42) next expired: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [32s 304ms] HttpClientImpl(42) Next deadline is 3000
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 313ms] HttpClientImpl(43) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
Fri Dec 19 20:33:37 UTC 2025
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Y7SY6tB8Xl9hzrTHCjqEKv/hJa1g5E7pjkjmRft8ooE=' , 1ms
FINE	thread=436	[HttpClient-43-SelectorManager] [32s 323ms] HttpClientImpl(43) next timeout: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [32s 325ms] HttpClientImpl(43) next expired: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [32s 325ms] HttpClientImpl(43) Next deadline is 3000
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MCwCFH563TwaDLmtcn73wAUwxOuJZ6fcAhRk3W5WONx+DRUlRx5xnkkNOfPz7w==
FINEST	thread=1	Signature is already in history.
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:36.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:36.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:36.984Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature":"test1234"},"signature":"MCwCFH563TwaDLmtcn73wAUwxOuJZ6fcAhRk3W5WONx+DRUlRx5xnkkNOfPz7w==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFH563TwaDLmtcn73wAUwxOuJZ6fcAhRk3W5WONx+DRUlRx5xnkkNOfPz7w==","signatureVersion":"v2"},{"signature":"MC0CFEIQrEudd4zDOQe/qaPMN0qrb+YCAhUAk5qXVtLMl95yfrX6jtT1IDYTs+4=","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1766176416984 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1766176416984 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1766176416984 (1 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1766176416984 (2 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='qcD5hjcSkVJSWzAsnPUjUchmKU7FpdHzIqCOaW70Sls=' , 8ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 353ms] HttpClientImpl(44) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:37.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:37.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:37.026Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFGG8tFWeJTecvGYMt725CwPasdZfAhQsSnQqg5nH53IvplNSL4WKkp5FtA==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFGG8tFWeJTecvGYMt725CwPasdZfAhQsSnQqg5nH53IvplNSL4WKkp5FtA==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1766176417026 (2 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1766176417026 (0 ms) 
FINE	thread=437	[HttpClient-44-SelectorManager] [32s 361ms] HttpClientImpl(44) next timeout: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [32s 361ms] HttpClientImpl(44) next expired: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [32s 361ms] HttpClientImpl(44) Next deadline is 3000
INFO	thread=1	[null] hub already has product
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1766176417026 (6 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='5mbtx0BbvBNaIZdufbhvtUYU9Tq+yOgZozR43UL+pJc=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 370ms] HttpClientImpl(45) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=438	[HttpClient-45-SelectorManager] [32s 379ms] HttpClientImpl(45) next timeout: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [32s 379ms] HttpClientImpl(45) next expired: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [32s 379ms] HttpClientImpl(45) Next deadline is 3000
FINE	thread=1	[null] notification id test urn:usgs-product:source:type:code:1766176417055
FINE	thread=1	[null] send product urn:usgs-product:source:type:code:1766176417055 (6 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:source:type:code:1766176417055 (7 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Q4lOewwvqCGp+wuRKGwxfMNhT15jVtOiRJi9mbEYyTI=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 388ms] HttpClientImpl(46) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (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='spiopu/z9IiM1+jDqnQbGNvt5KbqrbqEoSacawy4cHo=' , 5ms
FINE	thread=439	[HttpClient-46-SelectorManager] [32s 396ms] HttpClientImpl(46) next timeout: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [32s 396ms] HttpClientImpl(46) next expired: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [32s 396ms] HttpClientImpl(46) Next deadline is 3000
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [32s 397ms] HttpClientImpl(47) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=440	[HttpClient-47-SelectorManager] [32s 404ms] HttpClientImpl(47) next timeout: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [32s 404ms] HttpClientImpl(47) next expired: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [32s 407ms] HttpClientImpl(47) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"test.txt":{"length":13,"modified":"2025-12-19T20:33:37.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":"2025-12-19T20:33:37.082Z"},"links":[],"properties":{},"signature":null,"signatureVersion":"v1","signatureHistory":[],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:source:type:code:1766176417082 (1 ms) 
FINE	thread=1	[null] 503 slow down exception when uploading contents for urn:usgs-product:source:type:code:1766176417082, trying again
FINER	thread=111	[null] running listener cleanup
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
Fri Dec 19 20:33:38 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
FINE	thread=421	[HttpClient-28-SelectorManager] [33s 795ms] HttpClientImpl(28) next timeout: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [33s 795ms] HttpClientImpl(28) next expired: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [33s 795ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=422	[HttpClient-29-SelectorManager] [33s 802ms] HttpClientImpl(29) next timeout: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [33s 802ms] HttpClientImpl(29) next expired: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [33s 802ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=423	[HttpClient-30-SelectorManager] [33s 810ms] HttpClientImpl(30) next timeout: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [33s 810ms] HttpClientImpl(30) next expired: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [33s 810ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=424	[HttpClient-31-SelectorManager] [33s 815ms] HttpClientImpl(31) next timeout: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [33s 815ms] HttpClientImpl(31) next expired: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [33s 816ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=425	[HttpClient-32-SelectorManager] [33s 829ms] HttpClientImpl(32) next timeout: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [33s 829ms] HttpClientImpl(32) next expired: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [33s 829ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=426	[HttpClient-33-SelectorManager] [33s 926ms] HttpClientImpl(33) next timeout: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [33s 926ms] HttpClientImpl(33) next expired: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [33s 926ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=427	[HttpClient-34-SelectorManager] [33s 932ms] HttpClientImpl(34) next timeout: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [33s 932ms] HttpClientImpl(34) next expired: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [33s 932ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=428	[HttpClient-35-SelectorManager] [33s 944ms] HttpClientImpl(35) next timeout: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [33s 945ms] HttpClientImpl(35) next expired: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [33s 945ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=429	[HttpClient-36-SelectorManager] [33s 946ms] HttpClientImpl(36) next timeout: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [33s 946ms] HttpClientImpl(36) next expired: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [33s 947ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=430	[HttpClient-37-SelectorManager] [33s 955ms] HttpClientImpl(37) next timeout: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [33s 955ms] HttpClientImpl(37) next expired: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [33s 955ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=431	[HttpClient-38-SelectorManager] [33s 969ms] HttpClientImpl(38) next timeout: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [33s 969ms] HttpClientImpl(38) next expired: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [33s 969ms] HttpClientImpl(38) Next deadline is 3000
Fri Dec 19 20:33:39 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=432	[HttpClient-39-SelectorManager] [35s 276ms] HttpClientImpl(39) next timeout: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [35s 276ms] HttpClientImpl(39) next expired: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [35s 276ms] HttpClientImpl(39) Next deadline is 3000
FINE	thread=433	[HttpClient-40-SelectorManager] [35s 292ms] HttpClientImpl(40) next timeout: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [35s 292ms] HttpClientImpl(40) next expired: 0
FINE	thread=433	[HttpClient-40-SelectorManager] [35s 292ms] HttpClientImpl(40) Next deadline is 3000
FINE	thread=434	[HttpClient-41-SelectorManager] [35s 298ms] HttpClientImpl(41) next timeout: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [35s 298ms] HttpClientImpl(41) next expired: 0
FINE	thread=434	[HttpClient-41-SelectorManager] [35s 298ms] HttpClientImpl(41) Next deadline is 3000
FINE	thread=435	[HttpClient-42-SelectorManager] [35s 306ms] HttpClientImpl(42) next timeout: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [35s 306ms] HttpClientImpl(42) next expired: 0
FINE	thread=435	[HttpClient-42-SelectorManager] [35s 306ms] HttpClientImpl(42) Next deadline is 3000
Fri Dec 19 20:33:40 UTC 2025
FINE	thread=436	[HttpClient-43-SelectorManager] [35s 326ms] HttpClientImpl(43) next timeout: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [35s 327ms] HttpClientImpl(43) next expired: 0
FINE	thread=436	[HttpClient-43-SelectorManager] [35s 327ms] HttpClientImpl(43) Next deadline is 3000
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=437	[HttpClient-44-SelectorManager] [35s 361ms] HttpClientImpl(44) next timeout: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [35s 362ms] HttpClientImpl(44) next expired: 0
FINE	thread=437	[HttpClient-44-SelectorManager] [35s 362ms] HttpClientImpl(44) Next deadline is 3000
FINE	thread=438	[HttpClient-45-SelectorManager] [35s 382ms] HttpClientImpl(45) next timeout: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [35s 382ms] HttpClientImpl(45) next expired: 0
FINE	thread=438	[HttpClient-45-SelectorManager] [35s 382ms] HttpClientImpl(45) Next deadline is 3000
FINE	thread=439	[HttpClient-46-SelectorManager] [35s 398ms] HttpClientImpl(46) next timeout: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [35s 398ms] HttpClientImpl(46) next expired: 0
FINE	thread=439	[HttpClient-46-SelectorManager] [35s 398ms] HttpClientImpl(46) Next deadline is 3000
FINE	thread=440	[HttpClient-47-SelectorManager] [35s 410ms] HttpClientImpl(47) next timeout: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [35s 410ms] HttpClientImpl(47) next expired: 0
FINE	thread=440	[HttpClient-47-SelectorManager] [35s 410ms] HttpClientImpl(47) Next deadline is 3000
FINER	thread=111	[null] running listener cleanup
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
Fri Dec 19 20:33:41 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=1	[null] upload contents urn:usgs-product:source:type:code:1766176417082 (4102 ms) 
FINE	thread=1	[null] notification id test urn:usgs-product:source:type:code:1766176417082
FINE	thread=1	[null] send product urn:usgs-product:source:type:code:1766176417082 (2 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:source:type:code:1766176417082 (4105 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='MnpbSS5xQmRjJzJSsJ5RxHXRq9wmWYz6gFv2m3Krkgg=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 595ms] HttpClientImpl(48) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (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=1	Digest='MlVTKDLOoH8M9sD+Nv59komS1YOZBumslplyeQBgCkg=' , 6ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 604ms] HttpClientImpl(49) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
CONFIG	thread=1	[null] url=https://test.com
CONFIG	thread=1	[null] sign products=false
FINE	thread=441	[HttpClient-48-SelectorManager] [36s 610ms] HttpClientImpl(48) next timeout: 0
FINE	thread=441	[HttpClient-48-SelectorManager] [36s 610ms] HttpClientImpl(48) next expired: 0
FINE	thread=441	[HttpClient-48-SelectorManager] [36s 610ms] HttpClientImpl(48) Next deadline is 3000
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] [36s 611ms] HttpClientImpl(50) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=442	[HttpClient-49-SelectorManager] [36s 611ms] HttpClientImpl(49) next timeout: 0
FINE	thread=442	[HttpClient-49-SelectorManager] [36s 612ms] HttpClientImpl(49) next expired: 0
FINE	thread=442	[HttpClient-49-SelectorManager] [36s 612ms] HttpClientImpl(49) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='JcdM726K1E/9CZH09kSs67KkGXFi7kufo5JR3HQRmcQ=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 620ms] HttpClientImpl(51) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=443	[HttpClient-50-SelectorManager] [36s 619ms] HttpClientImpl(50) next timeout: 0
FINE	thread=443	[HttpClient-50-SelectorManager] [36s 621ms] HttpClientImpl(50) next expired: 0
FINE	thread=443	[HttpClient-50-SelectorManager] [36s 621ms] 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] [36s 626ms] HttpClientImpl(52) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=444	[HttpClient-51-SelectorManager] [36s 626ms] HttpClientImpl(51) next timeout: 0
FINE	thread=444	[HttpClient-51-SelectorManager] [36s 626ms] HttpClientImpl(51) next expired: 0
FINE	thread=444	[HttpClient-51-SelectorManager] [36s 626ms] HttpClientImpl(51) Next deadline is 3000
FINE	thread=445	[HttpClient-52-SelectorManager] [36s 631ms] HttpClientImpl(52) next timeout: 0
FINE	thread=445	[HttpClient-52-SelectorManager] [36s 631ms] HttpClientImpl(52) next expired: 0
FINE	thread=445	[HttpClient-52-SelectorManager] [36s 631ms] HttpClientImpl(52) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='+dFP6x28ATg76VAMH5QCiT4iesiK4jmTB9BONNHL3ps=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 634ms] HttpClientImpl(53) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:41.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:41.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:41.315Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MC0CFQCKTbnXWwWRf1j8LKeEJazCUp044wIUW/ymC70iDu2xzHxcbD+1qnQHq90=","signatureVersion":"v2","signatureHistory":[{"signature":"MC0CFQCKTbnXWwWRf1j8LKeEJazCUp044wIUW/ymC70iDu2xzHxcbD+1qnQHq90=","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1766176421315
java.io.IOException
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1766176421315 (2 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Y95HAjIhKuZJscsQKqpKpBevsOzNhM7PEFCQss7SxOU=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 641ms] HttpClientImpl(54) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=446	[HttpClient-53-SelectorManager] [36s 642ms] HttpClientImpl(53) next timeout: 0
FINE	thread=446	[HttpClient-53-SelectorManager] [36s 642ms] HttpClientImpl(53) next expired: 0
FINE	thread=446	[HttpClient-53-SelectorManager] [36s 642ms] HttpClientImpl(53) Next deadline is 3000
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=1	Digest='h/FiHoa15F3ukJyrNDK7DjJ5R2tnfv3+TUJgBMg1zyk=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 646ms] HttpClientImpl(55) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=447	[HttpClient-54-SelectorManager] [36s 647ms] HttpClientImpl(54) next timeout: 0
FINE	thread=447	[HttpClient-54-SelectorManager] [36s 647ms] HttpClientImpl(54) next expired: 0
FINE	thread=447	[HttpClient-54-SelectorManager] [36s 647ms] 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] [36s 647ms] HttpClientImpl(56) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=448	[HttpClient-55-SelectorManager] [36s 648ms] HttpClientImpl(55) next timeout: 0
FINE	thread=448	[HttpClient-55-SelectorManager] [36s 648ms] HttpClientImpl(55) next expired: 0
FINE	thread=448	[HttpClient-55-SelectorManager] [36s 648ms] HttpClientImpl(55) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='IxDX5Qq7WuMXfZY1Q3PKedQUcbu8q93EdK/JzUOulVU=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 651ms] HttpClientImpl(57) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=449	[HttpClient-56-SelectorManager] [36s 651ms] HttpClientImpl(56) next timeout: 0
FINE	thread=449	[HttpClient-56-SelectorManager] [36s 651ms] HttpClientImpl(56) next expired: 0
FINE	thread=449	[HttpClient-56-SelectorManager] [36s 651ms] 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] [36s 652ms] HttpClientImpl(58) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=450	[HttpClient-57-SelectorManager] [36s 652ms] HttpClientImpl(57) next timeout: 0
FINE	thread=450	[HttpClient-57-SelectorManager] [36s 652ms] HttpClientImpl(57) next expired: 0
FINE	thread=450	[HttpClient-57-SelectorManager] [36s 652ms] HttpClientImpl(57) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='z6bqj2sGpeTbutUx429hlLT9PcdvUgy4IZryarIaeWo=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 658ms] HttpClientImpl(59) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=451	[HttpClient-58-SelectorManager] [36s 658ms] HttpClientImpl(58) next timeout: 0
FINE	thread=451	[HttpClient-58-SelectorManager] [36s 658ms] HttpClientImpl(58) next expired: 0
FINE	thread=451	[HttpClient-58-SelectorManager] [36s 658ms] HttpClientImpl(58) 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
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [36s 659ms] HttpClientImpl(60) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=452	[HttpClient-59-SelectorManager] [36s 659ms] HttpClientImpl(59) next timeout: 0
FINE	thread=452	[HttpClient-59-SelectorManager] [36s 659ms] HttpClientImpl(59) next expired: 0
FINE	thread=452	[HttpClient-59-SelectorManager] [36s 659ms] HttpClientImpl(59) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='5SXO5bbpMpsQmvJqpCjMCNw5zushexmZIonbtYDETIE=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 664ms] HttpClientImpl(61) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=453	[HttpClient-60-SelectorManager] [36s 665ms] HttpClientImpl(60) next timeout: 0
FINE	thread=453	[HttpClient-60-SelectorManager] [36s 665ms] HttpClientImpl(60) next expired: 0
FINE	thread=453	[HttpClient-60-SelectorManager] [36s 666ms] 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='5SXO5bbpMpsQmvJqpCjMCNw5zushexmZIonbtYDETIE=' , 1ms
FINE	thread=454	[HttpClient-61-SelectorManager] [36s 670ms] HttpClientImpl(61) next timeout: 0
FINE	thread=454	[HttpClient-61-SelectorManager] [36s 670ms] HttpClientImpl(61) next expired: 0
FINE	thread=454	[HttpClient-61-SelectorManager] [36s 670ms] HttpClientImpl(61) Next deadline is 3000
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MCwCFC4naS02WiaZNRSu+NPozrjWlm5AAhQ9VMUINtOdJb1Du6A8ZcdoOeExFA==
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:41.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:41.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:41.345Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFC4naS02WiaZNRSu+NPozrjWlm5AAhQ9VMUINtOdJb1Du6A8ZcdoOeExFA==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFC4naS02WiaZNRSu+NPozrjWlm5AAhQ9VMUINtOdJb1Du6A8ZcdoOeExFA==","signatureVersion":"v2"},{"signature":"test1234","signatureVersion":"v1"},{"signature":"MCwCFGGPT51/jtPFDuWEgdtRwGU7QXD6AhR2Kc5eMAeoYQfQU/qo1Q0IZZedbg==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1766176421345 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1766176421345 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1766176421345 (0 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1766176421345 (1 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='uGw+0RwoPM1U+T0Oxy95fo7gK/C173KBjmrYPFS2y60=' , 9ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 687ms] HttpClientImpl(62) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:41.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:41.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:41.358Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFCnHu1WoIEwUWbhrR17Tydrd+IjTAhRWWWT8ne/NtziMDztsCZuBSyfS+w==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFCnHu1WoIEwUWbhrR17Tydrd+IjTAhRWWWT8ne/NtziMDztsCZuBSyfS+w==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1766176421358
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)
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1766176421358 (2 ms) 
FINE	thread=455	[HttpClient-62-SelectorManager] [36s 697ms] HttpClientImpl(62) next timeout: 0
FINE	thread=455	[HttpClient-62-SelectorManager] [36s 697ms] HttpClientImpl(62) next expired: 0
FINE	thread=455	[HttpClient-62-SelectorManager] [36s 698ms] HttpClientImpl(62) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Aofjs898PsFST7p6uiVPv401K0GEruYDzj0cxUKKdxU=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [36s 705ms] HttpClientImpl(63) proxySelector is sun.net.spi.DefaultProxySelector@23f6a18d (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-12-19T20:33:41.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-12-19T20:33:41.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-12-19T19:03:54.000Z","path":"jar/EIDSInstaller.jar","sha256":"3aZqtykthIrmZEyU8L90+kZKsOT/qY8objYL5KzodKM=","type":"application/octet-stream","url":null}},"geometry":null,"id":{"code":"abcd1234","source":"us","type":"shakemap","updateTime":"2025-12-19T20:33:41.383Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFFnOQzlLlvpTvLaScn7NCSIAx1UZAhRbaFmNy0zLy7QuiR8L3M7/tk7Fgg==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFFnOQzlLlvpTvLaScn7NCSIAx1UZAhRbaFmNy0zLy7QuiR8L3M7/tk7Fgg==","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] [36s 715ms] HttpClientImpl(63) next timeout: 0
FINE	thread=456	[HttpClient-63-SelectorManager] [36s 715ms] HttpClientImpl(63) next expired: 0
FINE	thread=456	[HttpClient-63-SelectorManager] [36s 715ms] HttpClientImpl(63) Next deadline is 3000
FINER	thread=111	[null] running listener cleanup
FINE	thread=421	[HttpClient-28-SelectorManager] [36s 796ms] HttpClientImpl(28) next timeout: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [36s 796ms] HttpClientImpl(28) next expired: 0
FINE	thread=421	[HttpClient-28-SelectorManager] [36s 796ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=422	[HttpClient-29-SelectorManager] [36s 805ms] HttpClientImpl(29) next timeout: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [36s 805ms] HttpClientImpl(29) next expired: 0
FINE	thread=422	[HttpClient-29-SelectorManager] [36s 805ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=423	[HttpClient-30-SelectorManager] [36s 813ms] HttpClientImpl(30) next timeout: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [36s 813ms] HttpClientImpl(30) next expired: 0
FINE	thread=423	[HttpClient-30-SelectorManager] [36s 813ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=424	[HttpClient-31-SelectorManager] [36s 817ms] HttpClientImpl(31) next timeout: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [36s 817ms] HttpClientImpl(31) next expired: 0
FINE	thread=424	[HttpClient-31-SelectorManager] [36s 817ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=425	[HttpClient-32-SelectorManager] [36s 832ms] HttpClientImpl(32) next timeout: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [36s 832ms] HttpClientImpl(32) next expired: 0
FINE	thread=425	[HttpClient-32-SelectorManager] [36s 832ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=426	[HttpClient-33-SelectorManager] [36s 927ms] HttpClientImpl(33) next timeout: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [36s 927ms] HttpClientImpl(33) next expired: 0
FINE	thread=426	[HttpClient-33-SelectorManager] [36s 927ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=427	[HttpClient-34-SelectorManager] [36s 933ms] HttpClientImpl(34) next timeout: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [36s 933ms] HttpClientImpl(34) next expired: 0
FINE	thread=427	[HttpClient-34-SelectorManager] [36s 933ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=428	[HttpClient-35-SelectorManager] [36s 947ms] HttpClientImpl(35) next timeout: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [36s 947ms] HttpClientImpl(35) next expired: 0
FINE	thread=428	[HttpClient-35-SelectorManager] [36s 947ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=429	[HttpClient-36-SelectorManager] [36s 948ms] HttpClientImpl(36) next timeout: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [36s 948ms] HttpClientImpl(36) next expired: 0
FINE	thread=429	[HttpClient-36-SelectorManager] [36s 948ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=430	[HttpClient-37-SelectorManager] [36s 958ms] HttpClientImpl(37) next timeout: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [36s 958ms] HttpClientImpl(37) next expired: 0
FINE	thread=430	[HttpClient-37-SelectorManager] [36s 958ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=431	[HttpClient-38-SelectorManager] [36s 970ms] HttpClientImpl(38) next timeout: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [36s 970ms] HttpClientImpl(38) next expired: 0
FINE	thread=431	[HttpClient-38-SelectorManager] [36s 970ms] HttpClientImpl(38) Next deadline is 3000
Fri Dec 19 20:33:42 UTC 2025
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
FINER	thread=111	[null] running listener cleanup
FINE	thread=164	[null] running event archive policy (testPolicy)
WARNING	thread=164	[null] exception running event archive policy (testPolicy) 
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because the return value of "gov.usgs.earthquake.indexer.JDBCProductIndex.getConnection()" is null
	at gov.usgs.earthquake.indexer.JDBCProductIndex.getEvents(JDBCProductIndex.java:232)
	at gov.usgs.earthquake.indexer.Indexer.purgeExpiredProducts(Indexer.java:1838)
	at gov.usgs.earthquake.indexer.Indexer$1.run(Indexer.java:1785)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
INFO	thread=164	[null] purged 0 expired events and 0 expired unassociated products.
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1766176421383
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:1766176421383 (1566 ms) 
FINE	thread=432	[HttpClient-39-SelectorManager] [38s 279ms] HttpClientImpl(39) next timeout: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [38s 279ms] HttpClientImpl(39) next expired: 0
FINE	thread=432	[HttpClient-39-SelectorManager] [38s 279ms] HttpClientImpl(39) Next deadline is 3000