Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-2362

Setting CLEANER_MIN_FILE_UTILIZATION instead of CLEANER_MIN_UTILIZATION

    Details

    • Support Ticket IDs:

      Description

      I think we've mixed up the uses of these two JE configuration parameters in our code.

      JE 5 javadoc:

          /**
           * The cleaner will keep the total disk space utilization percentage above
           * this value.
           *
           * <p><table border="1">
           * <tr><td>Name</td><td>Type</td><td>Mutable</td>
           * <td>Default</td><td>Minimum</td><td>Maximum</td></tr>
           * <tr>
           * <td>{@value}</td>
           * <td>Integer</td>
           * <td>Yes</td>
           * <td>50</td>
           * <td>0</td>
           * <td>90</td>
           * </tr>
           * </table></p>
           */
          public static final String CLEANER_MIN_UTILIZATION =
              "je.cleaner.minUtilization";
      
          /**
           * A log file will be cleaned if its utilization percentage is below this
           * value, irrespective of total utilization.
           *
           * <p><table border="1">
           * <tr><td>Name</td><td>Type</td><td>Mutable</td>
           * <td>Default</td><td>Minimum</td><td>Maximum</td></tr>
           * <tr>
           * <td>{@value}</td>
           * <td>Integer</td>
           * <td>Yes</td>
           * <td>5</td>
           * <td>0</td>
           * <td>50</td>
           * </tr>
           * </table></p>
           */
          public static final String CLEANER_MIN_FILE_UTILIZATION =
              "je.cleaner.minFileUtilization";
      

      However in our ConfigurableEnvironment code, we have:

            registerProp("je.cleaner.minUtilization", ATTR_CLEANER_MIN_UTILIZATION);
      

      ATTR_CLEANER_MIN_UTILIZATION being "ds-cfg-db-cleaner-min-utilization".

      In other words, we're setting the disk space utilization. Note the two properties also have different ranges of valid values.

      A side-effect of this is that if you set ds-cfg-db-cleaner-min-utilization to a number greater than 50, an online import-ldif fails because it tries to set an illegal value on the wrong property:

      [16/Oct/2015:14:52:05 +0100] severity="ERROR" msgCount=10 msgID=org.opends.messages.tool-96 message="An error occurred while attempting to process the LDIF import:  IllegalArgumentException(com.sleepycat.je.config.IntConfigParam: param je.cleaner.minFileUtilization doesn't validate, 80 is greater than max of 50)"
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cjr Chris Ridd
                Reporter:
                cjr Chris Ridd
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: