Unable to fetch Application Overview Page of a Running Application - apache-apex

Most of the times, I can't go to Application Overview of my application's Application Monitor Page. Sometimes when I go, all the stats on the page such as: Logical Plan, Physical Plan tabs don't exist at all and none of the stats show up.
However, I don't have issues to go to Application Overview after the application is killed.
Here is the stacktrace on dtgateway.log whenever I can't go to Application Overiview Page:
2016-08-18 20:17:23,908 WARN com.datatorrent.stram.client.StramAgent: Caught exception when retrieving web service info for app application_1471123625804_0161
org.codehaus.jettison.json.JSONException: A JSONObject text must begin with '{' at character 1 of <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 500 No WebApplication provider is present</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /ws. Reason:
<pre> No WebApplication provider is present</pre></p><h3>Caused by:</h3><pre>com.sun.jersey.api.container.ContainerException: No WebApplication provider is present
at com.sun.jersey.spi.container.WebApplicationFactory.createWebApplication(WebApplicationFactory.java:69)
at com.sun.jersey.spi.container.servlet.ServletContainer.create(ServletContainer.java:391)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.create(ServletContainer.java:306)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:607)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:710)
at com.google.inject.servlet.FilterDefinition.init(FilterDefinition.java:114)
at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:98)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:114)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:109)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1296)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:767)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

This looks like it might be a multiple/wrong jar file issue as discussed, for example, in:
Jersey: No WebApplication provider is present
Jersey No WebApplication provider is present when jersey-json dependency added

Related

websphere 9.0.0.6 - configuration transaction mode ECI_EXTENDED or ECI_EXTEND

I am using websphere application server 9.0.0.6.
I have configured a cics Ressource Adapter and the connection factory for that, to connect my cics.
For that connection I am using the cicseci-9.0.0.2.rar driver.
I can connect my CICS but I get an Abend Code:
com.ibm.connector2.cics.CICSTxnAbendException: CTG9638E Transaction Abend occurred in CICS. Abend Code=: AZI6, error code: AZI6
at com.ibm.connector2.cics.ECIManagedConnection.checkReturnCode(ECIManagedConnection.java:1643)
at com.ibm.connector2.cics.ECIManagedConnection.call(ECIManagedConnection.java:1442)
at com.ibm.connector2.cics.ECIConnection.call(ECIConnection.java:122)
at com.ibm.connector2.cics.ECIInteraction.execute(ECIInteraction.java:264)
at at.grz.jp.cics.Interaction.executeSequence(Interaction.java:179)
Due to the reason, that I use transaction mode ECI_EXTENDED instead of ECI_NO_EXTEND.
So I am trying to find a possibility to configure that parameter. On websphere I can't find a custom property that could be fit.
Is it possible to control this by my application?
Any suggestions for me?
The transactional controls for requests made over the ECI resources adapter are controlled by the TransactionAttribute of the method containing the ECI call.
By default methods are called with a TransactionAttributeType of REQUIRED which means a new transaction will be started if it doesn’t already exist and this causes the ECI request to be sent with ECI_EXTENDED.
If you set the TransactionAttributeType to NEVER then there will be no transaction when the ECI call is made and the request will be sent with ECI_NO_EXTEND.

Openfire : No roster returned to user

We added jappix mini chat feature in our application in conjunction with Openfire 3.7.1 and a Mysql database.
HTTP Binding is enabled in Openfire admin console.
The chat was working well on another server but it seems that we cannot get rosters anymore from client.
We always get the following empty response from Openfire when building contact list (buddies) :
Get request :
<body xml:lang='fr' rid='827616' sid='ad92bb0e' xmlns='http://jabber.org/protocol/httpbind' key='26620f678e64cc9f04ea31b69525db88c9655545' >
<iq xmlns="jabber:client" type="get" id="1" xml:lang="fr">
<query xmlns="jabber:iq:roster"/>
</iq>
</body>
Response :
<body xmlns='http://jabber.org/protocol/httpbind'>
<iq xmlns="jabber:client" type="result" id="1" to="atinel#domain/Chat (1452607565973)">
<query xmlns="jabber:iq:roster"/>
</iq>
</body>
This response can be seen in the browser network logs or in the audit logs from Openfire.
I only manage to get a roster when creating a new one between two users.
The rosters can be found in the database and in admin console where we see two of them for this precise user (atinel).
We also checked that the SQL queries on "ofRoster" table were properly formed for each user connection.
This is the kind of response expected :
<body xmlns='http://jabber.org/protocol/httpbind'>
<iq xmlns="jabber:client" type="result" id="1" to="atinel#domain/Chat (1452608051572)">
<query xmlns="jabber:iq:roster">
<item jid="team#domain" name="IT Team" subscription="both"/>
<item jid="userdemo#domain" name="Demo user" subscription="both"/>
</query>
</iq>
</body>
Have you any idea to solve this problem ?
Maybe I have missed a property when configuring Openfire ?
I already have cleared the roster (and all other) caches and nothing changed, no more result when upgrading to 3.9.3.
Thanks.

