Project

General

Profile

Bug #5772

Initial install broken if default data/backup directory unavailable

Added by Brendan Hahn over 7 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
metacat
Target version:
Start date:
01/07/2013
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
5772

Description

Initialization of a fresh install requires establishing data and backup directories for metacat. The system searches for a number of default directory options (SystemUtil.discoverExternalDir()). If no default can be found or created, the system generates and stores an invalid value ('null/.knb') that prevents further initialization and can be fixed only by manual editing or reinstallation.

This is caused by a number of separate, interacting bugs. ConfigurableProperties.initialize() converts and propagates the null value due to an improper test. Arguably SystemUtil.discoverExternalDir() should not generate null at all. PropertyService does not udpate its ConfigurableProperties object as it should. ConfigurableProperties should not maintain two separate instances of the same datum (the backup file path; it may do this for other properties as well).

History

#1 Updated by Brendan Hahn over 7 years ago

Currently fixed by correcting the initial-value test in ConfigurableProperties.initialize and re-initializing at the proper time. This latter change means a small amount of redundant/wasted initialization work, but the operations are idempotent. It is not clear why re-initialization was disabled.

A more thorough fix would undertake some restructuring of ConfigurableProperties and related clients/dependencies.

#2 Updated by Redmine Admin over 7 years ago

Original Bugzilla ID was 5772

Also available in: Atom PDF