jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hitesh Shah (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-964) Cannot rebuild corrupt or missing search index from DataSource
Date Tue, 14 Aug 2007 20:15:30 GMT

    [ https://issues.apache.org/jira/browse/JCR-964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12519762
] 

Hitesh Shah commented on JCR-964:
---------------------------------

Update:

When I try to read that property directly out of the db, I get a StreamCorruptedException.


Code snippet:
Class.forName(driver);
connection = DriverManager.getConnection(url, user, password);

ps = connection.prepareStatement(sql);
ps.setString(1, key);
rs = ps.executeQuery();
if (rs.next()) {
	byte[] bytes = rs.getBytes(1);
	
	for (int j = 0; j < bytes.length; j++) {
		System.out.print(bytes[j]);
		System.out.print("\t");
	}
	System.out.println("");
	ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
	ObjectInputStream in = new ObjectInputStream(byteArrayInputStream);
}




Output:
7	-122	-124	-5	-31	112	48	46	33	4	1	-84	0	-64	1	0	0	0	0	56	2	14	
java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:770)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:286)
at ReadCorruptJackrabbitDataTest.execute(ReadCorruptJackrabbitDataTest.java:62)
at ReadCorruptJackrabbitDataTest.main(ReadCorruptJackrabbitDataTest.java:33)


> Cannot rebuild corrupt or missing search index from DataSource
> --------------------------------------------------------------
>
>                 Key: JCR-964
>                 URL: https://issues.apache.org/jira/browse/JCR-964
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: indexing
>    Affects Versions: 1.3
>            Reporter: Noah Vihinen
>            Priority: Blocker
>
> If the search index becomes corrupt, and the auto-repair process cannot fix the search
index (which is common in our experience), there is no way to recover the jackrabbit instance.
 The only possible work-around is when you're working with a cluster, and you manually copy
an intact index from one of the other clusters.  It hasn't been determined whether this leads
to other issues though.
> Given a Jackrabbit repository, shouldn't it be possible to start the repository on top
of that single data source in the absence of a search index, and have the search index rebuilt
from the information in the DB?
> Below is the stack trace we get when restarting a repository with no search index.
> 15:32:13,622 ERROR RepositoryImpl:389 - [main] Failed to initialize workspace 'default'
> javax.jcr.RepositoryException: Error indexing root node: a7479d92-4b59-4f44-978a-06da1ec7b8d1:
Error indexing root node: a7479d92-4b59-4f44-978a-06da1ec7b8d1: Error indexing root node:
a7479d92-4b59-4f44-978a-06da1ec7b8d1
>         at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:476)
>         at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:231)
>         at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1643)
>         at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:633)
>         at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:386)
>         at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:293)
>         at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:584)
>         at org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:174)
>         at org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:138)
>         at org.apache.jackrabbit.core.jndi.BindableRepository.create(BindableRepository.java:125)
>         at org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.createInstance(BindableRepositoryFactory.java:59)
>         at org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:81)
>         at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)
>         at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>         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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message