[erlang-questions] Unable to start mnesia DB.

Karolis Petrauskas k.petrauskas@REDACTED
Tue Jul 9 19:16:09 CEST 2013


The database eventually started. It took 8 hours and 15 minutes to
start DB of size ~160 MB (measured using `du data/mnesia/db`). I have
done this test in more clean environment: I started the node in the
console_clean mode and invoked application:start(mnesia).

After the DB become available, I stopped the node by invoking
init:stop(). Then I repeated the test. It is still running, but
timings look the same (2 cores were busy for 2.5 hours, and after that
1 core is loaded fully, expected for ~5.5 hours). For the second start
up attempt the DB has no DCL files, only DCD are left after first

The test is performed on 64 bit Debian GNU/Linux 6.0.6 (squeeze)
running on a virtual server (vmware). I am using Erlang binaries
downloaded from the ESL site, version:

    Erlang R16B01 (erts-5.10.2) [source-bdf5300] [64-bit] [smp:2:2]
[async-threads:10] [hipe] [kernel-poll:false]

Any hints are welcome.


On Mon, Jul 8, 2013 at 4:06 PM, Karolis Petrauskas
<k.petrauskas@REDACTED> wrote:
> Additional info. The processes with highest reductions are with the
> following "current functions":
>     {current_function,{disk_log,monitor_request,2}}
>     {current_function,{disk_log,loop,1}}
> I am not sure if its related, but all the tables that are loaded
> successfully, have no DCL files.
> Karolis
> On Mon, Jul 8, 2013 at 2:16 PM, Karolis Petrauskas <k.petrauskas@REDACTED>
> wrote:
>> Hello,
>>     I cannot load table after erlang node restart. Mnesia prints no
>> errors, just is loading the database for very long time. The database is on
>> single node, all tables are disc_copy. In total the DB is ~220 MB. On
>> startup, the last thing the mnesia prints is:
>>     Getting table my_db_lnk (disc_copies) from disc: local_only
>> Size of this table (my_db_lnk) on disc is is ~36 MB in the DCD file and ~7
>> MB in he DCL file. This table is not the last table to be loaded in the
>> database. IO at that time is almost zero, but CPU is used heavily (200% on
>> machine having 2 cores). I was waiting for 3 hours for this table and then
>> aborted. Tried to restart the node with the following options:
>>     bin/app console_clean -mnesia debug trace -mnesia auto_repair false
>> But situation has not been changed. mnesia:info() shows several of my
>> tables as active, but not all. After printing "Getting table...", mnesia
>> prints "Transaction log dump initiated by time_threshold: already_dumped"
>> from time to time.
>>     How could i debug this situation?
>> Karolis

More information about the erlang-questions mailing list