Fix: relayd: fail to create session when trace chunk is not found
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 20 Dec 2019 05:59:56 +0000 (00:59 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 30 Jan 2020 06:55:34 +0000 (01:55 -0500)
When a session is created by a peer with a trace chunk id already
set, it means that the session daemon has already created that
trace chunk at some point in the past. Hence, it should be found
in the sessiond trace chunk registry.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I8c6d19371d322cf7079d7a01c4c24b585b4b3ea1

src/bin/lttng-relayd/session.c

index 00dfbd7d2e6e5c873b01dd66b80a7d3098198162..1a1cadfdfa1ba3829efe46f217b014fa4983e511 100644 (file)
@@ -366,6 +366,7 @@ struct relay_session *session_create(const char *session_name,
                        ERR("Could not find trace chunk: sessiond = {%s}, sessiond session id = %" PRIu64 ", trace chunk id = %" PRIu64,
                                        uuid_str, *id_sessiond,
                                        *current_chunk_id);
                        ERR("Could not find trace chunk: sessiond = {%s}, sessiond session id = %" PRIu64 ", trace chunk id = %" PRIu64,
                                        uuid_str, *id_sessiond,
                                        *current_chunk_id);
+                       goto error;
                 }
        } else if (!id_sessiond) {
                /*
                 }
        } else if (!id_sessiond) {
                /*
This page took 0.025501 seconds and 4 git commands to generate.