failed to read manifest.json is critical,   so maybe it's not sufficient to just log it,   consider to throw  RuntimeException?