[QFJ-911] ResendRequests that fail to be sent are treated as sent Created: 03/Jan/17  Updated: 04/Jan/17

Status: Open
Project: QuickFIX/J
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Default
Reporter: Philip Whitehouse Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

https://github.com/quickfix-j/quickfixj/blob/629b801446431f06e0426aebcf669a2eca341a69/quickfixj-core/src/main/java/quickfix/Session.java#L2349

The return value from sendRaw() is ignored. If the message fails to send then we will still log that we have sent a resend request and (more crucially) still treat ourselves as having sent one for the purposes of whether we should send another.

At best this is merely misleading but I think it can actually cause problems in certain cases.



 Comments   
Comment by Christoph John [ 04/Jan/17 ]

Hmm, I can only quote the comment on the send method:

The returned status flag is included for compatibility with the JNI API but it's usefulness is questionable.
In QuickFIX/J, the message is transmitted using asynchronous network I/O so the boolean
only indicates the message was successfully queued for transmission. An error could still
occur before the message data is actually sent.

If the connection is broken, then the next incoming message on re-logon will trigger another ResendRequest anyway.
What do you think?

Generated at Thu May 02 23:46:44 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.