| Bug #57417 | ndb_error_reporter only collects logs matching name ndb_$id*. | ||
|---|---|---|---|
| Submitted: | 12 Oct 2010 22:33 | Modified: | 27 Jun 2012 14:05 |
| Reporter: | Matthew Montgomery | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S3 (Non-critical) |
| Version: | ndb-7.1.7 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[13 Oct 2010 7:17]
Magnus BlÄudd
In addition, specifying an empty log name should not cause the Logger.log default to be used.
[27 Jun 2012 14:05]
Jon Stephens
Fixed in NDB 7.0+. Documented as follows in the NDB 7.0.34, 7.1.23, and 7.2.7 changelogs:
When FILE was used for the LogDestination parameter without
also specifying the filename, the log file name defaulted to
'logger.log'. Now in such cases, the name defaults to
'ndb_*nodeid*_cluster.log'.
Closed.
[23 Sep 2013 13:09]
Jon Stephens
This is also fixed in NDB 6.3.52. Status unchanged.

Description: The LogDestination variable can set the cluster log to any name. If you do specify LogDestination=FILE without a filename= included ndbd uses logger.log by default. ndb_error_reporter currently only collects log files in the form ndb_$id*. How to repeat: Set LogDestination=FILE:maxsize=32000000,maxfiles=6 Restart ndb_mgmd --initial This line/file set the default filename if left unset. 53 ./storage/ndb/include/logger/FileLogHandler.hpp: FileLogHandler(const char* aFileName = "logger.log", Snip from ndb_error_reporter that determines logs to collect. 59 foreach my $node (@nodes) 60 { 61 print "\n\n Copying data from node $node". 62 (($config_get_fs)?" with filesystem":""). 63 "\n\n"; 64 my $recurse= ($config_get_fs)?'-r ':''; 65 system 'scp -p '.$recurse.$config_username.config($node,'host'). 66 ':'.config($node,'datadir')."/ndb_".$node."* ". 67 "$reportdir/\n"; 68 } Suggested fix: ndb_error_reporter should be extended to parse the LogDestination to properly identify log file(s) to collect, or at a minimum also pull logger.log. Alternatively set the default file name as ndb_$id_cluster.log instead of logger.log when filename is not specified LogDestination so that it is not missed by ndb_error_reporter.