Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes bug in invoker supervision on startup. #5050

Merged
merged 1 commit into from
Jan 26, 2021

Conversation

rabbah
Copy link
Member

@rabbah rabbah commented Jan 24, 2021

Description

The invoker health supervisor, on startup, eagerly went into the health state without confirming the test action was actually successful. This happens at startup, when the ring buffer is not yet primed. The patch herein adjusts the health protocol for the priming phase and stays unhealth/unresponsive if the test action failed.

Related issue and scope

My changes affect the following components

  • API
  • Controller
  • Message Bus (e.g., Kafka)
  • Loadbalancer
  • Invoker
  • Intrinsic actions (e.g., sequences, conductors)
  • Data stores (e.g., CouchDB)
  • Tests
  • Deployment
  • CLI
  • General tooling
  • Documentation

Types of changes

  • Bug fix (generally a non-breaking change which closes an issue).
  • Enhancement or new feature (adds new functionality).
  • Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

  • I signed an Apache CLA.
  • I reviewed the style guides and followed the recommendations (Travis CI will check :).
  • I added tests to cover my changes.
  • My changes require further changes to the documentation.
  • I updated the documentation where necessary.

gotoIfNotThere(Unresponsive)
} else {
gotoIfNotThere(Healthy)
result match {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes above are comments and semantically preserving refactoring for clarity. The substance of the PR is in the following case statements on lines 409, 413 and 417.

@codecov-io
Copy link

codecov-io commented Jan 24, 2021

Codecov Report

Merging #5050 (5d6e045) into master (5a847e3) will decrease coverage by 5.78%.
The diff coverage is 88.23%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #5050      +/-   ##
==========================================
- Coverage   81.41%   75.62%   -5.79%     
==========================================
  Files         199      199              
  Lines        9735     9741       +6     
  Branches      435      442       +7     
==========================================
- Hits         7926     7367     -559     
- Misses       1809     2374     +565     
Impacted Files Coverage Δ
...enwhisk/core/loadBalancer/InvokerSupervision.scala 89.26% <87.50%> (-0.25%) ⬇️
...e/openwhisk/core/containerpool/ContainerPool.scala 97.20% <100.00%> (+0.40%) ⬆️
...core/database/cosmosdb/RxObservableImplicits.scala 0.00% <0.00%> (-100.00%) ⬇️
...ore/database/cosmosdb/cache/CacheInvalidator.scala 0.00% <0.00%> (-100.00%) ⬇️
...e/database/cosmosdb/cache/ChangeFeedConsumer.scala 0.00% <0.00%> (-100.00%) ⬇️
...core/database/cosmosdb/CosmosDBArtifactStore.scala 0.00% <0.00%> (-95.85%) ⬇️
...sk/core/database/cosmosdb/CosmosDBViewMapper.scala 0.00% <0.00%> (-93.90%) ⬇️
...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala 0.00% <0.00%> (-92.31%) ⬇️
...enwhisk/connector/kafka/KamonMetricsReporter.scala 0.00% <0.00%> (-83.34%) ⬇️
...e/database/cosmosdb/cache/KafkaEventProducer.scala 0.00% <0.00%> (-78.58%) ⬇️
... and 26 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5a847e3...5d6e045. Read the comment docs.

@bdoyle0182
Copy link
Contributor

LGTM glad this got caught

@rabbah rabbah merged commit 6686820 into apache:master Jan 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants