AwsProductSenderTest

23

tests

0

failures

0

ignored

4.500s

duration

100%

successful

Tests

Test Duration Result
testCheckProductJsonSize 0.010s passed
testCheckProductJsonSizeThrowsException 0.013s passed
testHttpExceptionGetsRetriedException 0.021s passed
testHttpExceptionInGetUploadUrlsThrowsException 2.649s passed
testHttpExceptionInSendProductThrowsException 1.504s passed
testIOExceptionThrownFromHttpClient 0.026s passed
testInvalidGetUploadUrlsPathConfiguration 0.007s passed
testInvalidSendProductPathConfiguration 0.006s passed
testInvalidUrlConfiguration 0.006s passed
testPayloadConfiguration 0.012s passed
testPayloadConfigurationException 0.024s passed
testProductAlreadyExistsDoesNotThrow 0.012s passed
testSendProductUrlConfigured 0.008s passed
testSendProductUrlConfiguredWithExtraPaths 0.006s passed
testSendProductUrlConfiguredWithExtraSlash 0.006s passed
testSendProductUrlConfiguredWithUrnReplacement 0.014s passed
testSendProductUrlWithDefaultPath 0.009s passed
testSendUploadUrlsConfigured 0.009s passed
testSendUploadUrlsConfiguredWithUrnReplacement 0.009s passed
testSendUploadUrlsWithDefaultPath 0.006s passed
testSignatureHistoryDoesNotIncludeOriginalSignature 0.096s passed
testSignatureHistoryDoesNotIncludeOriginalSignatureVersion 0.013s passed
testSignatureHistoryOnSign 0.034s passed

Standard error

FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='t32YkoPlLl9oCGunb7/rq8XyblrTkLrAuojbIRV8szs=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 705ms] HttpClientImpl(27) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [29s 708ms] HttpClientImpl(28) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=433	[HttpClient-27-SelectorManager] [29s 709ms] HttpClientImpl(27) next timeout: 0
FINE	thread=433	[HttpClient-27-SelectorManager] [29s 709ms] HttpClientImpl(27) next expired: 0
FINE	thread=433	[HttpClient-27-SelectorManager] [29s 709ms] HttpClientImpl(27) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='Ysijet+fDk0/oCaidcmnSE2qD1FB8Z9X6/eu2JiCKzg=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 717ms] HttpClientImpl(29) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=434	[HttpClient-28-SelectorManager] [29s 717ms] HttpClientImpl(28) next timeout: 0
FINE	thread=434	[HttpClient-28-SelectorManager] [29s 717ms] HttpClientImpl(28) next expired: 0
FINE	thread=434	[HttpClient-28-SelectorManager] [29s 718ms] HttpClientImpl(28) 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=/new/path/to/hit
FINE	thread=1	[Test worker] [29s 718ms] HttpClientImpl(30) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=435	[HttpClient-29-SelectorManager] [29s 719ms] HttpClientImpl(29) next timeout: 0
FINE	thread=435	[HttpClient-29-SelectorManager] [29s 719ms] HttpClientImpl(29) next expired: 0
FINE	thread=435	[HttpClient-29-SelectorManager] [29s 719ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=436	[HttpClient-30-SelectorManager] [29s 721ms] HttpClientImpl(30) next timeout: 0
FINE	thread=436	[HttpClient-30-SelectorManager] [29s 721ms] HttpClientImpl(30) next expired: 0
FINE	thread=436	[HttpClient-30-SelectorManager] [29s 721ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='OB8u05Pz0ABMwbvNC0Y689MnM/O4dQOVuyy+BGlHmkM=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 728ms] HttpClientImpl(31) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=437	[HttpClient-31-SelectorManager] [29s 740ms] HttpClientImpl(31) next timeout: 0
FINE	thread=437	[HttpClient-31-SelectorManager] [29s 740ms] HttpClientImpl(31) next expired: 0
FINE	thread=437	[HttpClient-31-SelectorManager] [29s 740ms] HttpClientImpl(31) 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='Z8wH321OQ9FoKLZIVG0ZTSlY20l/dULfW4Uf0UTcJzQ=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature null to new signature MC0CFQCLO66ktbmLukuueGRb4ZVFYipQogIUMZ0zlfSTNORRpyWDLL8FJTAY/hg=
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-07-30T21:45:06.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-07-30T21:45:06.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-07-30T17:39:00.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-07-30T21:45:06.297Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1"},"signature":"MC0CFQCLO66ktbmLukuueGRb4ZVFYipQogIUMZ0zlfSTNORRpyWDLL8FJTAY/hg=","signatureVersion":"v2","signatureHistory":[{"signature":"MC0CFQCLO66ktbmLukuueGRb4ZVFYipQogIUMZ0zlfSTNORRpyWDLL8FJTAY/hg=","signatureVersion":"v2"},{"signature":"MCwCFExkJfXLtzeJs+PhEcAD5Xak3yB4AhRC9Fg4bgJz1YTz8AizrUl1p6idcA==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1753911906297 (3 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1753911906297 (1 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1753911906297 (0 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1753911906297 (5 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='LiD5EJDBhjyIsxId+hHrKYXpLn7RI4s7Zn0WYcO993E=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 823ms] HttpClientImpl(32) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (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] [29s 825ms] HttpClientImpl(33) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=438	[HttpClient-32-SelectorManager] [29s 827ms] HttpClientImpl(32) next timeout: 0
FINE	thread=438	[HttpClient-32-SelectorManager] [29s 827ms] HttpClientImpl(32) next expired: 0
FINE	thread=438	[HttpClient-32-SelectorManager] [29s 827ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='c1rN6Ri6P548Z57mk8bOS3PIjJVV3PUht8Z2b87wggc=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 830ms] HttpClientImpl(34) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=439	[HttpClient-33-SelectorManager] [29s 831ms] HttpClientImpl(33) next timeout: 0
FINE	thread=439	[HttpClient-33-SelectorManager] [29s 832ms] HttpClientImpl(33) next expired: 0
FINE	thread=439	[HttpClient-33-SelectorManager] [29s 832ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=440	[HttpClient-34-SelectorManager] [29s 837ms] HttpClientImpl(34) next timeout: 0
FINE	thread=440	[HttpClient-34-SelectorManager] [29s 837ms] HttpClientImpl(34) next expired: 0
FINE	thread=440	[HttpClient-34-SelectorManager] [29s 837ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=1	Digest='yZo0aeVH8ppeDswc6dYu05+2u6TjfMDj/nj/vBt/l+w=' , 6ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 843ms] HttpClientImpl(35) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
CONFIG	thread=1	[null] url=https://test
CONFIG	thread=1	[null] sign products=false
CONFIG	thread=1	[null] contentFormat = MAP
CONFIG	thread=1	[null] sendProductPath=/pdl/east/products/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [29s 845ms] HttpClientImpl(36) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=441	[HttpClient-35-SelectorManager] [29s 846ms] HttpClientImpl(35) next timeout: 0
FINE	thread=441	[HttpClient-35-SelectorManager] [29s 846ms] HttpClientImpl(35) next expired: 0
FINE	thread=441	[HttpClient-35-SelectorManager] [29s 846ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='JtNCN45aN9SdhF5K45tRxbrt8Zx1Ejsv7PO4JjIli94=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [29s 851ms] HttpClientImpl(37) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=442	[HttpClient-36-SelectorManager] [29s 851ms] HttpClientImpl(36) next timeout: 0
FINE	thread=442	[HttpClient-36-SelectorManager] [29s 852ms] HttpClientImpl(36) next expired: 0
FINE	thread=442	[HttpClient-36-SelectorManager] [29s 852ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-07-30T21:45:06.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-07-30T21:45:06.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-07-30T17:39:00.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-07-30T21:45:06.422Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFGRtsdBIrKTjxOlk6z0Uww5gnlM5AhQVrChpLxuQ3dD1XddJ7fNL2a/3Bg==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFGRtsdBIrKTjxOlk6z0Uww5gnlM5AhQVrChpLxuQ3dD1XddJ7fNL2a/3Bg==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1753911906422 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1753911906422 (1 ms) 
FINE	thread=443	[HttpClient-37-SelectorManager] [29s 860ms] HttpClientImpl(37) next timeout: 0
FINE	thread=443	[HttpClient-37-SelectorManager] [29s 861ms] HttpClientImpl(37) next expired: 0
FINE	thread=443	[HttpClient-37-SelectorManager] [29s 861ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=1	[null] send product exception, trying again
gov.usgs.earthquake.aws.HttpException: Error [500] sending product
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:460)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:446)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:351)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInSendProductThrowsException$13(AwsProductSenderTest.java:579)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInSendProductThrowsException(AwsProductSenderTest.java:578)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
Wed Jul 30 21:45:07 UTC 2025
FINER	thread=123	[null] running listener cleanup
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1753911906422
gov.usgs.earthquake.aws.HttpException: Error [500] sending product
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:460)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:446)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:358)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInSendProductThrowsException$13(AwsProductSenderTest.java:579)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInSendProductThrowsException(AwsProductSenderTest.java:578)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1753911906422 (1495 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='jCZUjeprnPmgKLcryFPTM3dYQzGbFWdDgHafQQikFQU=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 354ms] HttpClientImpl(38) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (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] [31s 356ms] HttpClientImpl(39) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=444	[HttpClient-38-SelectorManager] [31s 356ms] HttpClientImpl(38) next timeout: 0
FINE	thread=444	[HttpClient-38-SelectorManager] [31s 356ms] HttpClientImpl(38) next expired: 0
FINE	thread=444	[HttpClient-38-SelectorManager] [31s 356ms] HttpClientImpl(38) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='A66k39v34nWsShJ8hV9txvgLW1JWCJLfnqiYK2ZmUkk=' , 1ms
FINEST	thread=1	Signature is already in history.
FINE	thread=445	[HttpClient-39-SelectorManager] [31s 359ms] HttpClientImpl(39) next timeout: 0
FINE	thread=1	[Test worker] [31s 360ms] HttpClientImpl(40) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=445	[HttpClient-39-SelectorManager] [31s 361ms] HttpClientImpl(39) next expired: 0
FINE	thread=445	[HttpClient-39-SelectorManager] [31s 361ms] HttpClientImpl(39) 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] [31s 362ms] HttpClientImpl(41) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=447	[HttpClient-41-SelectorManager] [31s 363ms] HttpClientImpl(41) next timeout: 0
FINE	thread=447	[HttpClient-41-SelectorManager] [31s 363ms] HttpClientImpl(41) next expired: 0
FINE	thread=447	[HttpClient-41-SelectorManager] [31s 363ms] HttpClientImpl(41) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=446	[HttpClient-40-SelectorManager] [31s 365ms] HttpClientImpl(40) next timeout: 0
FINE	thread=446	[HttpClient-40-SelectorManager] [31s 365ms] HttpClientImpl(40) next expired: 0
FINE	thread=446	[HttpClient-40-SelectorManager] [31s 365ms] HttpClientImpl(40) Next deadline is 3000
FINE	thread=1	Digest='aNIfPoon4Q44fs7UL1/oq0qc8op/WcGWyUYal85t1Sg=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 367ms] HttpClientImpl(42) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=448	[HttpClient-42-SelectorManager] [31s 368ms] HttpClientImpl(42) next timeout: 0
FINE	thread=448	[HttpClient-42-SelectorManager] [31s 369ms] HttpClientImpl(42) next expired: 0
FINE	thread=448	[HttpClient-42-SelectorManager] [31s 369ms] 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='Z5Y51ktSO9eKochOoXdQxIfpU3O7JYaVMZ+EdimDqxw=' , 1ms
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MCwCFHOw20BJCaf8HGoBWaVHIjKm1SdfAhQL47j2Yy1kRfa69YYnv/SkhCrRTQ==
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-07-30T21:45:07.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-07-30T21:45:07.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-07-30T17:39:00.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-07-30T21:45:07.939Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature":"test1234"},"signature":"MCwCFHOw20BJCaf8HGoBWaVHIjKm1SdfAhQL47j2Yy1kRfa69YYnv/SkhCrRTQ==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFHOw20BJCaf8HGoBWaVHIjKm1SdfAhQL47j2Yy1kRfa69YYnv/SkhCrRTQ==","signatureVersion":"v2"},{"signature":"MCwCFENv9N+jfXyutVbXwsdgH/4HV6zJAhR/pvOXgkb8vSnaR6wSx/uXemWF+w==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1753911907939 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1753911907939 (0 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1753911907939 (0 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1753911907939 (1 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='+nrFgBe4SWk0snQkw2EasC5Bh1anCP8AZHc0siBJlSE=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 382ms] HttpClientImpl(43) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-07-30T21:45:07.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-07-30T21:45:07.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-07-30T17:39:00.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-07-30T21:45:07.953Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFAqe9TtLsWkEGF+H1B0J3/+UBUdjAhQHvvFf67Wx3VvT/z6za6RVP0EH/A==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFAqe9TtLsWkEGF+H1B0J3/+UBUdjAhQHvvFf67Wx3VvT/z6za6RVP0EH/A==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1753911907953 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1753911907953 (0 ms) 
INFO	thread=1	[null] hub already has product
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1753911907953 (3 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=449	[HttpClient-43-SelectorManager] [31s 391ms] HttpClientImpl(43) next timeout: 0
FINE	thread=449	[HttpClient-43-SelectorManager] [31s 391ms] HttpClientImpl(43) next expired: 0
FINE	thread=449	[HttpClient-43-SelectorManager] [31s 391ms] HttpClientImpl(43) Next deadline is 3000
FINE	thread=1	Digest='aiMYdKZAeiq6F9OE5dU5dTF6i3Pb1A7KpPMBSkyy4ME=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 397ms] HttpClientImpl(44) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
WARNING	thread=1	Using deprecated signature version v1, consider updating to v2
FINE	thread=1	[null] notification id test urn:usgs-product:source:type:code:1753911907980
FINE	thread=1	[null] send product urn:usgs-product:source:type:code:1753911907980 (2 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:source:type:code:1753911907980 (3 ms) 
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=450	[HttpClient-44-SelectorManager] [31s 410ms] HttpClientImpl(44) next timeout: 0
FINE	thread=450	[HttpClient-44-SelectorManager] [31s 412ms] HttpClientImpl(44) next expired: 0
FINE	thread=450	[HttpClient-44-SelectorManager] [31s 412ms] HttpClientImpl(44) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
Wed Jul 30 21:45:08 UTC 2025
FINE	thread=1	Digest='DrotX8w63GHpgzTHfqVh3IaiQbEls1HNNrLVpBbTE0o=' , 16ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 434ms] HttpClientImpl(45) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (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='h/HLbxeP1T1bhJHgorVU1PX5OmNm//eq4K0FwrT5owA=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 440ms] HttpClientImpl(46) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=451	[HttpClient-45-SelectorManager] [31s 441ms] HttpClientImpl(45) next timeout: 0
FINE	thread=451	[HttpClient-45-SelectorManager] [31s 441ms] HttpClientImpl(45) next expired: 0
FINE	thread=451	[HttpClient-45-SelectorManager] [31s 441ms] HttpClientImpl(45) 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
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINER	thread=123	[null] running listener cleanup
FINE	thread=1	Digest='1SvZ4lQ9f6BvI3vSUP+wozSEi73a7aWYK+00xU693iE=' , 3ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 446ms] HttpClientImpl(47) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=452	[HttpClient-46-SelectorManager] [31s 447ms] HttpClientImpl(46) next timeout: 0
FINE	thread=452	[HttpClient-46-SelectorManager] [31s 447ms] HttpClientImpl(46) next expired: 0
FINE	thread=452	[HttpClient-46-SelectorManager] [31s 447ms] HttpClientImpl(46) 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] [31s 448ms] HttpClientImpl(48) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=453	[HttpClient-47-SelectorManager] [31s 449ms] HttpClientImpl(47) next timeout: 0
FINE	thread=453	[HttpClient-47-SelectorManager] [31s 449ms] HttpClientImpl(47) next expired: 0
FINE	thread=453	[HttpClient-47-SelectorManager] [31s 449ms] HttpClientImpl(47) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='7v/38piIKvxKSc5AyjPYPTWUaiczMB8CH4uop5nKO+Q=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=454	[HttpClient-48-SelectorManager] [31s 459ms] HttpClientImpl(48) next timeout: 0
FINE	thread=454	[HttpClient-48-SelectorManager] [31s 460ms] HttpClientImpl(48) next expired: 0
FINE	thread=454	[HttpClient-48-SelectorManager] [31s 460ms] HttpClientImpl(48) Next deadline is 3000
FINE	thread=1	[Test worker] [31s 461ms] HttpClientImpl(49) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (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/replacement/{urn}
CONFIG	thread=1	[null] uploadUrlsPath=/pdl/east/products/{urn}/uploads
FINE	thread=1	[Test worker] [31s 462ms] HttpClientImpl(50) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=455	[HttpClient-49-SelectorManager] [31s 463ms] HttpClientImpl(49) next timeout: 0
FINE	thread=455	[HttpClient-49-SelectorManager] [31s 463ms] HttpClientImpl(49) next expired: 0
FINE	thread=455	[HttpClient-49-SelectorManager] [31s 463ms] HttpClientImpl(49) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='gWaeG9i1CsTri42UTGJRwoijAW2AcWboHDAZHNAj4JM=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 472ms] HttpClientImpl(51) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=456	[HttpClient-50-SelectorManager] [31s 473ms] HttpClientImpl(50) next timeout: 0
FINE	thread=456	[HttpClient-50-SelectorManager] [31s 474ms] HttpClientImpl(50) next expired: 0
FINE	thread=456	[HttpClient-50-SelectorManager] [31s 474ms] HttpClientImpl(50) Next deadline is 3000
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-07-30T21:45:08.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-07-30T21:45:08.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-07-30T17:39:00.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-07-30T21:45:08.042Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCE3tJ51kWbTC/BG8Foqsq03HnC50CFQCSPWyj9CISJKeEMtToYRVq+EMlgQ==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCE3tJ51kWbTC/BG8Foqsq03HnC50CFQCSPWyj9CISJKeEMtToYRVq+EMlgQ==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=457	[HttpClient-51-SelectorManager] [31s 484ms] HttpClientImpl(51) next timeout: 0
FINE	thread=457	[HttpClient-51-SelectorManager] [31s 484ms] HttpClientImpl(51) next expired: 0
FINE	thread=457	[HttpClient-51-SelectorManager] [31s 491ms] HttpClientImpl(51) Next deadline is 3000
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1753911908042
java.io.IOException
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1753911908042 (9 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='GXABRkrfkLC2jgiVMuE2Q8MbOM9hlHVmO2ewTmqrPa4=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 498ms] HttpClientImpl(52) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (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=1	Digest='CvIprtnhVuJsgUJ8dOd/lagMN0d4VkzA74EzB9ap0F8=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 505ms] HttpClientImpl(53) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=458	[HttpClient-52-SelectorManager] [31s 505ms] HttpClientImpl(52) next timeout: 0
FINE	thread=458	[HttpClient-52-SelectorManager] [31s 505ms] HttpClientImpl(52) next expired: 0
FINE	thread=458	[HttpClient-52-SelectorManager] [31s 505ms] HttpClientImpl(52) 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] [31s 506ms] HttpClientImpl(54) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=459	[HttpClient-53-SelectorManager] [31s 507ms] HttpClientImpl(53) next timeout: 0
FINE	thread=459	[HttpClient-53-SelectorManager] [31s 507ms] HttpClientImpl(53) next expired: 0
FINE	thread=459	[HttpClient-53-SelectorManager] [31s 507ms] HttpClientImpl(53) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='takbIYBZhfQV+6dEyMcfLwGJlr0HL/JVkzr1KOMKsPQ=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 512ms] HttpClientImpl(55) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=460	[HttpClient-54-SelectorManager] [31s 512ms] HttpClientImpl(54) next timeout: 0
FINE	thread=460	[HttpClient-54-SelectorManager] [31s 512ms] HttpClientImpl(54) next expired: 0
FINE	thread=460	[HttpClient-54-SelectorManager] [31s 513ms] HttpClientImpl(54) 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] [31s 514ms] HttpClientImpl(56) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=461	[HttpClient-55-SelectorManager] [31s 514ms] HttpClientImpl(55) next timeout: 0
FINE	thread=461	[HttpClient-55-SelectorManager] [31s 515ms] HttpClientImpl(55) next expired: 0
FINE	thread=461	[HttpClient-55-SelectorManager] [31s 515ms] HttpClientImpl(55) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='NXIIPtsHO7bHH8EsXo0+9wJz+6ekUbd0ZYha7MSOZgk=' , 2ms
FINE	thread=462	[HttpClient-56-SelectorManager] [31s 523ms] HttpClientImpl(56) next timeout: 0
FINE	thread=462	[HttpClient-56-SelectorManager] [31s 523ms] HttpClientImpl(56) next expired: 0
FINE	thread=462	[HttpClient-56-SelectorManager] [31s 523ms] HttpClientImpl(56) Next deadline is 3000
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 526ms] HttpClientImpl(57) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (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] [31s 527ms] HttpClientImpl(58) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=463	[HttpClient-57-SelectorManager] [31s 528ms] HttpClientImpl(57) next timeout: 0
FINE	thread=463	[HttpClient-57-SelectorManager] [31s 528ms] HttpClientImpl(57) next expired: 0
FINE	thread=463	[HttpClient-57-SelectorManager] [31s 528ms] HttpClientImpl(57) Next deadline is 3000
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='VulU+OSARi/J5/ihoBZG1hu1T3bgyJzvuBFDGpQvl0Q=' , 4ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 538ms] HttpClientImpl(59) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=464	[HttpClient-58-SelectorManager] [31s 539ms] HttpClientImpl(58) next timeout: 0
FINE	thread=464	[HttpClient-58-SelectorManager] [31s 539ms] HttpClientImpl(58) next expired: 0
FINE	thread=464	[HttpClient-58-SelectorManager] [31s 539ms] HttpClientImpl(58) Next deadline is 3000
WARNING	thread=1	Using deprecated signature version v1, consider updating to v2
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='VulU+OSARi/J5/ihoBZG1hu1T3bgyJzvuBFDGpQvl0Q=' , 0ms
FINE	thread=1	[null] Resigned product from original-signature test1234 to new signature MCwCFArpTZ/II5+SSYUEjsMwDzy78ytTAhQ4r8QhkAfo3OqREJ4mFche6g6tSA==
FINEST	thread=1	Signature is already in history.
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-07-30T21:45:08.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-07-30T21:45:08.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-07-30T17:39:00.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-07-30T21:45:08.105Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFArpTZ/II5+SSYUEjsMwDzy78ytTAhQ4r8QhkAfo3OqREJ4mFche6g6tSA==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFArpTZ/II5+SSYUEjsMwDzy78ytTAhQ4r8QhkAfo3OqREJ4mFche6g6tSA==","signatureVersion":"v2"},{"signature":"test1234","signatureVersion":"v1"},{"signature":"MCwCFG0o5uc2iyBOPzgjN5tBdfWOYqAYAhRdk99BOwXYf7HKvnT5LQRkELP6Hg==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=465	[HttpClient-59-SelectorManager] [31s 554ms] HttpClientImpl(59) next timeout: 0
FINE	thread=465	[HttpClient-59-SelectorManager] [31s 561ms] HttpClientImpl(59) next expired: 0
FINE	thread=465	[HttpClient-59-SelectorManager] [31s 561ms] HttpClientImpl(59) Next deadline is 3000
FINE	thread=1	[null] get upload urls urn:usgs-product:us:shakemap:abcd1234:1753911908105 (1 ms) 
FINE	thread=1	[null] upload contents urn:usgs-product:us:shakemap:abcd1234:1753911908105 (1 ms) 
FINE	thread=1	[null] send product urn:usgs-product:us:shakemap:abcd1234:1753911908105 (0 ms) 
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1753911908105 (2 ms) 
FINE	thread=1	Using digest version v2, algorithm=SHA-256
FINE	thread=1	Digest='ATfPZKiSW7GYGy550FSvlgZe/G+g1lGoSqufu3qEreI=' , 2ms
FINEST	thread=1	Signature is already in history.
FINE	thread=1	[Test worker] [31s 575ms] HttpClientImpl(60) proxySelector is sun.net.spi.DefaultProxySelector@153ce630 (user-supplied=false)
FINE	thread=1	Getting upload urls for {"contents":{"":{"length":33,"modified":"2025-07-30T21:45:08.000Z","path":"","sha256":"0y4HP6Ia60hnSCVWzz5FruqIJePtdy1rw8NzV2EQSy0=","type":"text/html","url":"data:text/html;base64,SSBhbSA8ZW0+aW5saW5lPC9lbT4gaHRtbCBjb250ZW50"},"test.txt":{"length":90,"modified":"2025-07-30T21:45:08.000Z","path":"test.txt","sha256":"f66uqrN9uuqSR0QxztWM0ZxCNzY+WozRW0BEGb4vmUk=","type":"text/plain","url":null},"jar/EIDSInstaller.jar":{"length":35415,"modified":"2025-07-30T17:39:00.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-07-30T21:45:08.146Z"},"links":[{"relation":"testrelation","uri":"http://google.com/"}],"properties":{"testprop":"testvalue","original-signature-version":"v1","original-signature":"test1234"},"signature":"MCwCFBwD1HBSE2Gc9UmcZPCBYvRi5QxlAhR/jOFf8WN4S5XyKVNt1tF4/AmIBw==","signatureVersion":"v2","signatureHistory":[{"signature":"MCwCFBwD1HBSE2Gc9UmcZPCBYvRi5QxlAhR/jOFf8WN4S5XyKVNt1tF4/AmIBw==","signatureVersion":"v2"}],"status":"UPDATE","type":"Feature"}
FINE	thread=466	[HttpClient-60-SelectorManager] [31s 585ms] HttpClientImpl(60) next timeout: 0
FINE	thread=466	[HttpClient-60-SelectorManager] [31s 585ms] HttpClientImpl(60) next expired: 0
FINE	thread=466	[HttpClient-60-SelectorManager] [31s 585ms] HttpClientImpl(60) Next deadline is 3000
FINE	thread=1	[null] get upload urls exception, trying again
gov.usgs.earthquake.aws.HttpException: Error [500] getting upload urls
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:399)
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:388)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:305)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInGetUploadUrlsThrowsException$14(AwsProductSenderTest.java:602)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInGetUploadUrlsThrowsException(AwsProductSenderTest.java:601)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
Wed Jul 30 21:45:09 UTC 2025
FINER	thread=123	[null] running listener cleanup
FINE	thread=433	[HttpClient-27-SelectorManager] [32s 712ms] HttpClientImpl(27) next timeout: 0
FINE	thread=433	[HttpClient-27-SelectorManager] [32s 712ms] HttpClientImpl(27) next expired: 0
FINE	thread=433	[HttpClient-27-SelectorManager] [32s 712ms] HttpClientImpl(27) Next deadline is 3000
FINE	thread=434	[HttpClient-28-SelectorManager] [32s 718ms] HttpClientImpl(28) next timeout: 0
FINE	thread=434	[HttpClient-28-SelectorManager] [32s 718ms] HttpClientImpl(28) next expired: 0
FINE	thread=434	[HttpClient-28-SelectorManager] [32s 718ms] HttpClientImpl(28) Next deadline is 3000
FINE	thread=435	[HttpClient-29-SelectorManager] [32s 722ms] HttpClientImpl(29) next timeout: 0
FINE	thread=436	[HttpClient-30-SelectorManager] [32s 722ms] HttpClientImpl(30) next timeout: 0
FINE	thread=435	[HttpClient-29-SelectorManager] [32s 722ms] HttpClientImpl(29) next expired: 0
FINE	thread=436	[HttpClient-30-SelectorManager] [32s 722ms] HttpClientImpl(30) next expired: 0
FINE	thread=435	[HttpClient-29-SelectorManager] [32s 722ms] HttpClientImpl(29) Next deadline is 3000
FINE	thread=436	[HttpClient-30-SelectorManager] [32s 722ms] HttpClientImpl(30) Next deadline is 3000
FINE	thread=437	[HttpClient-31-SelectorManager] [32s 743ms] HttpClientImpl(31) next timeout: 0
FINE	thread=437	[HttpClient-31-SelectorManager] [32s 743ms] HttpClientImpl(31) next expired: 0
FINE	thread=437	[HttpClient-31-SelectorManager] [32s 743ms] HttpClientImpl(31) Next deadline is 3000
FINE	thread=438	[HttpClient-32-SelectorManager] [32s 830ms] HttpClientImpl(32) next timeout: 0
FINE	thread=438	[HttpClient-32-SelectorManager] [32s 830ms] HttpClientImpl(32) next expired: 0
FINE	thread=438	[HttpClient-32-SelectorManager] [32s 830ms] HttpClientImpl(32) Next deadline is 3000
FINE	thread=439	[HttpClient-33-SelectorManager] [32s 835ms] HttpClientImpl(33) next timeout: 0
FINE	thread=439	[HttpClient-33-SelectorManager] [32s 835ms] HttpClientImpl(33) next expired: 0
FINE	thread=439	[HttpClient-33-SelectorManager] [32s 835ms] HttpClientImpl(33) Next deadline is 3000
FINE	thread=440	[HttpClient-34-SelectorManager] [32s 840ms] HttpClientImpl(34) next timeout: 0
FINE	thread=440	[HttpClient-34-SelectorManager] [32s 840ms] HttpClientImpl(34) next expired: 0
FINE	thread=440	[HttpClient-34-SelectorManager] [32s 840ms] HttpClientImpl(34) Next deadline is 3000
FINE	thread=441	[HttpClient-35-SelectorManager] [32s 849ms] HttpClientImpl(35) next timeout: 0
FINE	thread=441	[HttpClient-35-SelectorManager] [32s 849ms] HttpClientImpl(35) next expired: 0
FINE	thread=441	[HttpClient-35-SelectorManager] [32s 849ms] HttpClientImpl(35) Next deadline is 3000
FINE	thread=442	[HttpClient-36-SelectorManager] [32s 855ms] HttpClientImpl(36) next timeout: 0
FINE	thread=442	[HttpClient-36-SelectorManager] [32s 855ms] HttpClientImpl(36) next expired: 0
FINE	thread=442	[HttpClient-36-SelectorManager] [32s 855ms] HttpClientImpl(36) Next deadline is 3000
FINE	thread=443	[HttpClient-37-SelectorManager] [32s 863ms] HttpClientImpl(37) next timeout: 0
FINE	thread=443	[HttpClient-37-SelectorManager] [32s 863ms] HttpClientImpl(37) next expired: 0
FINE	thread=443	[HttpClient-37-SelectorManager] [32s 863ms] HttpClientImpl(37) Next deadline is 3000
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
Wed Jul 30 21:45:10 UTC 2025
FINER	thread=123	[null] running listener cleanup
FINE	thread=176	[null] running event archive policy (testPolicy)
WARNING	thread=176	[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=176	[null] purged 0 expired events and 0 expired unassociated products.
WARNING	thread=1	Exception sending product urn:usgs-product:us:shakemap:abcd1234:1753911908146
gov.usgs.earthquake.aws.HttpException: Error [500] getting upload urls
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:399)
	at gov.usgs.earthquake.aws.AwsProductSender.getUploadUrls(AwsProductSender.java:388)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:314)
	at gov.usgs.earthquake.aws.AwsProductSender.sendProduct(AwsProductSender.java:260)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.lambda$testHttpExceptionInGetUploadUrlsThrowsException$14(AwsProductSenderTest.java:602)
	at org.junit.Assert.assertThrows(Assert.java:1001)
	at org.junit.Assert.assertThrows(Assert.java:981)
	at gov.usgs.earthquake.aws.AwsProductSenderTest.testHttpExceptionInGetUploadUrlsThrowsException(AwsProductSenderTest.java:601)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
INFO	thread=1	[null] send product total urn:usgs-product:us:shakemap:abcd1234:1753911908146 (2635 ms)