tracker issue : CF-4204081

select a category, or use search below
(searches all categories and all time range)
Title:

change in behavior of CFHTTP tag

| View in Tracker

Status/Resolution/Reason: To Fix//BugVerified

Reporter/Name(from Bugbase): Doug A. / ()

Created: 03/08/2019

Components: Net Protocols, HTTP

Versions: 11.0

Failure Type: Incorrectly functioning

Found In Build/Fixed In Build: CF11 Update 18 /

Priority/Frequency: Normal / All users will encounter

Locale/System: ALL / Win 2012 Server x64

Vote Count: 1

Problem Description:
CF11 update 15 cfhttp call with + symbol would pass as shown in the tag

after apply CF11 update 18, cfhttp call with + symbol appear to encode the symbol before sending.

Steps to Reproduce:

Request Before Update (CF11 Update 15):
http request in cfhttp tag:
http://192.168.70.77:8983/solr/lny10/select?q=*&defType=synonym_edismax&synonyms=true&qf=txt_brand^5.0+txt_sku&fl=id,score &wt=json

http request received in solr:
http://192.168.70.77:8983/solr/lny10/select?q=*&defType=synonym_edismax&synonyms=true&qf=txt_brand^5.0+txt_sku&fl=id,score &wt=json 
 
Requests after Update (CF11 Update 18):

Failing Call:
http request in cfhttp tag:
http://192.168.70.77:8983/solr/lny10/select?q=*&defType=synonym_edismax&synonyms=true&qf=txt_brand^5.0+txt_sku&fl=id,score &wt=json  

http request received in solr:
http://192.168.70.77:8983/solr/lny10/select?q=*&defType=synonym_edismax&synonyms=true&qf=txt_brand^5.0%2Btxt_sku&fl=id,score&wt=json


SOLR does not like the + symbol being encoded and throws an error, here's the dump from SOLR:

2019-03-06 20:19:32.464 INFO  (qtp1689843956-421) [   x:lny10] o.a.s.c.S.Request [lny10] webapp=/solr path=/select params={q=*&defType=synonym_edismax&qf=txt_brand^5.0%2Btxt_sku&synonyms=true&fl=id,score} status=500 QTime=2 
2019-03-06 20:19:32.464 ERROR (qtp1689843956-421) [   x:lny10] o.a.s.s.SolrDispatchFilter null:java.lang.NumberFormatException: For input string: "5.0+txt_sku"
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
	at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
	at java.lang.Float.parseFloat(Float.java:451)
	at java.lang.Float.valueOf(Float.java:416)
	at org.apache.solr.util.SolrPluginUtils.parseFieldBoosts(SolrPluginUtils.java:522)
	at org.apache.solr.search.DisMaxQParser.parseQueryFields(DisMaxQParser.java:72)
	at org.apache.solr.search.ExtendedDismaxQParser$ExtendedDismaxConfiguration.<init>(ExtendedDismaxQParser.java:1506)
	at org.apache.solr.search.ExtendedDismaxQParser.createConfiguration(ExtendedDismaxQParser.java:273)
	at org.apache.solr.search.ExtendedDismaxQParser.<init>(ExtendedDismaxQParser.java:134)
	at org.apache.solr.search.SynonymExpandingExtendedDismaxQParser.<init>(SynonymExpandingExtendedDismaxQParserPlugin.java:285)
	at org.apache.solr.search.SynonymExpandingExtendedDismaxQParserPlugin.createParser(SynonymExpandingExtendedDismaxQParserPlugin.java:160)
	at org.apache.solr.search.QParser.getParser(QParser.java:315)
	at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:157)
	at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:251)
	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
	at org.apache.solr.core.SolrCore.execute(SolrCore.java:2068)
	at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:669)
	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:462)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:210)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:179)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:499)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
	at java.lang.Thread.run(Thread.java:748)

Attachments:

Comments:

CFHTTP GET requests all appear to have this issue starting on the following ColdFusion versions: CF11 update 17, CF2016 update 9, CF2018 update 2 We have had to roll back 3 update levels due to this issue.
Comment by Brieanna O.
30538 | March 19, 2019 08:56:22 PM GMT
Can anyone from Adobe confirm if this has been reproduced? Is that what "bugverified" in the "Reason code" at top right means? And if so, is there perhaps a fix for it, before it may be rolled into a future CF update?
Comment by Charlie A.
30597 | April 02, 2019 05:50:16 PM GMT