[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xmlblaster] memory leak? FIXED
Error happens when I test the problem using the release 0.79dev from cvs. It will not happen until many messages(it's about 10000 on my machine) are transfered.
It says:
================================================
WARN [RequestBroker-/node/http:192.168.2.118:3412] Generating dead letter oid=9341 from publisher=liuwen because delivery to 'zhangsan' cbQueue=/node/http:192.168.2.118:3412/client/zhangsan/1 failed. WARN [RequestBroker-/node/http:192.168.2.118:3412] Generating dead letter oid=9343 from publisher=liuwen because delivery to 'zhangsan' cbQueue=/node/http:192.168.2.118:3412/client/zhangsan/1 failed. ERROR [MessageUnitHandler-/node/http:192.168.2.118:3412/msg/9343.EmptyMessageUnit] Internal problem, msgUnit = null, there was not yet any message published, only subscription exists on this unpublished message:
<MessageUnitHandler>
<uniqueKey>9343</uniqueKey>
<MessageUnitWrapper>null</MessageUnitWrapper>
<SubscriptionInfo id='__subId:XPATH2:9345/>
<handlerIsNewCreated>false</handlerIsNewCreated>
</MessageUnitHandler>
java.lang.Throwable
at org.jutils.runtime.StackTrace.getStackTrace(StackTrace.java:50)
at org.xmlBlaster.engine.MessageUnitHandler.getMessageUnitWrapper(MessageUnitHandler.java:154)
at org.xmlBlaster.engine.RequestBroker.publish(RequestBroker.java:1212)
at org.xmlBlaster.engine.RequestBroker.publish(RequestBroker.java:1032)
at org.xmlBlaster.engine.XmlBlasterImpl.publish(XmlBlasterImpl.java:138)
at org.xmlBlaster.protocol.corba.ServerImpl.publish(ServerImpl.java:108)
at org.xmlBlaster.protocol.corba.serverIdl.ServerPOA._invoke(ServerPOA.java:80)
at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:207)
at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:404)
at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:513)
WARN [RequestBroker-/node/http:192.168.2.118:3412] Generating dead letter oid=9342 from publisher=liuwen because delivery to 'zhangsan' cbQueue=/node/http:192.168.2.118:3412/client/zhangsan/1 failed. =====================================================
> -----Original mail-----
> From: Marcel Ruff [mailto:ruff at swand.lake.de]
>
>
> Hi 刘 文
>
> thanks for reporting this bug.
> It is fixed now and available with CVS.
> Could you please confirm that the problem disappeared?
>
> best regards,
>
> Marcel
>
> PS: Remove all files in
> xmlBlaster/src/java/org/xmlBlaster/engine/admin/extern/snmp
> after cvs update, they currently don't compile.
>
> >Hi,
> >
> >I found the following question:
> >
> >The publisher send volatile messages( 1K size each) and the
> subscriber
> >received it. When the publisher send about 30000 message, it got the
> >OutOfMemory Exception.
> >
> >I used the OptimizeIt Profiler to debug the server. finding
> that every
> >time a message is published, A MessageUnitHandler and
> SubscribeInfo instance produced and they would never GCed
> even if the client loged out.
> >
> >
> >my publish code
> >//===========================================================
> ===========
> > String xmlKey = null;
> > PublishQosWrapper qw = new PublishQosWrapper();
> > qw.isVolatile(true);
> > System.out.println("qos = " + qw.toXml() );
> > byte[] b = new byte[1024];
> > while(true){
> > synchronized(this){
> > if ( _bQuit ) break;
> > }
> > lCount++;
> > xmlKey = "<key oid='" + lCount +
> > "'> <topic id='aaaa'/>" +
> > "</key>";
> > _conn.publish(new MessageUnit(xmlKey,b,qw.toXml()));
> >// System.out.println(new
> Timestamp(System.currentTimeMillis())+":"+lCount);
> > Thread.currentThread().sleep(1);
> > }
> >
> >regards,
> >
> >liuwen.
> >
> >
> >
> >
>
>
>
>