Berkeley DB JE JDB файлы продолжают расти - PullRequest
0 голосов
/ 11 декабря 2018

Я отлаживаю проблему с дисковым пространством в моей системе и обнаружил, что файлы .jdb занимают большую часть пространства.

во время просмотра нашел эту ссылку https://backstage.forgerock.com/knowledge/kb/article/a14630082, В моем случае lnSizeCorrectionFactor был примерно1.4 и fileDeleted = false.Я выполнил команду дискового пространства, чтобы найти использование пространства, оно оказалось ненулевым для всех файлов JDB, но большинство файлов имеют использование в виде однозначных значений в диапазоне от 2 до 9.

Яиспользуя версию je-5.0.58, которая не является последней.Мой вопрос в соответствии с BDB doc https://docs.oracle.com/cd/E17277_02/html/GettingStartedGuide/backgroundthreads.html#cleaner, jdb файл должен быть очищен, если он достигает значения, меньшего, чем значение по умолчанию 50%.В моем случае, даже если они имеют одну цифру, почему они не очищаются?

Я не устанавливал явную конфигурацию среды, поэтому она должна по умолчанию использовать значения по умолчанию.Ниже приведен код для создания хранилища bdb.

 private static Repository createBDBRepository(File environmentHome) throws 
 RepositoryException {
            BDBRepositoryBuilder builder = new BDBRepositoryBuilder();
            builder.setName("localbdb");
            builder.setEnvironmentHomeFile(environmentHome);
            builder.setTransactionNoSync(false);

            // Set BDB-JE flavor
            builder.setProduct("JE");

            builder.setCacheSize(20 * 1024 * 1024L);
            return builder.build();
    }

Строка журнала из файла je.info

   Chose lowest utilized file for cleaning. fileChosen: 0x50cbecc totalUtilization: 49 bestFileUtilization: 8 lnSizeCorrectionFactor: 1.1012049 isProbe: false
   No file selected for cleaning. totalUtilization: 50 bestFileUtilization: 8 lnSizeCorrectionFactor: 1.1012049 isProbe: false

1 Ответ

0 голосов
/ 14 декабря 2018

Как описано в документе ForgeRock, это связано с ошибкой в ​​версии 5 BDB JE, ​​которая была устранена в версии 6 и выше.

Цитирование примечаний к выпуску BDB JE 6.x:

Улучшено вычисление использования бревен во избежание недостаточной или чрезмерной очистки.Например, если оценка использования журнала была ниже, чем фактическая загрузка, произойдет ненужная чрезмерная очистка, которая может снизить производительность.Или, когда использование журнала было оценено выше фактического использования, недостаточная очистка предотвратит восстановление неиспользованного дискового пространства.Чтобы избежать этих проблем, размер каждой зарегистрированной записи теперь сохраняется в Bin BIN (нижние внутренние узлы), так что использование может быть правильно рассчитано при обновлении и удалении записи, при этом избегая выборки старой версии записи.С этим изменением средство корректировки использования в очистителе журнала, которое пыталось компенсировать эту проблему путем оценки использования, больше не требуется большинству приложений.

Поэтому параметр EnvironmentConfig.CLEANER_ADJUST_UTILIZATION теперь по умолчанию имеет значение falseчем истина, и будет полностью отключен в будущей версии JE.Для получения дополнительной информации см. Javadoc для этого параметра.

[# 22275] (6.0.7)

...