You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm facing time to time some issue when the server looping (and leaking) on a "invalid command" message.
I instrumented this message in order to know which command and which state.
The command is stream_read_event in start_state.
After few investigations I may understand why i'm falling in this "invalid command" and why looping on it.
For example I have other invalid command:
But in this case, the client immediatly register again.
In my loop I have the following
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
I: 19-04-02 02:52:47 client 77 address='(null)' - invalid command 4 in state 1
many Hundred thousand lines.
I'm thing that the issue is the state reconnecting of the client.
This state handling reconnecting and replay, for example the "set consumer" event is replayed after the reconnection, which seems good.
But what happen if the program calls during this reconnection, the function mlm_client_set_consumer ? In this case the client will replay the first message (zlistx_next : First time, acts as zlistx_first()) without waiting the reconnection
During replay a set_consumer command will produce an OK from the server, OK will restart the replay list (zlistx_first)
My loop is difficult to reproduce but I captured an other case with the client log whre the second case happens:
I'm facing time to time some issue when the server looping (and leaking) on a "invalid command" message.
I instrumented this message in order to know which command and which state.
The command is stream_read_event in start_state.
After few investigations I may understand why i'm falling in this "invalid command" and why looping on it.
For example I have other invalid command:
But in this case, the client immediatly register again.
In my loop I have the following
many Hundred thousand lines.
I'm thing that the issue is the state reconnecting of the client.
This state handling reconnecting and replay, for example the "set consumer" event is replayed after the reconnection, which seems good.
My loop is difficult to reproduce but I captured an other case with the client log whre the second case happens:
Shouldn't we split the reconnecting state in reconnecting and replay states?
The text was updated successfully, but these errors were encountered: