Shaheed, I could not find the jar with the mentioned version hosted in the relevant nexus repository [1]. Can you please double check if the version is correct?
[1]. http://maven.wso2.org/nexus/content/groups/wso2-public/org/wso2/carbon/org.wso2.carbon.databridge.agent.thrift/ On Mon, Nov 23, 2015 at 11:41 PM, Shaheedur Haque (shahhaqu) < shahh...@cisco.com> wrote: > It seems the upstream fix is in Thrift 0.9.3. Now, I think I pasted the > wrong dependency in the email below, but changing the variable > “thrift.version” to 0.9.3 simply resulted in a build failure: > > > > [ERROR] Failed to execute goal on project org.apache.stratos.common: Could > not resolve dependencies for project > org.apache.stratos:org.apache.stratos.common:bundle:4.1.0: Could not find > artifact org.wso2.carbon:org.wso2.carbon.databridge.agent.thrift:jar:0.9.3 > in central (http://repo1.maven.org/maven2) -> [Help 1] > > > > I’m not sure (a) if I got the right variable, and if I did (b) why it did > not work. How else do I get the fix? > > > > *From:* Shaheedur Haque (shahhaqu) > *Sent:* 23 November 2015 13:46 > *To:* d...@stratos.incubator.apache.org > *Cc:* Martin Eppel (meppel); Ali Bidabadi (abidabad) > *Subject:* File handle leak in Thrift > > > > Hi all, > > > > I believe that Stratos is missing a memory leak fix in > libthrift_0.7.0.wso2v2.jar as follows… > > > > 1. For unknown reasons, we sometimes get Stratos’ memory footprint > growing from the normal “1.0something” GB of virtual memory to 10 GB and > then 34 GB in a matter of seconds: > > > > top - 21:21:55 up 4:39, 1 user, load average: 0.01, 0.08, 0.18 > Tasks: 135 total, 3 running, 132 sleeping, 0 stopped, 0 zombie > %Cpu(s): 2.5 us, 0.9 sy, 0.0 ni, 95.3 id, 1.1 wa, 0.0 hi, 0.1 si, > 0.0 st > KiB Mem: 16434456 total, 9867416 used, 6567040 free, 95772 buffers > KiB Swap: 0 total, 0 used, 0 free. 6485696 cached Mem > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 2913 netiq 20 0 4702012 1.083g 18976 S 2.9 6.9 1:28.04 java > 2741 root 20 0 3395640 600544 14504 S 1.8 3.7 0:34.09 java > 25941 root 20 0 186084 37700 26636 S 0.7 0.2 1:48.86 > corosync > ... > > > > top - 21:23:55 up 4:41, 1 user, load average: 1.08, 0.55, 0.35 > Tasks: 137 total, 3 running, 134 sleeping, 0 stopped, 0 zombie > %Cpu(s): 34.1 us, 10.8 sy, 0.0 ni, 45.9 id, 0.9 wa, 0.0 hi, 8.3 si, > 0.0 st > KiB Mem: 16434456 total, 10957936 used, 5476520 free, 96024 buffers > KiB Swap: 0 total, 0 used, 0 free. 6599088 cached Mem > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 2913 netiq 20 0 10.236g 1.411g 18956 S 91.0 9.0 3:17.37 java > 2741 root 20 0 3395776 621352 14520 S 12.3 3.8 0:48.84 java > 25941 root 20 0 186084 37700 26636 S 0.7 0.2 1:49.68 > corosync > ... > > > > 2. The logs fill very rapidly at this point, so all we see is that > after the fact, all 10 GB of logs look like this: > > > > TID: [0] [STRATOS] [2015-11-22 21:27:22,795] WARN > {org.apache.thrift.server.TThreadPoolServer} - Transport error occurred > during acceptance of message. > > org.apache.thrift.transport.TTransportException: java.net.SocketException: > Too many open files > > at > org.apache.thrift.transport.TServerSocket.acceptImpl(TServerSocket.java:118) > > at > org.apache.thrift.transport.TServerSocket.acceptImpl(TServerSocket.java:35) > > at > org.apache.thrift.transport.TServerTransport.accept(TServerTransport.java:31) > > at > org.apache.thrift.server.TThreadPoolServer.serve(TThreadPoolServer.java:106) > > at > org.wso2.carbon.databridge.receiver.thrift.internal.ThriftDataReceiver$ServerThread.run(ThriftDataReceiver.java:199) > > at java.lang.Thread.run(Thread.java:745) > > Caused by: java.net.SocketException: Too many open files > > at java.net.PlainSocketImpl.socketAccept(Native Method) > > at > java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398) > > at java.net.ServerSocket.implAccept(ServerSocket.java:530) > > at java.net.ServerSocket.accept(ServerSocket.java:498) > > at > org.apache.thrift.transport.TServerSocket.acceptImpl(TServerSocket.java:113) > > ... 5 more > > > > Now a cursory glance at upstream shows this was probably fixed upstream in > 2015: > > > > > https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=commitdiff;h=b1a35da9168cca5a7524ab9814161f024da145df > > > > and given that our 0.7.0 jar file has content dated 2011, it likely does > not have the fix. I also note that upstream has evolved considerably > overall. Now, what I am not sure of is whether we are using an old library > for some specific reason, e.g. was it hacked/modified by wso2? Is the new > code not compatible with the Stratos codebase? If I am looking in the right > place, the stratos/components/org.apache.stratos.common/pom.xml seems to be > picking up a specific version: > > > > <dependency> > > <groupId>org.wso2.carbon</groupId> > > > <artifactId>org.wso2.carbon.databridge.agent.thrift</artifactId> > > <version>${wso2carbon.version}</version> > > </dependency> > > > > Do we know why? How to go about getting the fix? Please advise, > > > > Thanks, Shaheed > > -- > Thanks and Regards, > > Isuru H. > +94 716 358 048* <http://wso2.com/>* > > > * <http://wso2.com/>* > > >