adoroszlai opened a new pull request, #9874:
URL: https://github.com/apache/ozone/pull/9874

   ## 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-freon` has 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 freon` for 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.
   
   `BaseFreonGenerator` is shared, Subcommands of `ozone vapor` need to 
   
   Package name is kept to reduce change.
   
   https://issues.apache.org/jira/browse/HDDS-14771
   
   ## How was this patch tested?
   
   ```bash
   $ ozone vapor --help
   Usage: ozone vapor [-hV] [--server] [--verbose] [-conf=<configurationPath>]
                      [-D=<String=String>]... [COMMAND]
   Load generator using Ozone server components
   ...
   Commands:
     cgdn                                 Offline container metadata generator 
for
                                            Ozone Datanodes.
     cgom                                 Offline container metadata generator 
for
                                            Ozone Manager
     cgscm                                Offline container metadata generator 
for
                                            Storage Container Manager
     cmdw, chunk-manager-disk-write       Write chunks as fast as possible.
     cr, container-replicator             Replicate / download closed 
containers.
     falg, follower-append-log-generator  Generate append log entries to a
                                            follower server
     lalg, leader-append-log-generator    Generate append log entries to a 
leader
                                            server
     scm-throughput-benchmark, stb        Benchmark for scm throughput.
     simulate-datanode                    Simulate one or many datanodes and
                                            register them to SCM.This is used to
                                            stress test SCM handling a massive
                                            cluster.
     strmg, streaming-generator           Create directory structure and stream
                                            them multiple times.
   ```
   
   Existing tests cover Freon.
   
   https://github.com/adoroszlai/ozone/actions/runs/22756767625


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to