Fix: don't perform an automatic session rotation in snapshot mode
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 7 Aug 2019 18:27:24 +0000 (14:27 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 9 Aug 2019 15:28:43 +0000 (11:28 -0400)
An automatic session rotation is performed on destruction if more than
one trace chunk was created during the lifetime of a session. This is
not a good criterion to use in no-output/snapshot mode as multiple
trace chunks may have been created during a session's lifetime.

The "output_traces" flag is checked explicitly to prevent an automatic
session rotation from happenning on destroy.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/cmd.c

index 10a6de39168c73d68766f92f0b8a3003707b564c..f6c44d3be16e63096e856874344dd39e11b4d348 100644 (file)
@@ -3171,7 +3171,11 @@ int cmd_destroy_session(struct ltt_session *session,
 
        if (session->most_recent_chunk_id.is_set &&
                        session->most_recent_chunk_id.value != 0 &&
-                       session->current_trace_chunk) {
+                       session->current_trace_chunk && session->output_traces) {
+               /*
+                * Perform a last rotation on destruction if rotations have
+                * occurred during the session's lifetime.
+                */
                ret = cmd_rotate_session(session, NULL);
                if (ret != LTTNG_OK) {
                        ERR("Failed to perform an implicit rotation as part of the destruction of session \"%s\": %s",
This page took 0.027309 seconds and 4 git commands to generate.