Managing Admin Directory Size

You should specify a sufficient directory size for the Admin database when you initially install your store, using the makebootconfig admindirsize parameter. If you do not specify a value, the system allocates a default of 3 GB as the size of the Admin directory. See Configuring Your KVStore Installation and makebootconfig for details.

Specify the value for the -admindirsize parameter as a long, optionally followed by a unit string. Accepted unit strings are: KB, MB, and GB, corresponding to 1024, 1024², and 1024³ respectively. Acceptable strings are case insensitive. Valid delimiters between the long value and the unit string are " ", "-", or "_". If you specify the delimiter as " ", your value should be enclosed in double quotes, For example "10 GB". If you have any other delimiter double quotes is not mandatory. For example 10_GB or 10-GB.

Also, if the admin directory fills up its allotted storage space with reserved files, see Managing Disk Thresholds for more information.

If the Admin completely uses up its storage space, it will not be able to start. This condition is unlikely to occur, but in the event that your Admin cannot start, you should check its available disk space. If the directory is full, then you should increase the available disk space to the Admin. For the Admin to completely fill its storage space with actual data files, the store would have to be configured in some unexpected way such as with an extraordinarily large number of tables, or have been allotted a very small Admin directory size.

The procedure that you use to change an Admin's allocated disk space differs depending on whether the Admin is in working condition.

Admin is Working

To increase or decrease the Admin's disk space when the Admin is functional, use the CLI to execute the following plan:

plan change-parameters -all-admins -params \
"configProperties=je.maxDisk=<size>"

where <size> is the desired storage size in bytes.

Admin is not Working

To increase or decrease the Admin's disk space when the Admin is not functional:

  1. Set the value of je.maxDisk to the desired value in config.xml for all Admins manually:

    1. For each Storage Node that is hosting an Admin, locate the config.xml file in the Storage Node's root directory:

      <kvroot dir>/<store name>/<SN name>/config.xml

      and edit it as follows.

    2. Locate the admin section of the config.xml file. This is the section that begins with:

      <component name="ADMIN-NAME" type="adminParams" validate="true">
          ...
      </component>
    3. Add the following line to the admin section of each config.xml file:

      <propertyname="configProperties" value="je.maxDisk=<size>" 
      type="STRING"/>

      where <size> is the desired storage size in bytes for your Admin.

  2. Stop/start these Storage Nodes one by one, using the following commands:

    Note:

    Before starting the SNA, on each node, set the environment variable MALLOC_ARENA_MAX to 1. Doing this ensures that memory usage is restricted to the specified heap size.

    java -Xmx64m -Xms64m \
    -jar kvstore.jar stop -root <root dir> \
    -config <config file name>
    
    java -Xmx64m -Xms64m \
    -jar kvstore.jar start -root <root dir> \
    -config <config file name> 
  3. Wait for the status of these Storage Nodes to change to RUNNING. You can use the ping command to get the Storage Node status:

    java -Xmx64m -Xms64m \
    -jar kvstore.jar runadmin -host <host name> -port <port> ping
  4. If any Admins are unreachable (you cannot get a response using the ping command), start them from the CLI using the following command:

    kv-> plan start-service -service <ADMIN_NAME> -wait
  5. Once all the Admins are running, execute the following command using the CLI:

    plan change-parameters -all-admins -params \
    "configProperties=je.maxDisk=<size>"

    where <size> is the desired storage size in bytes for your Admin. This value should match the value you provided in the config.xml file.