From b00e554eef4eec08eea1f245b82cf737db9547e6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Mon, 12 Nov 2018 17:48:53 -0500 Subject: [PATCH] Fix: trace_archive_id is not sent in add_stream command MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The trace_archive_id argument of relayd_add_stream() is not forwarded to the "2.11" implementation of the command. This means that all streams on the relayd are created in the "chunk_id == 0" EPOCH. This may cause remote rotations to never complete when a stream is created while a rotation is ongoing. In such a case, the stream's chunk_id would be 0, but it would not have a rotation sequence number. This would cause the rotation completion check to always return that the rotation is "ongoing". Signed-off-by: Jérémie Galarneau --- src/common/relayd/relayd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/common/relayd/relayd.c b/src/common/relayd/relayd.c index 745bde816..78ed85558 100644 --- a/src/common/relayd/relayd.c +++ b/src/common/relayd/relayd.c @@ -349,7 +349,8 @@ error: static int relayd_add_stream_2_11(struct lttcomm_relayd_sock *rsock, const char *channel_name, const char *pathname, - uint64_t tracefile_size, uint64_t tracefile_count) + uint64_t tracefile_size, uint64_t tracefile_count, + uint64_t trace_archive_id) { int ret; struct lttcomm_relayd_add_stream_2_11 *msg = NULL; @@ -386,6 +387,7 @@ static int relayd_add_stream_2_11(struct lttcomm_relayd_sock *rsock, msg->tracefile_size = htobe64(tracefile_size); msg->tracefile_count = htobe64(tracefile_count); + msg->trace_archive_id = htobe64(trace_archive_id); /* Send command */ ret = send_command(rsock, RELAYD_ADD_STREAM, (void *) msg, msg_length, 0); @@ -430,7 +432,8 @@ int relayd_add_stream(struct lttcomm_relayd_sock *rsock, const char *channel_nam } else { /* From 2.11 to ...*/ ret = relayd_add_stream_2_11(rsock, channel_name, pathname, - tracefile_size, tracefile_count); + tracefile_size, tracefile_count, + trace_archive_id); } if (ret) { -- 2.34.1