Skip to content

ResetOnLogon/ResetOnLogout/ResetOnDisconnect fails when PersistMessages is set to 'N' #314

@dparui

Description

@dparui

Describe the bug
ResetOnLogon/ResetOnLogout/ResetOnDisconnect fails when PersistMessages is set to 'N'. It throws an IOException "Invalid object name messages"

at quickfix.JdbcStore.reset(JdbcStore.java:195)

To Reproduce
Set ResetOnLogon/ResetOnLogout/ResetOnDisconnect to Y and PersistMessages to N. When Logon/Logout/Disconnect event occurs, the session tries to reset state, which in turn tries to reset the message store. On JdbcStore, this results in trying to delete from messages table, before updating the sessions table. If PersistMessages is set to N, no messages table is created.

Expected behavior
If PersistMessages is set to N, no attempt should be made to delete from messages table.

system information:

  • OS: Linux
  • Java version JDK8
  • QFJ Version 2.2.0

Additional context
Either update https://www.quickfixj.org/usermanual/2.1.0/usage/configuration.html to clearly mention which settings can be used in conjunction with another. Or pull delete messages logic from lines 182-185 in JdbcStore.java (QFJ Version 2.2.0) into a separate method deleteMessages and call it from line 2661 of Session.java with a check if persistMessages is true around it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions