cancel
Showing results for 
Search instead for 
Did you mean: 

Bug?

markthompson23
Champ in-the-making
Champ in-the-making
I have manually set up this installation twice.

Once I'm done, I get this error when attempting to apply categories (I get it when I click on the link to select the category)

——————————–
javax.faces.FacesException: org.alfresco.repo.search.SearcherException: More than one root node? 0

caused by:
org.apache.jasper.JasperException: org.alfresco.repo.search.SearcherException: More than one root node? 0

caused by:
java.lang.RuntimeException: org.alfresco.repo.search.SearcherException: More than one root node? 0

caused by:
org.alfresco.repo.search.SearcherException: More than one root node? 0
——————————-

Here are some details on what I'm doing:

Tomcat on Win2k server

Config changes:
SSL enabled
Mail

Other than that, all I have done is create new space, new users, assigned roles to users within the spaces and moved the some of the existing (Data Dictionary, Alfresco Tutorial) spaces to be sub-spaces of newly created ones.

After I got the error the first time, I blew away the database and started from scratch (that's another story, I thought I could export and then import but that didn't work either)

Anyway, any thoughts?
17 REPLIES 17

lgr
Champ in-the-making
Champ in-the-making
Hmm, i did not find it in the nightly build as well…

So, i'll appreciate some further help Smiley Happy.

Laurent.

derek
Star Contributor
Star Contributor
Hi, Laurent

Non-enterprise solutions should employ a backup and recovery procedure, especially before performing upgrades and other major changes to configurations: http://www.alfresco.org/mediawiki/index.php/Backup_and_Restore.

There is no recovery for content which has gone permanently missing.  But you can merge file-based content stores (the default) at will just by copying them over each other.  All files are GUID-based and you will never get a clash.

For Professional and Enterprise customers, a tool exists that can fully recovery broken or missing Lucene indexes: http://www.alfrescosoftware.com/products/professional.  It is also used to keep indexes up to date on backup servers.

Regards

derek
Star Contributor
Star Contributor
In reply to markthompson23:

javax.faces.FacesException: org.alfresco.repo.search.SearcherException: More than one root node? 0
caused by:
org.apache.jasper.JasperException: org.alfresco.repo.search.SearcherException: More than one root node? 0
caused by:
java.lang.RuntimeException: org.alfresco.repo.search.SearcherException: More than one root node? 0
This error message is a little misleading and I have just fixed the error text.  It should have said: Index has no root node.  Check that the correct index locations are being used.

There are not multiple root nodes, but rather no root nodes.  When a root node is created for a store in the database (e.g. the categories store), a root node is created in the Lucene index within the same transaction.  It is not possible to create two root nodes for a store, and a second root node should never be made in an index.

However, if you point your server to a new index location, then it assumes that the indexes have root nodes.  When you attempt to update the categories, no root node is found and it blows up.  This is the theory.  Remember that the index and content locations are relative to where you start Tomcat from unless you make it a fixed location.  (http://www.alfresco.org/forums/viewtopic.php?p=2504#2504).

You can recover the indexes if you have the Enterprise code.  Otherwise try to find the original indexes and put them in the correct location - or try again…  :cry:

Regards

lgr
Champ in-the-making
Champ in-the-making
ok.

Perhaps, do you have an easy way to delete all content, leaving spaces structure and users intact ? That should save me a couple of hours. I was thinking of deleting "contentstore" folder content and "lucene-indexes", and doing some minimalist trick in the mysql database.

Or I'll reinstall all and implement true backup procedures properly. Yes, i'll try again, but game is not over. Smiley Happy

Laurent.

markthompson23
Champ in-the-making
Champ in-the-making
In reply to derek

In case it is relevant, the number at the end of error message kept incrementing.  It got as high as 10 (ie 'More than one root node? 10').  I wasn't able to determine what sequence of steps caused it to increment.

I have since restored the system and have set the dir.root value to a fixed location so that has solved the problem.  I thought the fact that the number was incrementing might indicate that the error message was accurate.  Anyway, I just wanted to pass it on just in case.

derek
Star Contributor
Star Contributor
Mark:

Sorry.  I didn't know that the number was incrementing.  The problem is probably that the database is cleaned repeatedly but the indexes are not - or something like that.

Laurent:

The Lucene indexes contain search structures for absolutely everthing in the repository and not just the full text search.  So not having the indexes is basically terminal.  I'm afraid that there is no magic bullet here without rebuilding or having a backup.

Regards

lgr
Champ in-the-making
Champ in-the-making
Hello,

I'm rather astonished. I've reinstalled all the Alfresco software from scratch. I've done some modifications on configuration files, including fixing a full path for alf_data folder in repositories.properties, renaming the root space, also define users, create some spaces, etc …

Then, i try to modify catagories, and a common error "more than one root node" occurs. I've understood why. I've put a comment at the end of the line dir.root in repository.properties, and i though that it should be allowed. When i saw my folder named "alf_data  #very important", i understood that it should not be allowed.

Can you confirm that not allowing comments at the end of a line is a feature and not a bug ?

Laurent.

derek
Star Contributor
Star Contributor
Hi,

It is unfortunate, but the handling of Java Properties does not allow comments at the end of lines.  On the other hand, if you wanted a propery value with a # in it, then there would have to be some magic escape sequence that would be equally obscure.

Regards