[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmlblaster] Errors when testing C-API



Jan Petranek wrote:
Hello there,

I try to use the C-API and so I wrote a publisher and a subscriber - basically based on the examples. I tried to test the performance of xmlBlaster, but after some time, it seems to run into errors.

The subscriber shall use the XPATH-Subscribe mechanism (so for testing, it subscribes to //key[ at oid] ).

Well, at some time, it seems the connection just dies - but I do not know, why it should do this (after all, all processes run on the same machine).

No it should not do this. I need more informations to track this down. Could you send me your client code so i can reproduce it here?


The publisher sends new messages in a forever-loop. As I need no persistency, so I set the expiration LifeTime in each published message to 1 ms. Actually, I'd rather have a high throughput witch XPATH-matching.


What is xmlBlaster supposed to do, if too many new topics are published? - of course, it could crash for lack of memory. So far, I can avoid this by allowing the JVM for more memory.
- it seems to cut back on some queues. I did not quite understand, what this means.
- is there a mechanism to simply drop new messages, if they cannot be handled?

Every queue has a configured max size, if the queue overflows a dead message is produced. The 'simply drop new message' feature is currently not available but this should be easy to implement. More often it may be desired to 'slow down the publisher' or to 'remove the oldest message of lowest priority'. Both are not yet available.


So, this is the error message I get:

[13.04.2005 00:35:09 ESC[33;40mWARN ESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 RequestBroker] Generating dead me
ssage 'callback:/node/xmlBlaster_192_168_1_2_3412/client/nameSession/-2/NORM/1113345309767000001/__sys__ErasedTopic' from publisher=/nod
e/xmlBlaster_192_168_1_2_3412/client/Stimulator/-3 because delivery with queue 'null' failed: XmlBlasterException serverSideException=tr
ue node=[xmlBlaster_192_168_1_2_3412] location=[DispatchManager-callback:/node/xmlBlaster_192_168_1_2_3412/client/nameSession/-2]
java.lang.NullPointerException
stackTrace=java.lang.NullPointerException
at org.xmlBlaster.protocol.socket.Parser.getUserDataLen(Parser.java:647)
at org.xmlBlaster.protocol.socket.Parser.createRawMsg(Parser.java:678)
at org.xmlBlaster.protocol.socket.Executor.execute(Executor.java:472)
at org.xmlBlaster.protocol.socket.HandleClient.sendUpdate(HandleClient.java:147)
at org.xmlBlaster.protocol.socket.CallbackSocketDriver.sendUpdate(CallbackSocketDriver.java:127)
at org.xmlBlaster.engine.dispatch.CbDispatchConnection.doSend(CbDispatchConnection.java:209)
at org.xmlBlaster.util.dispatch.DispatchConnection.send(DispatchConnection.java:205)
at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.send(DispatchConnectionsHandler.java:380)
at org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:166)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
errorCode=communication.noConnection.dead message=#13324 The remote connection is not established and we have given up to poll for it. -


http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#communication.noConnection.dead
at org.xmlBlaster.util.dispatch.DispatchManager.handleWorkerException(DispatchManager.java:421)
at org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:196)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
versionInfo=version=1.0.2,revision=13324,os.name=Linux,os.version=2.6.8-24.14-default,java.vm.vendor=Sun Microsystems Inc.,java.vm.versi
on=1.4.2_06-b03,os.arch=i386,build.timestamp=04/12/2005 11:35 PM,build.java.vendor=Sun Microsystems Inc.,build.java.version=1.4.2_06
errorCode description=http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#communication.noConnection.dea
d
[13.04.2005 00:35:09 ESC[32;40mINFO ESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 XmlKey] DOM parsed the XmlKey __s
ys__deadMessage
[13.04.2005 00:35:09 ESC[32;40mINFO ESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 TopicHandler/topic/__sys__deadMes
sage] New topic is ready, history/maxEntries=100, persistence/msgUnitStore/maxEntries=10000
[13.04.2005 00:35:09 ESC[32;40mINFO ESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 XmlKey] XPath subscription '//key
[ at oid]' matches message '__sys__deadMessage'
[13.04.2005 00:35:09 ESC[32;40mINFO ESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 XmlKey] XPath subscription '//*'
matches message '__sys__deadMessage'
[13.04.2005 00:35:09 ESC[33;40mWARN ESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 RequestBroker] Generating dead me
ssage 'callback:/node/xmlBlaster_192_168_1_2_3412/client/nameSession/-2/NORM/1113345309767000004/__sys__ErasedTopic' from publisher=/nod
e/xmlBlaster_192_168_1_2_3412/client/Stimulator/-3 because delivery with queue 'null' failed: XmlBlasterException serverSideException=tr
ue node=[xmlBlaster_192_168_1_2_3412] location=[DispatchManager-callback:/node/xmlBlaster_192_168_1_2_3412/client/nameSession/-2]
java.lang.NullPointerException
stackTrace=java.lang.NullPointerException
at org.xmlBlaster.protocol.socket.Parser.getUserDataLen(Parser.java:647)
at org.xmlBlaster.protocol.socket.Parser.createRawMsg(Parser.java:678)
at org.xmlBlaster.protocol.socket.Executor.execute(Executor.java:472)
at org.xmlBlaster.protocol.socket.HandleClient.sendUpdate(HandleClient.java:147)
at org.xmlBlaster.protocol.socket.CallbackSocketDriver.sendUpdate(CallbackSocketDriver.java:127)
at org.xmlBlaster.engine.dispatch.CbDispatchConnection.doSend(CbDispatchConnection.java:209)
at org.xmlBlaster.util.dispatch.DispatchConnection.send(DispatchConnection.java:205)
at org.xmlBlaster.util.dispatch.DispatchConnectionsHandler.send(DispatchConnectionsHandler.java:380)
at org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:166)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
errorCode=communication.noConnection.dead message=#13324 The remote connection is not established and we have given up to poll for it. -


http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#communication.noConnection.dead
at org.xmlBlaster.util.dispatch.DispatchManager.handleWorkerException(DispatchManager.java:421)
at org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:196)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
versionInfo=version=1.0.2,revision=13324,os.name=Linux,os.version=2.6.8-24.14-default,java.vm.vendor=Sun Microsystems Inc.,java.vm.versi
on=1.4.2_06-b03,os.arch=i386,build.timestamp=04/12/2005 11:35 PM,build.java.vendor=Sun Microsystems Inc.,build.java.version=1.4.2_06
errorCode description=http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#communication.noConnection.dea
d
[...]
[13.04.2005 00:35:09 ESC[33;40mWARN ESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 RequestBroker] Recursive message
'callback:/node/xmlBlaster_192_168_1_2_3412/client/nameSession/-2/NORM/1113345309799000003/Observation-2950' is error handled already (s
ent as dead letter), we ignore it.
[13.04.2005 00:35:09 ESC[31;40mERRORESC[0m XmlBlaster.DispatchWorkerPool.xmlBlaster_192_168_1_2_3412-1 RequestBroker] PANIC: Recursive d
ead message is lost, no recovery possible - dumping to file not yet coded:
[...]

The NPE looks not nice, i'll try to resolve it the next days,

regards

Marcel





--
http://www.xmlBlaster.org