xmpp=XMPP error: code=404, type=wait, reason=recipient-unavailable
I am having an issu with Tigase Server (7.0.2), if the client requests a large amount of data the I get xmpp=XMPP error: code=404, type=wait, reason=recipient-unavailable
I tried setting:
--elements-number-limit[I] = 10000000
to see if this helped (the values are big for issue dubugging purposes) but it does not. The workflow is the client requests data, this request it processed by a component, the component replies using addOutPacket(Packet) and then processPacket(Packet) is called with the error packet. I checked and the XML string is 13094582 characters long (which is why I have the very high limit/size values above, to rule them out). I also checked and the client is not replying to Tigase, the msg never gets to the client. I really need this msg to be sent, it is not something that happens often but it does happen. I agree that it maybe better to limit the size and cut it up into multiple smaller msgs but for now this is how it is done and I need to fix it quickly.
I debugged Tigase and identified the reason I am getting this. In
TLSIO you have a workaround in place in
writeBuff(ByteBuffer) because you sometimes get an infinit loop (see the comment in your code). The workaround is setting a limit (@max_loop_runs = 1000@) and throwing an exception (@EOFException("Socket has been closed due to TLS problems.")@) if you hit half of this. The problem is I hit this limit when sending big msgs.
I said above this does not happen often for me because it is linked to the size of the data the client requested, when it does happen however the client is no longer able to function since it needs this data; usually in critical moments.
Added by Gabriel Rossetti over 3 years ago
I checked in your repository, in master:
and the limit is still there, so I assume it is still in 7.1.0.