HDDS-14771. Split server-side load testers from freon#9874
HDDS-14771. Split server-side load testers from freon#9874adoroszlai wants to merge 3 commits intoapache:masterfrom
Conversation
|
I think we should consider freon as a server component since its a part of Ozone deployment. IMHO the client components should be built using separate target and be published as a separate set of artifacts that can be used by different products. |
yandrey321
left a comment
There was a problem hiding this comment.
what is the intended Freon usage outside of Ozone deployment?
They are separate artifacts, which other products can depend on. Client components can also be used from "edge" nodes, where only client-side artifacts are present. Parts of Ozone CLI (
Freon is used in tests for at least 3 reasons:
|
What changes were proposed in this pull request?
Freon is a multi-purpose utility for load-testing Ozone. Most subcommands exercise public API, but some use server-side code (e.g. to simulate some component). Thus
ozone-freonhas dependency on multiple Ozone server components.In HDDS-14439 we are moving to Java 17 for server components, but keeping Java 8 for client components. The goal of this change is to make Freon a client component, thereby keep it usable with Java 8 in the future. It eliminates Freon's dependency on server components by splitting some of its generators into a new module
ozone-vapor, making Freon a pure client-side tool.We cannot use the top-level command
ozone freonfor both sets of commands, because subcommands share the same classpath. Therefore we also have to introduce a new top-level command (ozone vapor). These subcommands are rather obscure, so I think only mentioning this change in the release notes is OK.Package name is kept to reduce change.
https://issues.apache.org/jira/browse/HDDS-14771
How was this patch tested?
Existing tests cover Freon.
https://github.com/adoroszlai/ozone/actions/runs/22756767625