MySQL get_lock timeout misunderstanding?
The timeout applies to how long GET_LOCK will wait to acquire the lock (before timing out), in the event the lock is already held by another client.   It does not indicate how long a LOCK will be held as you mention