[lttng-tools,master,2.11] Fix: destroy command: put consumer output after destroy notifier
diff mbox series

Message ID 20190920214114.1073-1-mathieu.desnoyers@efficios.com
State Accepted, archived
Headers show
Series
  • [lttng-tools,master,2.11] Fix: destroy command: put consumer output after destroy notifier
Related show

Commit Message

Mathieu Desnoyers Sept. 20, 2019, 9:41 p.m. UTC
The destroy notifier needs to access the consumer output to format
the absolute path to the last chunk.

The observed problematic behavior can be observed by doing a
rotate and a destroy command in quick succession. Sometimes,
the resulting path printed by the destroy command is incomplete:

e.g. /archives/20190920T163616-0400-20190920T163618-0400-1

when we would expect:

/home/efficios/lttng-traces/auto-20190920-164425/archives/20190920T164437-0400-20190920T164439-0400-1

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
---
 src/bin/lttng-sessiond/session.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jérémie Galarneau Sept. 20, 2019, 9:53 p.m. UTC | #1
Merged in master and stable-2.11. Thanks!

J?r?mie

On Fri, Sep 20, 2019 at 05:41:14PM -0400, Mathieu Desnoyers wrote:
> The destroy notifier needs to access the consumer output to format
> the absolute path to the last chunk.
> 
> The observed problematic behavior can be observed by doing a
> rotate and a destroy command in quick succession. Sometimes,
> the resulting path printed by the destroy command is incomplete:
> 
> e.g. /archives/20190920T163616-0400-20190920T163618-0400-1
> 
> when we would expect:
> 
> /home/efficios/lttng-traces/auto-20190920-164425/archives/20190920T164437-0400-20190920T164439-0400-1
> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
>  src/bin/lttng-sessiond/session.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/bin/lttng-sessiond/session.c b/src/bin/lttng-sessiond/session.c
> index 9072a2ec..7fd4332e 100644
> --- a/src/bin/lttng-sessiond/session.c
> +++ b/src/bin/lttng-sessiond/session.c
> @@ -811,7 +811,6 @@ void session_release(struct urcu_ref *ref)
>  
>  	DBG("Destroying session %s (id %" PRIu64 ")", session->name, session->id);
>  
> -	consumer_output_put(session->consumer);
>  	snapshot_destroy(&session->snapshot);
>  
>  	pthread_mutex_destroy(&session->lock);
> @@ -823,6 +822,7 @@ void session_release(struct urcu_ref *ref)
>  	}
>  	session_notify_destruction(session);
>  
> +	consumer_output_put(session->consumer);
>  	kernel_free_session(ksess);
>  	session->kernel_session = NULL;
>  	if (usess) {
> -- 
> 2.17.1
>

Patch
diff mbox series

diff --git a/src/bin/lttng-sessiond/session.c b/src/bin/lttng-sessiond/session.c
index 9072a2ec..7fd4332e 100644
--- a/src/bin/lttng-sessiond/session.c
+++ b/src/bin/lttng-sessiond/session.c
@@ -811,7 +811,6 @@  void session_release(struct urcu_ref *ref)
 
 	DBG("Destroying session %s (id %" PRIu64 ")", session->name, session->id);
 
-	consumer_output_put(session->consumer);
 	snapshot_destroy(&session->snapshot);
 
 	pthread_mutex_destroy(&session->lock);
@@ -823,6 +822,7 @@  void session_release(struct urcu_ref *ref)
 	}
 	session_notify_destruction(session);
 
+	consumer_output_put(session->consumer);
 	kernel_free_session(ksess);
 	session->kernel_session = NULL;
 	if (usess) {