[lttng-dev] [PATCH lttng-tools 1/3] Fix: relayd: make viewer streams consider metadata sent

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Sep 3 17:17:28 EDT 2015


The metadata stream does not use prev seq, and is therefore not sent to
viewers if we depend on prev seq. Use the metadata_received field
instead to achieve the same purpose: if a viewer try to attach to a
session that has not received metadata yet, it will get and error
(metadata stream cannot be found when attaching).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
---
 src/bin/lttng-relayd/live.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c
index 4586e9b..2d0b687 100644
--- a/src/bin/lttng-relayd/live.c
+++ b/src/bin/lttng-relayd/live.c
@@ -316,8 +316,14 @@ int make_viewer_streams(struct relay_session *session,
 			/*
 			 * Stream has no data, don't consider it yet.
 			 */
-			if (stream->prev_seq == -1ULL) {
-				goto next;
+			if (stream->is_metadata) {
+				if (!stream->metadata_received) {
+					goto next;
+				}
+			} else {
+				if (stream->prev_seq == -1ULL) {
+					goto next;
+				}
 			}
 			vstream = viewer_stream_get_by_id(stream->stream_handle);
 			if (!vstream) {
-- 
2.1.4




More information about the lttng-dev mailing list