[ColdFusion 9 & 10] Java Update 7.51+ breaks Solr collections

I was trying to get my dev system to match our production environment. Part of the process (after installing Apache) was updating the JVM to 7.55.

When I did that, Solr collections broke. Not just trying to search them, but from the CFAdmin, as well. (Both gave a security error, socketPermissions(java).)

I have filed a bug with Adobe BugBase. If you could, please vote for it.

Thank you,

Has anyone else run into this same issue? Any other CF admins/developers in here?

A co-worker discovered the solution to the issue we’ve been having with Java 7.51+ breaking Solr collections on CF9/CF10.

I sincerely hope that Adobe plans on including this fix. I’ll be updating my bugbase entry, soon.

Modify neo-security.xml as follows:
Locate the line that is

                               [COLOR=#000][RIGHT][COLOR=#999]1[/COLOR]

2[/RIGHT]<var name=’ { path to CFIDE } '>

[/COLOR](Obviously, enter the path to your CFIDE folder in place of above attribute value.)

The next line should define the length of an array. Increase the value by 1.

Immediately below that, add the following:

<struct>
<var name=‘CLASS’>
<string>java.net.SocketPermission</string>
</var>
<var name=‘TARGET’>
<string>127.0.0.1:0</string>
</var>
<var name=‘ACTION’>
<string>listen,resolve</string>
</var>
</struct>

Save neo-security.xml, restart CF Application service, and test.

HTH,

UPDATE: Okay… this did correct the CFAdmin issue of being able to see the collections, but it broke CFSEARCH. So, we had to undo the manual neo-security.xml edit, go into Sandbox Security and click on the entry for CFIDE, then add “127.0.0.1” which enters as “connect,resolve”. NOW, manually edit the neo-security.xml file, scroll down to the bottom of /wwwroot/ var, copy and paste the whole struct for 127.0.0.1, give both of them “:0-” to cover the whole range of ports, change the ACTION of the second struct to “listen,resolve”, save the file, restart the CF Application service, and test.

I’m sure different setups will require different things, but this should serve as a template for what needs to be done.