Встроенная база данных Neo4j игнорирует ограничения журнала транзакций

Используя Neo4j 3.0.4, встроенная база данных полностью игнорирует dbms.tx_log.rotation.retention_policy. Нет никакой разницы, загружать ли его из конфигурационного файла с помощью

new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(STORE_FOLDER).loadPropertiesFromURL(CONFIG_FILE).newGraphDatabase();

или установить его с помощью

new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(STORE_FOLDER).SetConfig(GraphDatabaseSettings.keep_logical_logs, DBMS_TX_LOG_ROTATION_RETENTION_POLICY).newGraphDatabase();

Не меняется, ограничено ли оно размером (100M size) или количеством (3 files). Он с радостью записывает журналы транзакций, пока жесткий диск не заполнится.

Однако GraphDatabaseSettings.logical_log_rotation_threshold работает просто отлично.

Я что-то упустил при настройке? Я не понял назначение политики хранения, или это баг Neo4j 3.0.4?


person Hoothoot    schedule 06.09.2016    source источник


Ответы (1)


Журналы транзакций обрезаются или, по крайней мере, проверяются на возможность обрезания каждой контрольной точки. Контрольная точка может возникать с интервалом в несколько минут (в зависимости от настроек времени и количества транзакций). Между этими контрольными точками нет никаких гарантий относительно размера журнала транзакций.

person Mattias Finné    schedule 14.09.2016