This is my first post on these forums and i'm new to umbraco so forgive me if i get a few things slightly wrong :)
My company has put together a site for one of our clients. This site has an updater component and what this does is go off and get some XML from the database. It will then go through and modify the data in umbraco to match the data retreived from the database. After we have updated each item we then do a Document.Publish(User) followed by a umbraco.library.UpdateDocumentCache(ID). During this process we get the following error:
Error loading actionhandler 'umbSearchUpdate': System.MissingMethodException: Method not found:'Int32 Lucene.Net.Index.IndexReader.Delete(Lucene.Net.Index.Term)'. at umbracoUtilities.umbSearchResult.AddPageToIndex(Int32 PageID) at umbracoUtilities.SearchUpdateActionHandler.Execute(Document documentObject, IAction action) at umbraco.BusinessLogic.Actions.Action.RunActionHandlers(Document d, IAction action)
This doesnt seem to prevent the update from occuring however we think it maybe partially to blame for another intermitent bug that causes the update to fail and bring down the content of the site in question. We would therefore like to get to the bottom of what is causing this. any help on this would be appreciated.
What version of umbraco are you using? If its the latest 4 then looks like have umbracoUtiliies installed with uses lucene <2.0 and that is causing the issue. If you are not using umbracoUtillties i would get rid of it.
Thank-you for your speedy reply! This is occuring in 4.01 and 4.0.2.1. We have the UmbracoUtilities.dll in our solution which i am guessing it is installed. However having done a search to see if its currently in use there are a number of pages in the \data\<GUID>\ folder which seem to inherit from this project. which means if i remove this these would stop working. What affect on functionality is this likely to have? (Sorry i dont know umbracco awefully well).
Also when you get rid of it do you mean just remove the DLL or is there a "proper" way of doing this. thanks again.
As I thought you are getting a lucene conflict with latest version of umbraco which uses lucene 2.0 and umbracoUtiliies which has search which uses lucene 1.9.
If memory services me correctly umbracoUtilies has autoform, umbContentType and search if you are not using either of those macros (have a sniff in macros you will see them there) then you can delete the macros and then remove the umbracoUtilities dll. I would take a copy of your site and put it on your laptop/pc and remove see if anything breaks.
We had a copy of their live site i've been hacking around with to try and figure out what is going on. I have indeed removed this dll and nothing seems to have broken straight away. I Will have a look into the macros and see if there is anything in there uses it. It has however stopped the error from being dumped into the log. I will have to look into this tomorrow now before i mark this as resolved. I will give you some karma as well as this has resolved the problem.
Just an update on the situation.We did indeed have some macros which were using items from the UbracoUtilities.dll. Fortunately these had been installed but never used due to a change in design.I simply removed these macros and removed the dll.I did a re-publish and the error went away.This was however replaced by a new error.This was :
This essentially states that you should delete the items on the \data\_systemUmbracoIndexDontDelete\ folder and then let umbraco re-index.In my case this had to be done after I had removed the macros and the dlls.The index was re-built but was much smaller.This I guess is due to a lot of it not getting created due to the items that create it not being there.I then didn’t get any errors whilst doing the update.Thanks for all the help and I hope the additional information I have provided is of some use to someone else!
umbraco.library.UpdateDocumentCache(ID) causing: Error loading actionhandler 'umbSearchUpdate'
Hi Guys,
This is my first post on these forums and i'm new to umbraco so forgive me if i get a few things slightly wrong :)
My company has put together a site for one of our clients. This site has an updater component and what this does is go off and get some XML from the database. It will then go through and modify the data in umbraco to match the data retreived from the database. After we have updated each item we then do a Document.Publish(User) followed by a umbraco.library.UpdateDocumentCache(ID). During this process we get the following error:
Error loading actionhandler 'umbSearchUpdate': System.MissingMethodException: Method not found:'Int32 Lucene.Net.Index.IndexReader.Delete(Lucene.Net.Index.Term)'. at umbracoUtilities.umbSearchResult.AddPageToIndex(Int32 PageID) at umbracoUtilities.SearchUpdateActionHandler.Execute(Document documentObject, IAction action) at umbraco.BusinessLogic.Actions.Action.RunActionHandlers(Document d, IAction action)
This doesnt seem to prevent the update from occuring however we think it maybe partially to blame for another intermitent bug that causes the update to fail and bring down the content of the site in question. We would therefore like to get to the bottom of what is causing this. any help on this would be appreciated.
What version of umbraco are you using? If its the latest 4 then looks like have umbracoUtiliies installed with uses lucene <2.0 and that is causing the issue. If you are not using umbracoUtillties i would get rid of it.
Regards
Ismail
Hi Ismail,
Thank-you for your speedy reply!
This is occuring in 4.01 and 4.0.2.1. We have the UmbracoUtilities.dll in our solution which i am guessing it is installed. However having done a search to see if its currently in use there are a number of pages in the \data\<GUID>\ folder which seem to inherit from this project. which means if i remove this these would stop working. What affect on functionality is this likely to have? (Sorry i dont know umbracco awefully well).
Also when you get rid of it do you mean just remove the DLL or is there a "proper" way of doing this. thanks again.
Kind Regards,
Pete
Pete,
As I thought you are getting a lucene conflict with latest version of umbraco which uses lucene 2.0 and umbracoUtiliies which has search which uses lucene 1.9.
If memory services me correctly umbracoUtilies has autoform, umbContentType and search if you are not using either of those macros (have a sniff in macros you will see them there) then you can delete the macros and then remove the umbracoUtilities dll. I would take a copy of your site and put it on your laptop/pc and remove see if anything breaks.
Regards
Ismail
Hi Ismail,
We had a copy of their live site i've been hacking around with to try and figure out what is going on. I have indeed removed this dll and nothing seems to have broken straight away. I Will have a look into the macros and see if there is anything in there uses it. It has however stopped the error from being dumped into the log. I will have to look into this tomorrow now before i mark this as resolved. I will give you some karma as well as this has resolved the problem.
thanks :D
Pete
Hi,
Just an update on the situation. We did indeed have some macros which were using items from the UbracoUtilities.dll. Fortunately these had been installed but never used due to a change in design. I simply removed these macros and removed the dll. I did a re-publish and the error went away. This was however replaced by a new error. This was :
Error removing node from umbraco index: 'System.IO.FileNotFoundException: Could not find file ‘*\data\_systemUmbracoIndexDontDelete\_krf.fnm'. File name: '*\data\_systemUmbracoIndexDontDelete\_krf.fnm' at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at Lucene.Net.Store.FSIndexInput.Descriptor..ctor(FSIndexInput enclosingInstance, FileInfo file, FileAccess mode) at Lucene.Net.Store.FSIndexInput..ctor(FileInfo path) at Lucene.Net.Store.FSDirectory.OpenInput(String name) at Lucene.Net.Index.FieldInfos..ctor(Directory d, String name) at Lucene.Net.Index.SegmentReader.Initialize(SegmentInfo si) at Lucene.Net.Index.SegmentReader.Get(Directory dir, SegmentInfo si, SegmentInfos sis, Boolean closeDir, Boolean ownDir) at Lucene.Net.Index.IndexReader.AnonymousClassWith.DoBody() at Lucene.Net.Store.Lock.With.Run() at Lucene.Net.Index.IndexReader.Open(Directory directory, Boolean closeDirectory) at Lucene.Net.Index.IndexReader.Open(String path) at umbraco.cms.businesslogic.index.Indexer.RemoveNode(Int32 Id)'
Note: I have added the stars to remove the directroy structure. Having done a bit of googling on this I came across the following page:
http://our.umbraco.org/forum/using/ui-questions/2787-Empty-recyle-bin-does-not-complete?p=0
This essentially states that you should delete the items on the \data\_systemUmbracoIndexDontDelete\ folder and then let umbraco re-index. In my case this had to be done after I had removed the macros and the dlls. The index was re-built but was much smaller. This I guess is due to a lot of it not getting created due to the items that create it not being there. I then didn’t get any errors whilst doing the update. Thanks for all the help and I hope the additional information I have provided is of some use to someone else!
Pete
is working on a reply...