mirror of
https://github.com/emqx/neuron.git
synced 2026-10-21 08:45:47 +08:00
Fix persister loading apis to return more fine grain error code
This commit is contained in:
@@ -242,9 +242,15 @@ static int persister_singleton_load_setting(neu_adapter_t *adapter,
|
||||
int rv =
|
||||
neu_persister_load_adapter_setting(persister, adapter_name, &setting);
|
||||
if (0 != rv) {
|
||||
log_error("%s ignore fail load setting of adapter: %s", adapter->name,
|
||||
const char *fail_or_ignore = "fail";
|
||||
if (NEU_ERR_ENOENT == rv) {
|
||||
// ignore this error, no setting ever set
|
||||
rv = 0;
|
||||
fail_or_ignore = "ignore";
|
||||
}
|
||||
log_error("%s %s load setting of %s", adapter->name, fail_or_ignore,
|
||||
adapter_name);
|
||||
return 0; // ignore this error, may be no setting ever set
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = neu_manager_adapter_set_setting(adapter->manager, node_id, setting);
|
||||
|
||||
@@ -399,8 +399,10 @@ static int write_file_string(const char *fn, const char *s)
|
||||
// read all file contents as string
|
||||
static int read_file_string(const char *fn, char **out)
|
||||
{
|
||||
int rv = 0;
|
||||
int fd = open(fn, O_RDONLY);
|
||||
if (-1 == fd) {
|
||||
rv = (ENOENT == errno) ? NEU_ERR_ENOENT : NEU_ERR_FAILURE;
|
||||
goto error_open;
|
||||
}
|
||||
|
||||
@@ -413,6 +415,7 @@ static int read_file_string(const char *fn, char **out)
|
||||
|
||||
char *buf = malloc(fsize + 1);
|
||||
if (NULL == buf) {
|
||||
rv = NEU_ERR_ENOMEM;
|
||||
goto error_buf;
|
||||
}
|
||||
|
||||
@@ -424,6 +427,7 @@ static int read_file_string(const char *fn, char **out)
|
||||
} else if (n < fsize && EINTR == errno) {
|
||||
continue;
|
||||
} else {
|
||||
rv = NEU_ERR_FAILURE;
|
||||
goto error_read;
|
||||
}
|
||||
}
|
||||
@@ -431,7 +435,7 @@ static int read_file_string(const char *fn, char **out)
|
||||
buf[fsize] = 0;
|
||||
*out = buf;
|
||||
close(fd);
|
||||
return 0;
|
||||
return rv;
|
||||
|
||||
error_read:
|
||||
free(buf);
|
||||
@@ -440,7 +444,7 @@ error_fstat:
|
||||
close(fd);
|
||||
error_open:
|
||||
log_error("persister fail to read %s, reason: %s", fn, strerror(errno));
|
||||
return NEU_ERR_FAILURE;
|
||||
return rv;
|
||||
}
|
||||
|
||||
// file tree walking callback for collecting adapter group config infos
|
||||
|
||||
Reference in New Issue
Block a user