projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
12f249b
)
write_kafka: reliability when no key provided
author
Pierre-Yves Ritschard
<pyr@spootnik.org>
Tue, 3 May 2016 07:59:22 +0000
(09:59 +0200)
committer
Pierre-Yves Ritschard
<pyr@spootnik.org>
Tue, 3 May 2016 07:59:22 +0000
(09:59 +0200)
src/write_kafka.c
patch
|
blob
|
history
diff --git
a/src/write_kafka.c
b/src/write_kafka.c
index
37b3e14
..
10ae5a5
100644
(file)
--- a/
src/write_kafka.c
+++ b/
src/write_kafka.c
@@
-202,6
+202,8
@@
static int kafka_write(const data_set_t *ds, /* {{{ */
key = ctx->key;
if (key != NULL)
keylen = strlen (key);
key = ctx->key;
if (key != NULL)
keylen = strlen (key);
+ else
+ keylen = 0;
rd_kafka_produce(ctx->topic, RD_KAFKA_PARTITION_UA,
RD_KAFKA_MSG_F_COPY, buffer, blen,
rd_kafka_produce(ctx->topic, RD_KAFKA_PARTITION_UA,
RD_KAFKA_MSG_F_COPY, buffer, blen,
@@
-252,6
+254,7
@@
static void kafka_config_topic(rd_kafka_conf_t *conf, oconfig_item_t *ci) /* {{{
tctx->escape_char = '.';
tctx->store_rates = 1;
tctx->format = KAFKA_FORMAT_JSON;
tctx->escape_char = '.';
tctx->store_rates = 1;
tctx->format = KAFKA_FORMAT_JSON;
+ tctx->key = NULL;
if ((tctx->kafka_conf = rd_kafka_conf_dup(conf)) == NULL) {
sfree(tctx);
if ((tctx->kafka_conf = rd_kafka_conf_dup(conf)) == NULL) {
sfree(tctx);
@@
-315,6
+318,7
@@
static void kafka_config_topic(rd_kafka_conf_t *conf, oconfig_item_t *ci) /* {{{
} else if (strcasecmp ("Key", child->key) == 0) {
cf_util_get_string (child, &tctx->key);
} else if (strcasecmp ("Key", child->key) == 0) {
cf_util_get_string (child, &tctx->key);
+ assert (tctx->key != NULL);
} else if (strcasecmp ("Format", child->key) == 0) {
status = cf_util_get_string(child, &key);
if (status != 0)
} else if (strcasecmp ("Format", child->key) == 0) {
status = cf_util_get_string(child, &key);
if (status != 0)