[coldbox-3.5.3 and coldbox 3.6.0] Mixed CB Versions

I have a load balanced server in which I have two different sites, one running ColdBox 3.5.3, and the other running 3.6.0. Both have different application names, are in different physical directories, and have different urls.

The one important relationship is that the 3.6.0 site uses the same model and services from the 3.5.3 site via the ORM cfclocation and Wirebox mapDirectory() for the services.

The issue I’m running into occurs on the 3.5.3 site. On one of the servers (and only 1!), I’m getting a weird error in which a service method called from a controller in the context of 3.5.3 throws an error because of an attempt to run a method in the context of 3.6.0. Here’s an example of the stack:

`
…*coldbox-3.6.0*\system\orm\hibernate\BaseBuilder.cfc: 320
…*coldbox-3.6.0*\system\orm\hibernate\BaseBuilder.cfc: 250
…\model\service\BaseService.cfc: 139
…\model\service\SomeService.cfc: 45
…\handlers\SomeHandler.cfc: 29
…*coldbox-3.5.3*\system\web\Controller.cfc: 753
…*coldbox-3.5.3*\system\web\Controller.cfc: 637
…*coldbox-3.5.3*\system\Coldbox.cfc: 236
…*coldbox-3.5.3*\system\Coldbox.cfc: 382
…\Application.cfc: 86

`

Both applications are using in-app mappings, like so:

this.mappings[ "/coldbox" ] = "#this.rootDir#apps\lib\frameworks\coldbox-3.5.3\";

Component caching is turned off in all CF instances.

The truly weird part about this is that the requests on only one box fail, while the other box (which has the exact same code) executes the same requests just fine.

I have tried re-deploying the site ( via applicationStop() ) several times, but it doesn’t seem to make a difference. Reinit and ORMReload() also do not help.

I’m getting ready to restart CF, but wanted to see if anyone had an idea about what could be happening before I do that.

Thanks!

Also, turn off cache web server paths in request.

That’s turned off as well.

Where is SomeService.cfc persisted? What is BaseService.cfc doing on line 139-- i.e., how is it accessing BaseBuilder.cfc and how it is persisted?

What are the Application names set to? I had a weird error on only one server once that turned out to be upper/lower case differences in directory names. My application names were based off a hash of the file path. Unlikely the issue, but worth considering.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

SomeService is persisted in the 3.5.3 app is making a CriteriaBuilder query as a Virtual Entity Service.

The app names are definitely distinct…not based on file path, but simply hard-coded names.

So restarting CF did the trick.