From 336d579944143b39f7affdda100c8f7154866fec Mon Sep 17 00:00:00 2001 From: Richard Carlsson Date: Fri, 2 Dec 2011 07:14:32 +0100 Subject: 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. --- lib/mnesia/src/mnesia_log.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/mnesia/src') 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) -> -- cgit v1.2.3