FAQ: Difference between revisions
No edit summary |
|||
Line 3: | Line 3: | ||
There is a related page of [[Installation/Compilation problems|Common Installation Problems]]. | There is a related page of [[Installation/Compilation problems|Common Installation Problems]]. | ||
= Increasing Number of Hot-links = | == Increasing Number of Hot-links == | ||
# Use odbedit to save current ODB | # Use odbedit to save current ODB |
Revision as of 10:10, 25 November 2016
Frequently Asked Questions
There is a related page of Common Installation Problems.
Increasing Number of Hot-links
- Use odbedit to save current ODB
odbedit save current_odb.odb
- Stop all the running MIDAS processes, including mlogger and mserver using the web
interface. Then stop mhttpd as well.
- Remove your old ODB (we will recreate it after modifying MIDAS, using the backup you just
made).
mv .ODB.SHM .ODB.SHM.20161104 rm /dev/shm/thomas_ODB_SHM
- Make the following modifications to midas. In this particular case I have increased the
max number of open records from 256 to 1024. You would need to change the constants if you want to change to other values
diff --git a/include/midas.h b/include/midas.h index 02b30dd..33be7be 100644 --- a/include/midas.h +++ b/include/midas.h @@ -254,7 +254,7 @@ typedef std::vector<std::string> STRING_LIST; -#define MAX_OPEN_RECORDS 256 /**< number of open DB records */ +#define MAX_OPEN_RECORDS 1024 /**< number of open DB records */ diff --git a/src/odb.c b/src/odb.c index 47ace8f..ac1bef3 100755 --- a/src/odb.c +++ b/src/odb.c @@ -699,8 +699,8 @@ static void db_validate_sizes() - assert(sizeof(DATABASE_CLIENT) == 2112); - assert(sizeof(DATABASE_HEADER) == 135232); + assert(sizeof(DATABASE_CLIENT) == 8256); + assert(sizeof(DATABASE_HEADER) == 528448);
The calculation is as follows (in case you want a different number of open records): DATABASE_CLIENT = 64 + 8*MAX_OPEN_ERCORDS = 64 + 8*1024 = 8256 DATABASE_HEADER = 64 + 64*DATABASE_CLIENT = 64 + 64*8256 = 528448
5) Rebuild MIDAS
make clean; make
6) Create new ODB
odbedit -s 1000000
Change the size of the ODB to whatever you want.
7) reload your original ODB
load current_odb.odb
8) Rebuild your frontend against new MIDAS; then it should work and you should be able to produce more open records.