Open blankbro opened 7 months ago
maybe add filedConnection() to Session.java
boolean filedConnection() {
return assignState(Session.SessionStatus.CONNECTING, Session.SessionStatus.DISCONNECTED);
}
and add bindedSession.filedConnection() before MQTTConnection.java:321
bindedSession.filedConnection();
sessionRegistry.connectionClosed(bindedSession); // MQTTConnection.java:321
@blankbro thanks for reporting this. Do you have some simple way to test and reproduce locally the same error?
@blankbro thanks for reporting this. Do you have some simple way to test and reproduce locally the same error?
😅 No, I don't.
Expected behavior
no exception
Actual behavior
throw io.moquette.broker.SessionCorruptedException
Steps to reproduce
Minimal yet complete reproducer code (or URL to code) or complete log file
io.moquette.broker.SessionCorruptedException: Session has already changed state: Session{clientId='xxx', clean=true, status=CONNECTING, inflightSlots=10} at io.moquette.broker.SessionRegistry.purgeSessionState(SessionRegistry.java:415) at io.moquette.broker.SessionRegistry.connectionClosed(SessionRegistry.java:403) at io.moquette.broker.MQTTConnection$1.operationComplete(MQTTConnection.java:321)
Moquette MQTT version
0.17
JVM version (e.g.
java -version
)1.8
OS version (e.g.
uname -a
)mac & linux