unexpected exception encontered during query on railo

I am trying to import large files of size more than 500 mb to some gbs in mean while getting this error unexpected exception encontered during query though I am using <cfsettting requesttimeout = 1000000 >. when i have changed in Railo web admin it works but I want to do it by using cfsetting tag. can anyone help me what i have to do for using cffsetting tag inside the page ? Thanks.
I am using
MySQL 5.5.35
Railo 4.2.0 on ubuntu 12.04.
requestimeout.log
"Severity","ThreadID","Date","Time","Application","Message"
"ERROR","Thread-3","03/06/2014","04:05:24","controler","stop thread (3) because run into a timeout .;java.lang.Throwable;java.lang.Throwable
at railo.runtime.tag.Http4._doEndTag(Http4.java:611)
at railo.runtime.tag.Http4.doEndTag(Http4.java:596)
at admin.resources.text_cfm$cf.call(/railo-context-compiled/admin/resources/text.cfm:48)
at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:885)
at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:793)
at admin.web_cfm$cf.call(/railo-context-compiled/admin/web.cfm:124)
at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:885)
at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:837)
at railo.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:208)
at railo.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:86)
at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2182)
at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2149)
at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:332)
at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:29)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
"
Here is what is quoted in Google Railo group by (Michael Offner-Streit,CTO,Railo Technologies GmbH)
we can not begin with the execution of cfml files before we have recieved the request header.
because the railo servlet is not invoked before.
you can set also timeouts on the servlet engines (resin,tomcat ...) most of them support this.
there is also a other way to set per page requesttimeout. simply add the following to the url of the call like index.cfm?RequestTimeout=100
for security reasion this feature is not enabled by default, you have to enabe it as follows,
got to the railo admin to settings/application (/railo-context/admin/web.cfm?action=server.application), there you find "Request timeout in URL" enable this.
but also this takes only effect when railo is invoked.
/micha
btw: index.cfm?RequestTimeout=100 works also on ACF5,ACF7,ACF8,ACF9 but not on ACF6, they have also removed this for security reasion in ACF6 but silently added again in version 7.
Note: I think that should explain your problem. You can do it by adding it in url and modifying the settings (enabeling request time out) in railo web admin, it will also ensure that setting is not applicable on all the pages if done from railo admin.

Maximum request length exceeded exception

I'm trying to upload a 20 meg file using the upload control and it's working fine on visual studio's built in webserver but once I publish it to the production server (which I have no access to) I keep getting the following error :
Server Error in '/' Application.
--------------------------------------------------------------------------------
Maximum request length exceeded.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Maximum request length exceeded.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[HttpException (0x80004005): Maximum request length exceeded.]
System.Web.HttpRequest.GetEntireRawContent() +11140903
System.Web.HttpRequest.GetMultipartContent() +72
System.Web.HttpRequest.FillInFormCollection() +245
System.Web.HttpRequest.get_Form() +119
System.Web.HttpRequest.get_HasForm() +11072199
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +124
System.Web.UI.Page.DeterminePostBackMode() +83
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +270
--------------------------------------------------------------------------------
I've added the following to my system.web node so i don't know what the real issue is.
<httpRuntime executionTimeout="800" maxRequestLength="51200" />
Any direction on this would be very helpful.
If config file change doesn't work, please try to update property httpRuntime executionTimeout="9200" maxRequestLength="200000"> directly from IIS.
For reference:
Although you have a 20Mb file, it is possible that encoding or other content on the page causes the 50Mb limit you have set to be exceeded. I recommend doubling your current setting.
There is also another web.config setting that could come into play: security request filtering maxAllowedContentLength.
This default to 30MB, but could be set differently in your environment.
The web.config entry would be something along the lines of:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1550000000" maxQueryString="16384" />
<fileExtensions>
<add fileExtension="." allowed="true" />
</fileExtensions>
</requestFiltering>
</security>

How to access exception/stacktrace in Velocity template resolved by web.xml's error-page?

I would like to print the cause of the HTTP Error 500 on my Velocity template but am having difficulty figuring out how this can be done.
My web.xml is configured with:
<error-page>
<error-code>500</error-code>
<location>/error/500</location>
</error-page>
The location is backed by a Spring controller. The 500.vm page is resolving as expected but how do I access the exception which resulted in this error page?
Thanks~
Is this an Avetti App? An http 500 is a 'catch all' type error that can't be determined by the application, so the server relays the message ("stuff is messed up"). This type of error usually happens when an application breaks or didn't properly handle an exception... so there is no exception to catch or present on the page.