Bug #22292 | Cluster node dies while loading large dump file | ||
---|---|---|---|
Submitted: | 13 Sep 2006 2:18 | Modified: | 23 Sep 2006 11:40 |
Reporter: | Steve Wolf | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
Version: | 5.0.24a | OS: | Linux (CentOS 4.4 x86_64) |
Assigned to: | CPU Architecture: | Any | |
Tags: | declared dead, signal 0 |
[13 Sep 2006 2:18]
Steve Wolf
[13 Sep 2006 2:25]
Steve Wolf
Trace file
Attachment: ndb_1_trace.log.1.gz (application/x-gzip, text), 65.28 KiB.
[13 Sep 2006 2:34]
Steve Wolf
More on sizes. My first attempt on four machines with 2GB RAM each had the global settings DataMemory=1280M # How much memory to allocate for data storage IndexMemory=128M # How much memory to allocate for index storage My larger engine on the same four machines with 4GB RAM each has the global settings DataMemory=2816M # How much memory to allocate for data storage IndexMemory=256M # How much memory to allocate for index storage
[13 Sep 2006 9:22]
Jonas Oreland
Hi, A common cause of missed heartbeats is swapping. This can be observed using top and/or vmstat ndbd can also be locked in memory, causing _no_ swapping of it. This is enabled by "LockPagesInMainMemory" However you must be root when starting ndbd to use this option (or have a farily recent linux kernel, and modify ulimit -l) Can you try/check this? /Jonas
[13 Sep 2006 21:32]
Steve Wolf
Locking memory indeed resolved the problem. I was assuming the memory was locked by default. I request a change that LockPagesInMainMemory=Y be the default. Why wouldn't you want to lock memory? If you don't, the cluster doesn't work. Thanks for the diagnosis! Regards, Steve
[13 Sep 2006 21:35]
Jonas Oreland
The reason for not being default is that you need to be root to use this (or have "kind" root, that lets you do it) So I think will cause more problems than it will solve... (even if it's not very uncommon to experience this problem) /Jonas
[14 Sep 2006 10:47]
Steve Wolf
Make the default context dependent. If ndbd is started as root, the default value is True, otherwise it's False. Pseudo-code: lock_memory_default = (!getuid() || !geteuid()); Just a thought. Other than that, it's okay to close this bug. Regards, Steve