[ https://issues.apache.org/jira/browse/OAK-2869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davide Giannella closed OAK-2869. --------------------------------- Bulk Close for 1.3.0 > RepositorySidegrade: AsyncIndexUpdate throws a IllegalArgumentException after > migrating from segment to document store > ---------------------------------------------------------------------------------------------------------------------- > > Key: OAK-2869 > URL: https://issues.apache.org/jira/browse/OAK-2869 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core > Reporter: Thomas Mueller > Assignee: Thomas Mueller > Fix For: 1.3.0 > > > After migrating a repository from segment store to the document store, the > AsyncIndexUpdate can throw a IllegalArgumentException because it doesn't > understand the segment stores checkpoint format: > {noformat} > java.lang.IllegalArgumentException: 5f18ca57-a72b-4c4d-8105-03a3486094cc > at > org.apache.jackrabbit.oak.plugins.document.Revision.fromString(Revision.java:236) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.retrieve(DocumentNodeStore.java:1558) > at > org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.run(AsyncIndexUpdate.java:279) > {noformat} > The checkpoint references are stored in the node "/:async". > To solve the problem, multiple solution are possible. > One (more complex) solution is to preserve checkpoints (copy the repository > state of the very first checkpoint, then apply the diff for each later > checkpoint, until all checkpoints are copied). This requires a new API to set > change the checkpoint id, and is slow if there are many checkpoints. Let's > not do this for now. > The easier solution is to remove or clear the checkpoint references, that is, > the "/:async" node. I think this can be done in all cases (even when > migrating from segment store to segment store and from document store to > document store), because the new repository doesn't know the checkpoints of > the old repository (even thought, no exception should be thrown in this case). -- This message was sent by Atlassian JIRA (v6.3.4#6332)