Hi,
 
I have several frontend servers, each one running an instance of Exim. 
Configuration is stored in files (the configure one of course, but also 
mailertable, relay_domains, ...) which are located on a distributed filesystem 
(Lustre).
 
>From time to time, when running exim_dbmbuild, at least against the largest 
>one (22500 lines, 570KB) given I only have error logs for this one, I get the 
>following message:
 
    Error -30977 while writing key [email protected]: errno=2
 
The underlying Exim C code is :
 
  switch(rc = EXIM_DBPUTB(d, key, content))
    {
    case EXIM_DBPUTB_OK:
      [...]
    case EXIM_DBPUTB_DUP:
      [...]
    default:
    fprintf(stderr, "Error %d while writing key %s: errno=%d\n", rc,
      keybuffer, errno);
      [...]
    }
  }
 
with 
 
#define EXIM_DBPUTB(db, key, data)  tdb_store(db, key, data, TDB_INSERT)
 
As far as I can see, it first writes to <my_conf_file>.dbmbuild_temp before 
renaming it to <my_conf_file>.db.
 
I can't really understand why errno #2 is triggered, it seems to apply to the 
temporary file. 
 
Has anyone been in the same situation ? May the distributed filesystem be the 
reason ?
 
 
Christian

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/
  • [exim] exim_dbmbuild : Error -30977 while writing key Christian Gregoire

Reply via email to