[
https://issues.apache.org/jira/browse/JCR-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498218
]
Dominique Pfister commented on JCR-938:
---------------------------------------
Hi Michael,
The Journal implementation uses the central NamespaceRegistryImpl as its
NamespaceResolver and taking a look at NamespaceRegistryImpl's load() method,
one can see that it starts with a mapping for the empty prefix, when no
property file exists at startup:
...
if (!propFile.exists()) {
// clear existing mappings
clear();
// default namespace (if no prefix is specified)
map(QName.NS_EMPTY_PREFIX, QName.NS_DEFAULT_URI);
....
in other words, from the very first repository startup, there should be a
mapping for the empty string. If you experienced the "unknown prefix" problem,
and the code you provided fixed it, your ns_reg.properties must be missing the
line mapping NS_EMPTY_PREFIX to NS_DEFAULT_URI (a line that consists of a
single '=' character).
Kind regards
Dominique
> cluster synchronization JournalException
> ----------------------------------------
>
> Key: JCR-938
> URL: https://issues.apache.org/jira/browse/JCR-938
> Project: Jackrabbit
> Issue Type: Bug
> Affects Versions: 1.3
> Reporter: Xiaohua Lu
> Assigned To: Dominique Pfister
> Attachments: NameFormatTest.java
>
>
> We are having a lot of updates on a 4 nodes cluster setup and the following
> exception pops up once a while.
> 12:32:33,275 ERROR ClusterNode:933 - [main] Unable to read revision '242'.
> org.apache.jackrabbit.core.journal.JournalException: Unknown prefix error
> while
> reading name.
> at
> org.apache.jackrabbit.core.journal.AbstractRecord.readQName(AbstractR
> ecord.java:159)
> at
> org.apache.jackrabbit.core.journal.AbstractRecord.readPropertyId(Abst
> ractRecord.java:227)
> at
> org.apache.jackrabbit.core.cluster.ClusterNode.consume(ClusterNode.ja
> va:885)
> at
> org.apache.jackrabbit.core.journal.AbstractJournal.doSync(AbstractJou
> rnal.java:191)
> at
> org.apache.jackrabbit.core.journal.AbstractJournal.sync(AbstractJourn
> al.java:166)
> at
> org.apache.jackrabbit.core.cluster.ClusterNode.sync(ClusterNode.java:
> 283)
> at
> org.apache.jackrabbit.core.cluster.ClusterNode.start(ClusterNode.java
> :229)
> at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:
> 308)
> at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:
> 584)
> at
> org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(B
> indableRepository.java:174)
> at
> org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepos
> itory.java:138)
> at
> org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRep
> ository.java:125)
> at
> org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.createInsta
> nce(BindableRepositoryFactory.java:59)
> at
> org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectIn
> stance(BindableRepositoryFactory.java:81)
> at
> org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceF
> actory.java:140)
> at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:3
> 04)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
> at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
> at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
> at javax.naming.InitialContext.lookup(InitialContext.java:351)
> at
> net.maven.mcr.repository.jackrabbit.JackrabbitContentRepository.start
> up(JackrabbitContentRepository.java:66)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.