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

HDDS-3237. Recon should provide the list of datanodes that a missing … #753

Merged
merged 3 commits into from
Apr 4, 2020

Conversation

vivekratnavel
Copy link
Contributor

…container was present in.

What changes were proposed in this pull request?

  • Create a new table in SQLite to keep track of container replica history
  • Include the last known datanodes of a missing container in API (/api/v1/containers/missing)
  • Add a new API (/api/v1/containers/{id}/replicaHistory) to get complete history of container replicas.
  • Make changes in the UI to display datanode information in missing containers page.
  • Add unit and acceptance tests.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-3237

How was this patch tested?

  • Unit tests, acceptance tests and manual test via docker-compose.

To test the change,
cd hadoop-ozone/dist/target/ozone-0.6.0-SNAPSHOT/compose/ozone
Add the following lines to docker-config for faster testing

OZONE-SITE.XML_ozone.scm.dead.node.interval=2m
OZONE-SITE.XML_ozone.scm.stale.node.interval=1m

docker-compose up -d
docker-compose exec om bash

ozone freon rk --replicationType=RATIS --numOfVolumes=10 --numOfBuckets=10 --numOfKeys=10 --factor=ONE --numOfThreads=20

Now, exit the shell and bring down datanode
docker ps
docker kill <containerid>

Navigate to Recon UI and wait for a few minutes to see missing container alert in the Overview page. Clicking on the alert box should take you to the missing containers page:

Screen Shot 2020-04-01 at 10 07 06 PM

@vivekratnavel
Copy link
Contributor Author

@avijayanhwx @elek Please review

Copy link
Contributor

@avijayanhwx avijayanhwx left a comment

Choose a reason for hiding this comment

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

Overall, this approach looks good. Some comments inline. With this JIRA, we are creating a DB operation for every replica in every report. Can we take a follow up task to try this out against a busy cluster with around 1000 containers at least?

@avijayanhwx avijayanhwx self-requested a review April 4, 2020 03:52
Copy link
Contributor

@avijayanhwx avijayanhwx left a comment

Choose a reason for hiding this comment

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

Thank you for working on this @vivekratnavel.

@avijayanhwx avijayanhwx merged commit e54d0b5 into apache:master Apr 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants