* VRFS-2221 - fix bad reconnect path

This commit is contained in:
Seth Call 2014-09-17 10:09:53 -05:00
parent 4793ea701a
commit 6b96bdcd05
2 changed files with 6 additions and 2 deletions

View File

@ -84,8 +84,12 @@ module JamRuby
conn.save!(validate: false)
end
# if udp_reachable is nil, it means it's unknown. Since this is a reconnect, we'll, preserve existing value in this case
# otherwise, pass in the value of boolean udp_reachable var
udp_reachable_value = udp_reachable.nil? ? 'udp_reachable' : udp_reachable
sql =<<SQL
UPDATE connections SET (channel_id, aasm_state, updated_at, music_session_id, joined_session_at, stale_time, expire_time, udp_reachable) = ('#{channel_id}', '#{Connection::CONNECT_STATE.to_s}', NOW(), #{music_session_id_expression}, #{joined_session_at_expression}, #{connection_stale_time}, #{connection_expire_time}, #{udp_reachable})
UPDATE connections SET (channel_id, aasm_state, updated_at, music_session_id, joined_session_at, stale_time, expire_time, udp_reachable) = ('#{channel_id}', '#{Connection::CONNECT_STATE.to_s}', NOW(), #{music_session_id_expression}, #{joined_session_at_expression}, #{connection_stale_time}, #{connection_expire_time}, #{udp_reachable_value})
WHERE
client_id = '#{conn.client_id}'
RETURNING music_session_id

View File

@ -737,7 +737,7 @@ module JamWebsockets
if connection.stale?
ConnectionManager.active_record_transaction do |connection_manager|
heartbeat_interval, connection_stale_time, connection_expire_time = determine_connection_times(context.user, context.client_type)
connection_manager.reconnect(connection, connection.music_session_id, nil, connection_stale_time, connection_expire_time, udp_reachable)
connection_manager.reconnect(connection, connection.music_session_id, nil, connection_stale_time, connection_expire_time, nil)
end
end
end