Fix: consumerd: slow metadata push slows down application registration
[lttng-tools.git] / src / common / consumer / consumer-timer.c
index cbb0062781f3393d927a5af44842388b3e9d4fec..a16ae2eb95a50eda2e6a83e12aeb11b14babff1c 100644 (file)
@@ -99,7 +99,7 @@ static void metadata_switch_timer(struct lttng_consumer_local_data *ctx,
                 * - metadata_socket_lock
                 *   - Calling lttng_ustconsumer_recv_metadata():
                 *     - channel->metadata_cache->lock
-                *     - Calling consumer_metadata_cache_flushed():
+                *     - Calling consumer_wait_metadata_cache_flushed():
                 *       - channel->timer_lock
                 *         - channel->metadata_cache->lock
                 *
@@ -108,7 +108,7 @@ static void metadata_switch_timer(struct lttng_consumer_local_data *ctx,
                 * they are held while consumer_timer_switch_stop() is
                 * called.
                 */
-               ret = lttng_ustconsumer_request_metadata(ctx, channel, 1, 1);
+               ret = lttng_ustconsumer_request_metadata(ctx, channel, true, 1);
                if (ret < 0) {
                        channel->switch_timer_error = 1;
                }
@@ -237,7 +237,11 @@ int consumer_flush_ust_index(struct lttng_consumer_stream *stream)
                ERR("Failed to get the current timestamp");
                goto end;
        }
-       lttng_ustconsumer_flush_buffer(stream, 1);
+       ret = lttng_ustconsumer_flush_buffer(stream, 1);
+       if (ret < 0) {
+               ERR("Failed to flush buffer while flushing index");
+               goto end;
+       }
        ret = lttng_ustconsumer_take_snapshot(stream);
        if (ret < 0) {
                if (ret != -EAGAIN) {
This page took 0.024026 seconds and 4 git commands to generate.