{"action":"created","issue":{"url":"https://api.github.com/repos/erlio/vernemq/issues/767","repository_url":"https://api.github.com/repos/erlio/vernemq","labels_url":"https://api.github.com/repos/erlio/vernemq/issues/767/labels{/name}","comments_url":"https://api.github.com/repos/erlio/vernemq/issues/767/comments","events_url":"https://api.github.com/repos/erlio/vernemq/issues/767/events","html_url":"https://github.com/erlio/vernemq/pull/767","id":341822748,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAxODY2Mzc1","number":767,"title":"Suppress lwt on session take over","user":{"login":"larshesel","id":679187,"node_id":"MDQ6VXNlcjY3OTE4Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/679187?v=4","gravatar_id":"","url":"https://api.github.com/users/larshesel","html_url":"https://github.com/larshesel","followers_url":"https://api.github.com/users/larshesel/followers","following_url":"https://api.github.com/users/larshesel/following{/other_user}","gists_url":"https://api.github.com/users/larshesel/gists{/gist_id}","starred_url":"https://api.github.com/users/larshesel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/larshesel/subscriptions","organizations_url":"https://api.github.com/users/larshesel/orgs","repos_url":"https://api.github.com/users/larshesel/repos","events_url":"https://api.github.com/users/larshesel/events{/privacy}","received_events_url":"https://api.github.com/users/larshesel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/erlio/vernemq/milestones/16","html_url":"https://github.com/erlio/vernemq/milestone/16","labels_url":"https://api.github.com/repos/erlio/vernemq/milestones/16/labels","id":3502240,"node_id":"MDk6TWlsZXN0b25lMzUwMjI0MA==","number":16,"title":"1.5.0","description":"","creator":{"login":"larshesel","id":679187,"node_id":"MDQ6VXNlcjY3OTE4Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/679187?v=4","gravatar_id":"","url":"https://api.github.com/users/larshesel","html_url":"https://github.com/larshesel","followers_url":"https://api.github.com/users/larshesel/followers","following_url":"https://api.github.com/users/larshesel/following{/other_user}","gists_url":"https://api.github.com/users/larshesel/gists{/gist_id}","starred_url":"https://api.github.com/users/larshesel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/larshesel/subscriptions","organizations_url":"https://api.github.com/users/larshesel/orgs","repos_url":"https://api.github.com/users/larshesel/repos","events_url":"https://api.github.com/users/larshesel/events{/privacy}","received_events_url":"https://api.github.com/users/larshesel/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2018-07-17T09:13:44Z","updated_at":"2018-07-17T09:13:57Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2018-07-17T08:46:55Z","updated_at":"2018-07-20T09:09:37Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/erlio/vernemq/pulls/767","html_url":"https://github.com/erlio/vernemq/pull/767","diff_url":"https://github.com/erlio/vernemq/pull/767.diff","patch_url":"https://github.com/erlio/vernemq/pull/767.patch"},"body":"This PR implements a new setting which can suppress LWT messages in case of a session takeover by setting the `suppress_lwt_on_session_takeover=on`. The new setting is hidden (not visible by default in the vernemq.conf file).\r\n\r\nTo implement this d075ff3 - 'Add reasons to queue cleanup and session disconnects' was backported/cherry picked from the mqtt5-preview branch as reason codes had already been generalized there.\r\n\r\nThis PR also introduces the `def_opts` map member to the `vmq_mqtt_fsm` state record, which is meant to hold non-fast-path settings. The idea is that if we store all settings directly in the record we'll have a memory overhead for all sessions, but if instead only non-default values are stored in the map, we don't have any overhead for default values. We can move other settings into this map later if needed.\r\n\r\nThis PR also refactors and simplifies a bit the `vmq_mqtt_fsm:terminate/2` and `vmq_mqtt_fsm:maybe_publish_last_will/1` functions, as well as introducing a function `vmq_mqtt_fsm:terminate_reason/1` which maps reasons to `normal` to make the ranch process shut down properly for normal shutdown reasons.\r\n\r\nTODO: see how this merges with the MQTT5 branch.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/erlio/vernemq/issues/comments/406538934","html_url":"https://github.com/erlio/vernemq/pull/767#issuecomment-406538934","issue_url":"https://api.github.com/repos/erlio/vernemq/issues/767","id":406538934,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNjUzODkzNA==","user":{"login":"larshesel","id":679187,"node_id":"MDQ6VXNlcjY3OTE4Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/679187?v=4","gravatar_id":"","url":"https://api.github.com/users/larshesel","html_url":"https://github.com/larshesel","followers_url":"https://api.github.com/users/larshesel/followers","following_url":"https://api.github.com/users/larshesel/following{/other_user}","gists_url":"https://api.github.com/users/larshesel/gists{/gist_id}","starred_url":"https://api.github.com/users/larshesel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/larshesel/subscriptions","organizations_url":"https://api.github.com/users/larshesel/orgs","repos_url":"https://api.github.com/users/larshesel/repos","events_url":"https://api.github.com/users/larshesel/events{/privacy}","received_events_url":"https://api.github.com/users/larshesel/received_events","type":"User","site_admin":false},"created_at":"2018-07-20T09:09:37Z","updated_at":"2018-07-20T09:09:37Z","author_association":"CONTRIBUTOR","body":"No, there's a lot of stuff we could log and improve as we can now differentiate between the different disconnect reasons. This PR just addresses the session takeover case. But let's cook something up with this (perhaps together with the MQTT5 branch?)"}}
{"actor":{"display_login":"larshesel"}}