Enable qjournal JN cluster to be set as dfs.namenode.shared.edits.dir to load test JNs #108
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Dynamometer spins up a simulated NN and makes it write edit logs to a local directory instead of a remote qjournal JN cluster because the primary objective of dynamometer was to load test NNs. But this prevents its usage in load testing JNs as well as an NNs performance w.r.t JN edit log sync.
This PR enables JN load testing using dynamometer by setting the property
dfs.namenode.shared.edits.dirif thenamenode_edits_dirconfig starts withqjournal://. If this condition is true, the same JN cluster is used fordfs.namenode.shared.edits.diras well asdfs.namenode.edits.dir. If the condition is false,dfs.namenode.shared.edits.diris left empty anddfs.namenode.edits.diris set to the regular local directory with the prefixfile://.All changes are limited to start-component.sh file which is used as a java resource by Client.java, the dynamometer client used to spin up infra.
Testing Done
Ran the following bash:
And got the output:
While this bash code:
Gives the output: