Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Date

Authors

John Simmons (Deactivated)

Status

Documenting

Summary

Reference service failed to start after upgrade: https://hee-tis.atlassian.net/browse/TIS21-2573

Impact

Some users were having problems accessing TIS for ~ 10 minutes

Non-technical Description

  • An automatically generated Pull Request was approved to update a component used in the reference service. Our build server noticed the change as it should do and the pipeline built and deployed the new application. When the application started in the stage environment it had an error in it and failed and kept restarting until we could revert it back to a known working state.


Trigger

  • Started due to a PR needing to be applied

Detection

  • Slack Alert at 13:14 on


Resolution

  • The offending component in the reference service was reverted back to the previously known working version and redeployed


Timeline

  • 13:14 - Alert on Slack: AWS Service 10.160.0.137:8088 is down

  • 13:21 - Docker reports reference container is unhealthy and boot looping (syslog: 2022-01-18 13:21:44.810 WARN 1 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'inMemorySwaggerResourcesProvider' defined in URL [jar:file:/app.jar!/WEB-INF/lib/springfox-swagger-common-3.0.0.jar!/springfox/documentation/swagger/web/InMemorySwaggerResourcesProvider.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [springfox.documentation.swagger.web.InMemorySwaggerResourcesProvider]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'swaggerSpringfoxApiDocket' defined in class path resource [io/github/jhipster/config/apidoc/SwaggerConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [springfox.documentation.spring.web.plugins.Docket]: Factory method 'swaggerSpringfoxApiDocket' threw exception; nested exception is java.lang.NoSuchMethodError: springfox.documentation.builders.PathSelectors.regex(Ljava/lang/String;)Lcom/google/common/base/Predicate;")

  • 13:24 - Andy Dingley creates new PR to revert to known working state

  • ~13:24 - John Simmons (Deactivated) approved PR

  • 13:24 - Jenkins started building repaired version

  • 13:27 - Fixed version starts on stage environment and is checked and approved

  • 13:28 - New version deployed to production

  • 13:29 - Fault is fixed in prod and everything is now working as it should be.


Root Cause(s)

  • An Updated component killed the reference service and wasn't checked fully before being approved into the production environment


Action Items


Lessons Learned

  •  Add some health check monitoring to the pipeline to stop rebooting containers from reaching the production environment.

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.