Sheldon Dsouza

Greenhorn
+ Follow
since Jun 22, 2017
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Sheldon Dsouza

Thanks Tim for the quick reply.

Do you know if there is an Email Address / Site where we can contact JBoss Support?

I  tried one site for instance - https://jbossforums.jboss.org
And then Community -> User Forum, but it gives an error below.

Not Found
The requested URL /nfm/redirectToCSForum.jspa---module=bb&op=viewforum&f=247 was not found on this server.

Can you please advise on how we could get in touch with JBoss Support?

Thanks,
Sheldon
10 months ago
Please Note:

The Temporary Files are created Automatically by the Jboss 7.1 Server when Started up.
And we dont have any control on it.
Temporary Files Path: /usr/share/jboss-as/standalone/tmp/vfs/
where JBoss 7.1 is available at Path:  /usr/share/jboss-as/


The only thing we could do is write a script that runs at a pre-defined frequency (once a day) and Deletes the Temporary files at Path: /usr/share/jboss-as/standalone/tmp/vfs/
But, unfortunately JBoss is still marking the Temporary Files as Open even when Deleted.

Hence, asking if a patch or configuration option is available for JBoss 7.1 so that JBoss automatically cleans up its own Temporary Files.

Please advise.

Thanks,
Sheldon
10 months ago
Hi,

We use JBoss 7.1 Application Server which is present at Path: /usr/share/jboss-as/standalone
And have an issue with JBoss 7.1 creating a lot of Temporary files when started using command: service jboss restart

As a workaround to avoid Disk Space being consumed, we clean up Temporary files at Path: /usr/share/jboss-as/standalone/tmp/vfs

However, we see that the JBoss process still marks these Temporary Files as Open even when Deleted.

We tried Configuration options below, but they do not seem to work for JBoss 7.1
-Djboss.vfs.cache=org.jboss.virtual.plugins.cache.IterableTimedVFSCache -Djboss.vfs.cache.TimedPolicyCaching.lifetime=1440


Can someone please help with some solutions on how to go about cleaning Temporary Files for JBoss 7.1?
As of now, migrating to WildFly is not a preferred solution as it would require a lot of Testing for Performance & Applications Deployed.
Is there a patch we could apply so that the JBoss service handles the Temporary Files itself?

Please advise.

Thanks,
Sheldon
10 months ago
Thanks for the quick response Rob.

I did a load test on HttpClient and found that it does infact gets stuck / takes long to load.
We were using HttpBuilder without setting a Timeout / Pooling.
After changing the code to use the 1st snippet below, we dont see HttpClient getting stuck. And Pool rejects requests after a timeout.
We will also try the suggested change for using EntityUtils.

However, let me know if you have any other suggestions as well after reviewing the code snippet below.

I have 3 queries
1> Do we need to explicitly set the socket timeout for PoolingHttpClientConnectionManager as well apart from RequestConfig?
2> Is there a situation where the Pool gets automatically closed when there is a high load and if we need to re-create the Pool multiple times.
3> Do we need to created a separate monitoring thread to monitor the Pool and explicitly close stale or expired connections.

Below are Code Snippets
1> Code Snippet for Initializing HttpBuilder (this change of Pooling was not there originally)

2> Code Snippet for calling API (Original code was using: client = HttpClientBuilder.create().build() )
4 years ago
Thanks for the reply Rob.

So, we have noticed threads being stuck for more than 10 minutes (sometimes even for days) on Weblogic.

We use Web Services, and the threads get stuck when one of the API in the Web Services is called.
The API calls use the Java library: org.apache.http.impl.client.CloseableHttpClient for calling another Web Service (other Web Service is on a different server).
It uses Oracle as the database.
Our project uses CFX & Spring framework.
Please Note:
Only some threads of the API get stuck (sometimes as few as 2 or 3 or sometimes 100). And the API can be called multiple times in a minute.
We also have ActiveMQ message listeners which are supposed to listen to messages continually (not part of the API). So, those threads when stuck might not really be stuck.

It is my suspicion that there is an issue with any of the following: Weblogic, CloseableHttpClient, Oracle, CFX, Spring.
We are trying to replicate the issue below (lock on Phase Interceptor) in our Development environment.

Based on the information provided, can you provide any feedback / inputs, especially if there are some know issues?
If you need more information, let me know so that i can provide the same.
4 years ago
Hi,

We are seeing stuck threads on Weblogic in Production environment.
It cannot be replicated in Development environment.

We have 1 Web Service (API) that encounters stuck threads more often.
Need help in replicating the issue in Development and a fix for it.

It looks like there is some issue with CFX / Spring framework we are using.
CFX version: 3.1.4
Spring version: 4.2.2.RELEASE
Sprig Security: 4.0.3.RELEASE

Below is a snippet from thread dump. Please let me know of any inputs on how to fix the issue with lock on the Phase Interceptor

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
at com.minervanetworks.xtv.stb.service.impl.ClientContentManagerImpl$$EnhancerBySpringCGLIB$$115ca042.edgeBrowse(<generated>)
at sun.reflect.GeneratedMethodAccessor352.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
- locked <0x000000013132eca0> (a org.apache.cxf.phase.PhaseInterceptorChain)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)

Thanks,
Sheldon
4 years ago