mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

boli
14.54.2008 691208eb996c52420a110d51ac4c50133f26dcee
Fix for issue 3245. All sized based rotation policies are now re-evaluated on config change.
1 files modified
27 ■■■■■ changed files
opends/src/server/org/opends/server/loggers/MultifileTextWriter.java 27 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/loggers/MultifileTextWriter.java
@@ -368,11 +368,34 @@
  public ConfigChangeResult applyConfigurationChange(
      SizeLimitLogRotationPolicyCfg config)
  {
    if(sizeLimit == 0 || sizeLimit > config.getFileSizeLimit())
    long newSizeLimit = Integer.MAX_VALUE;
    // Go through all current size rotation policies and get the
    // lowest size setting.
    for(RotationPolicy policy : rotationPolicies)
    {
      sizeLimit = config.getFileSizeLimit();
      if(policy instanceof SizeBasedRotationPolicy)
      {
        SizeBasedRotationPolicy sizePolicy = ((SizeBasedRotationPolicy)policy);
        if(sizePolicy.currentConfig.dn().equals(config.dn()) )
        {
          if(newSizeLimit > config.getFileSizeLimit())
          {
            newSizeLimit = config.getFileSizeLimit();
          }
        }
        else
        {
          if(newSizeLimit > sizePolicy.currentConfig.getFileSizeLimit())
          {
            newSizeLimit = sizePolicy.currentConfig.getFileSizeLimit();
          }
        }
      }
    }
    sizeLimit = newSizeLimit;
    return new ConfigChangeResult(ResultCode.SUCCESS, false,
                                  new ArrayList<Message>());
  }