Sql 2005 Bogus Chunk Size

From OpenI Wiki

We are getting some buggy, inconsistent results when integrating with AS2005. On some xmla requests tosql2005, we get an exception (see below "Typical Exception Stack"). "Inconsistent" - sometimes the same request (same mdx/analysis) gives us a successful response (we get proper SOAP message with data), sometimes exact same request gives us the bogus chunk size exception. Because the response is inconsistent and the client does not change, I'm starting to believe the problem is on the xmla provider (sql2005). Much investigation required.

Table of contents

msft server

  • upgrade/change msxml

** AS2005 installation uses latest MSXML6.0. So no new update available yet

  • iis response sent in chunks

** true. IIS sends the response in chunk based on http 1.1

  • sp for sql2005?

** not yet

  • .NET xmla sample?

** it works nicely. You need to change the 'DataSourceInfo' to 'DataSourceName' to make it wokring agains AS2005. Please correct line #346 of connect.vb comes with XMLA 'sample' under 'sample .net'

  • msft forum research

** no luck, since this is only java specific issue

  • cache in iis?

** I think there is no problem with iis, since xmla sample works nicely

  • restart iis?

** sometime works. I found one strange result: any time when I get bogus chunk, running .net xmla sample makes it(openi) working too.

  • get a bogus chunk in openi, restart iis, problem resolved

** not always. But running .net xmla sample solves openi's bogus chunk automatically

java/openi

  • jwsdp-2.0

** no luck

  • tomcat 5.5 (requires openi recompile)

** no luck

Root of the exception

Typical Exception Stack

Error Message:

com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to read response: Bogus chunk size

Stack Trace:

com.tonbeller.jpivot.olap.model.OlapException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to read response: Bogus chunk size at com.tonbeller.jpivot.xmla.XMLA_SOAP.discover(XMLA_SOAP.java:1415) at com.tonbeller.jpivot.xmla.XMLA_SOAP.discoverLev(XMLA_SOAP.java:455) at com.tonbeller.jpivot.xmla.XMLA_Model.initCubeMetaData(XMLA_Model.java:752) at com.tonbeller.jpivot.xmla.XMLA_Model.initialize(XMLA_Model.java:173) at com.tonbeller.jpivot.olap.model.OlapModelDecorator.initialize(OlapModelDecorator.java:129) at com.tonbeller.jpivot.tags.OlapModelProxy$MyState.initialize(OlapModelProxy.java:76) at com.tonbeller.jpivot.tags.PageStateManager.initializeAndShow(PageStateManager.java:37) at com.tonbeller.jpivot.tags.OlapModelProxy.initializeAndShow(OlapModelProxy.java:161) at org.openi.xmla.XMLAQueryTag.init(XMLAQueryTag.java:116) at org.openi.web.controller.analysis.AnalysisController.handleRequestInternal(AnalysisController.java:133) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625) at org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:386) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:346) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.openi.web.RequestFilter$MyHandler.normalRequest(RequestFilter.java:240) at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:127) at org.openi.web.RequestFilter.doFilter(RequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.openi.security.AuthorizationFilter.doFilter(AuthorizationFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.RequestDumperValve.invoke(RequestDumperValve.java:169) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to read response: Bogus chunk size at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:127) at com.tonbeller.jpivot.xmla.XMLA_SOAP.discover(XMLA_SOAP.java:1391) ... 53 more Caused by: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to read response: Bogus chunk size at java.security.AccessController.doPrivileged(Native Method) at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:121) ... 54 more Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to read response: Bogus chunk size at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:364) at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(HttpSOAPConnection.java:150) ... 56 more

Sourceforge Discussion

https://sourceforge.net/forum/forum.php?thread_id=1457611&forum_id=478298