diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c index dcd0e2f8..24c2e45d 100644 --- a/src/adapter/adapter.c +++ b/src/adapter/adapter.c @@ -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); diff --git a/src/persist/persist.c b/src/persist/persist.c index cf7bd6b8..e0e1f6a7 100644 --- a/src/persist/persist.c +++ b/src/persist/persist.c @@ -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