Jordan Clark
09/15/2022, 4:38 PMortussolutions/commandbox:jdk11-alpine
with lucee-light@5.3.9.133, the build pipeline downloads the lex extensions we use like s3, json, jdts, etc directly into ${BOX_SERVER_APP_SERVERHOMEDIRECTORY}/WEB-INF/lucee-server/deploy/
so they are warmed up and deployed, then each instance doesn't have to download the extensions from the lucee release server. This has been running basically fine like this for a couple years. The build that got deployed last night started throwing the error:
S3 uploadFormFile failed The OSGi Bundle with name [s3.extension] is not available in version [0.9.4.155-SNAPSHOT] locally (/app/server/WEB-INF/lucee-server/bundles) or from the update provider (<http://release.lucee.org>), the following versions are available locally [0.9.4.154, 0.9.4.154].
We didn't change what version of the s3 extension we use (0.9.4.154), or what version of lucee we use, it was just a code push. The only thing I can think that changed between docker builds is the base docker image, but even then I can't figure why that would make lucee v5.3.9.133 thinks it needs a different s3 extension version to run?
This has happened twice before, in exactly the same way. The fix for the problem was to bump the s3 extension to the snapshot release 0.9.4.155-SNAPSHOT, then lucee was happy and working the same. Its a bit unsettling when this to issue happens, I've come to expect docker images to be very consistent, I wouldn't expect this type of compatibility issue unless I was changing the lucee server.
Next steps is we're looking to change our build process from lucee-light to lucee regular, hoping the bundled extensions are more consistent, has anyone else run into this issue?dswitzer
09/15/2022, 4:41 PMJordan Clark
09/15/2022, 4:46 PMEvil Ware
09/15/2022, 4:49 PMzackster
09/15/2022, 4:51 PMJordan Clark
09/15/2022, 4:59 PMcreateArchiveFromMapping()
into .lar files, so maybe as that ticket is showing, that compile step is hardwiring the extension version into the files?zackster
09/15/2022, 5:00 PMJordan Clark
09/15/2022, 5:01 PMENV BOX_SERVER_APP_CFENGINE=lucee-light@5.3.9.133
the compile step is done with a box task run build.cfc
executionzackster
09/15/2022, 5:37 PMJordan Clark
09/15/2022, 8:21 PMbox task run
that calls lucee's createArchiveFromMapping() that compiles the cfm/cfc code into a lar, somehow that is embedding the extension dependancy (for s3 0.9.4.155-SNAPSHOT) from lucee v5.3.9.160 that is baked into the box cli into the lar archive/bytecode. This conflicted with the actual application server is running lucee v5.3.9.133 which needs and had s3 0.9.4.154zackster
09/16/2022, 7:21 AMadmin action="compileMapping"
type="server"
password=request.SERVERADMINPASSWORD
virtual="/"
stoponerror="false";
Jordan Clark
09/16/2022, 5:40 PMEvil Ware
09/16/2022, 5:43 PMzackster
09/16/2022, 6:50 PM