aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia
diff options
context:
space:
mode:
authorRichard Carlsson <[email protected]>2011-12-02 07:14:32 +0100
committerRichard Carlsson <[email protected]>2011-12-07 12:29:06 +0100
commit336d579944143b39f7affdda100c8f7154866fec (patch)
treef08f06ea088af40aa72980b015c569290465cd80 /lib/mnesia
parente21ff9b0b69219ab3853be7e80813156113152b7 (diff)
downloadotp-336d579944143b39f7affdda100c8f7154866fec.tar.gz
otp-336d579944143b39f7affdda100c8f7154866fec.tar.bz2
otp-336d579944143b39f7affdda100c8f7154866fec.zip
Use the synchronous log_terms instead of alog_terms in mnesia_log:ets2dcd()
This avoids the situation where mnesia could dump a very large ets table in its entirety into the message queue of the disk_log process, causing memory blowup and choking the disk logger.
Diffstat (limited to 'lib/mnesia')
-rw-r--r--lib/mnesia/src/mnesia_log.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/mnesia/src/mnesia_log.erl b/lib/mnesia/src/mnesia_log.erl
index 94153473cb..e22eb706ad 100644
--- a/lib/mnesia/src/mnesia_log.erl
+++ b/lib/mnesia/src/mnesia_log.erl
@@ -927,7 +927,7 @@ ets2dcd(Tab, Ftype) ->
ets2dcd('$end_of_table', _Tab, _Log) ->
ok;
ets2dcd({Recs, Cont}, Tab, Log) ->
- ok = disk_log:alog_terms(Log, Recs),
+ ok = disk_log:log_terms(Log, Recs),
ets2dcd(mnesia_lib:db_chunk(ram_copies, Cont), Tab, Log).
dcd2ets(Tab) ->