Hi,
I've finished testing and the new cache loader impl (RedcdRecJDBCCacheLoader) works fine on existing data persisted by the prev cache loader impl(JDBCCacheLoader).
Encountered issues:
JDBCCacheLoader does not persists the root. When one performs a put("a/b/c") on an empty loader, all the parent nodes should be created,
i.e. 'a/b', 'a' and 'a' and '/' - root is skipped currently.
RedcdRecJDBCCacheLoader relies on root being persisted, so it performs the following logic in start:
public void start() throws Exception
{
super.start();
if (!exists(Fqn.ROOT) && getNodeCount() > 0)
{
put(Fqn.ROOT, new HashMap());
}
}
The bug still exists in JDBCCacheLoader - I'll take a look to fix it. As Manik said, the fix shouldn't break the compatibility.
Cheers,
Mircea