FAQ: Difference between revisions
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
# Use odbedit to save current ODB | # Use odbedit to save current ODB | ||
<pre> | <pre> odbedit | ||
odbedit | save current_odb.odb </pre> | ||
save current_odb.odb | |||
</pre> | |||
# Stop all the running MIDAS processes, including mlogger and mserver using the web | # Stop all the running MIDAS processes, including mlogger and mserver using the web | ||
interface. Then stop mhttpd as well. | interface. Then stop mhttpd as well. |
Revision as of 10:12, 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
- Rebuild MIDAS
make clean; make
- Create new ODB
odbedit -s 1000000
Note, you should change the size of the ODB to whatever you need.
- reload your original ODB
load current_odb.odb
- Rebuild your frontend against new MIDAS; then it should work and you should be able to
produce more open records.