OpenLiberty / ci.docker

Eclipse Public License 1.0
43 stars 59 forks source link

Enable user to specify size of SCC embedded in container #367

Closed mpirvu closed 1 year ago

mpirvu commented 1 year ago

Users who create container images for their Liberty based apps are encouraged to use "RUN configure.sh" in the Dockerfile for their containerized app. In turn, this script will call populate_scc.sh which will create a shared class cached (SCC) populated with Java classes and methods used during app start-up. Currently, the populate_scc.sh script uses a fixed size (80m) for the embedded SCC. Moreover, the variable TRIM_SCC that controls whether or not the SCC is trimmed to just the right size for the classes/methods used during start-up is set to "yes". To take advantage of the AOT cache from the Semeru Cloud Compiler, the client JVM (which runs a Liberty app) needs to have a SCC with some empty space in it, to be able to add new AOT methods received from the Semeru Cloud Compiler. This commit allows a user to change the default values for the TRIM_SCC and SCC_SIZE variables in order to create a Liberty app container with an embedded SCC that has some free space. To take advantage of this commit, the user would have to add somethig like ENV TRIM_SCC=no ENV SCC_SIZE=120m in his Dockerfile, before calling the configure.sh script

Signed-off-by: Marius Pirvu mpirvu@ca.ibm.com

mpirvu commented 1 year ago

@leochr @ymanton Could you please review this PR? Thanks

mpirvu commented 1 year ago

@leochr PR updated with requested changes