Hitachi Vantara Pentaho Community Forums
Results 1 to 8 of 8

Thread: How do I reset MetaData?

  1. #1

    Default How do I reset MetaData?

    I have managed to really screw up the metadata. I just want to reset back and restart from there.

    Quick FYI - I have looked at Pentaho in the past and the learning curve was intimidating (we use Crystal and Crystal Reports ServerXI). The books Pentaho Solutions by Bouman and van Dongen and the book Pentaho Reporting 3.5 for Java Developers by Will Gorman have been a HUGE resource for me with up to date answers that have helped me alot in speeding up the steep learning curve.

    Here is my problem - I am using the PCI for 3.5RC2.
    I installed with Hypersonic, played around with the security settings and with Metadata editor. I also added my own folder, one new metadata xmi file for that folder.

    - Next, I decided to move from HSQLDB's for Quartz and hibernate to Oracle 10g. That went smoothly and everything transferred and works well (I can run the sample reports fine and even my custom report, just not ad-hoc designer). I commented out hybernate/quartz Hsqldb's and kept the sample data HSQL DB running and I can run the sample reports with Oracle as the hybernate and Quartz DB.

    - I noticed all the security changes I made in hsql were NOT in my oracle version. This made sense becuase I think it just loaded the default.

    PROBLEM:
    - Hitting Tools -> Refresh -> Reporting MetaData - I get this error from Pentaho.log (full error log message at end of post)

    2009-10-15 09:42:59,635 ERROR [org.pentaho.platform.engine.services.metadata.MetadataPublisher] MetadataPublisher.ERROR_0001 - Problems occured loading some metadata.xmi files.
    java.lang.NullPointerException
    at java.io.FileOutputStream.write(FileOutputStream.java:247)



    - Problem - when I try to run Adhoc Query.
    "There are no Data Source(s) defined in the metadata, or you do not have permission to access any of the Data Source(s). Please Create one or more Data Source(s) using Metadata editor and then publish them to the Pentaho server. Or use Metadata editor to give appropriate user permission to access the data source.


    - Problem in MetaData editor
    I load the XMI file and try to publish to the server (I have successfully done this in the past and the publishing password is setup). It takes my login information says a file exists and would I like to overwrite and I say yes.

    I deleted my custom directory with its metadata.xmi thinking that could be the problem. still did not work.

    I have tried going into oracle and manually updating the binary data field with the XMI file successfully with a "vanilla" metadata.xmi (from clean bi zip file). I still get the error message.

    Can anyone help me get to the bottom of this? I am not worried about losing data, I really haven't created much yet. It looks like when I run my backup pre-oracle it gets the same error now as well.

    Thanks,
    Steve




    Full Error log when I refresh Metadata from User console on server. (from admin console it say ran successfully but it doesn't appear to work, meaning adhoc still has problems).

    [org.pentaho.platform.engine.services.metadata.MetadataPublisher] MetadataPublisher.ERROR_0001 - Problems occured loading some metadata.xmi files.
    java.lang.NullPointerException
    at java.io.FileOutputStream.write(FileOutputStream.java:247)
    at org.pentaho.platform.repository.solution.dbbased.DbBasedSolutionRepository.publishIcon(DbBasedSolutionRepository.java:713)
    at org.pentaho.platform.repository.solution.dbbased.DbBasedSolutionRepository.addIndexToRepository(DbBasedSolutionRepository.java:501)
    at org.pentaho.platform.repository.solution.dbbased.DbBasedSolutionRepository.processDir(DbBasedSolutionRepository.java:302)
    at org.pentaho.platform.repository.solution.dbbased.DbBasedSolutionRepository.loadSolutionPath(DbBasedSolutionRepository.java:213)
    at org.pentaho.platform.repository.solution.dbbased.DbBasedSolutionRepository.getCachedSolutionDocument(DbBasedSolutionRepository.java:259)
    at org.pentaho.platform.repository.solution.dbbased.DbBasedSolutionRepository.getSolutions(DbBasedSolutionRepository.java:728)
    at org.pentaho.platform.repository.solution.SolutionRepositoryBase.getSolutions(SolutionRepositoryBase.java:545)
    at org.pentaho.platform.plugin.services.metadata.MetadataDomainRepository.reloadLegacyDomains(MetadataDomainRepository.java:143)
    at org.pentaho.platform.plugin.services.metadata.MetadataDomainRepository.reloadDomains(MetadataDomainRepository.java:104)
    at org.pentaho.platform.engine.services.metadata.MetadataPublisher.publish(MetadataPublisher.java:73)
    at org.pentaho.platform.engine.core.system.BasePublisher.publish(BasePublisher.java:37)
    at org.pentaho.platform.engine.core.system.PentahoSystem.publish(PentahoSystem.java:811)
    at org.pentaho.mantle.server.MantleServlet.refreshMetadata(MantleServlet.java:201)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:166)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.pentaho.platform.web.http.security.SecurityStartupFilter.doFilter(SecurityStartupFilter.java:85)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:169)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.pentaho.platform.web.http.security.HttpSessionReuseDetectionFilter.doFilter(HttpSessionReuseDetectionFilter.java:134)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
    at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
    at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.pentaho.platform.web.http.filters.SystemStatusFilter.doFilter(SystemStatusFilter.java:60)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.pentaho.platform.web.http.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
    at java.lang.Thread.run(Thread.java:619)

  2. #2

    Default Trying complete re-install

    I am doing a complete re-install from scratch and migrate to Oracle before changing anything in the hibernate db.

    I still would be interested in how I would fix or reset the metadata. Seems like it should be possible.

    I will update here if I run into the same problems on my re-install.

    Steve

  3. #3

    Default Works Now

    With a fresh install, everything seems to be working now.

    I guess the best course to keep the metadata clean will be keep very good backups any time I have any major changes.

    Lesson learned.

    When you are creating a new db repository-
    Do not change anything! Otherwise you will likely have to migrate the data from HSQL
    After your new Quartz and Hibernate DB's are working, then make changes.

  4. #4
    wgorman Guest

    Default

    The error is most likely due to the transition from HSQLDB to Oracle. The null pointer exception is related to loading an image icon that is related to a solution folder or xaction, I haven't seen that before. I recommend refreshing the solution repository in the User Console. If you are still experiencing the null pointer, let me know.

    Will

  5. #5
    wgorman Guest

    Default

    Glad to hear you got around the issue!

  6. #6

    Default Its Back...

    I ran the metadata editor, and it corrupted my metadata and again.... I just started it and noticed a few wierd things. The XMI file dates appear to be unchanged.

    Yet I get the same error about loading the xmi files.

    I loaded the metadata editor
    - I have the java window open so I could see some of the details.
    - It said it was unable load PriceList_View Model which is the old model I created.
    - The domain PriceList_View still existed.
    -I created a new one and imported an old xmi, it said "already exists in repository, do you want to overwrite?"
    - I said yes, I assumed that it was talking about the meta-data repository not hibernate or anything on my server. I thought you had to publish or copy the files over to the bi-server-ce\ folder to make any changes.

    I did not publish it. I then wanted to make sure my server was working correctly before i published anything. When I went to refresh metadata I got the same error.

    I do not think the XMI files are the issue. Any idea what to do? I refreshed everything else from the user console.

  7. #7

    Default Looks better now

    Ok,

    Here is what I did:

    1) Delete all folders from the user console (including sample data) used admin console to delete sample data hsql db
    2) From user console hit refresh metadata (it says 0 xmi files updated becuase now there are zero)
    3) I ran metadata editor and published to a new folder successfully.
    4) Adhoc Report Designer now successfully runs.

    I am still not sure exactly how I messed it up but it now looks like I am on the right track. I was able to reset the metadata without a fresh install.

    I am going to try to revive the sample data and see if I get any errors.

    Update-
    SampleData restored-
    Tasks
    1)Using user console created a new folder called "steel-wheels"
    2) Copy the folder steel-wheels from zip file to my bi-server, I did not overwrite the xml file there.
    3) Refresh repository. Metadata from sample data was automatically picked up.
    4) Just to beat the dead horse, I ran refresh metadata and it successfully loaded the xmi files.

    Everything works now. I also feel more confident is being able restore my metadata if I manage to mess it up again.
    Last edited by Sreh; 10-21-2009 at 12:55 PM. Reason: update info for this post.

  8. #8

    Default Upgrading to 3.5 Stable

    I am sure there is a better way to do it but I ran into the exact same error when I tried to install the stable release for 3.5

    I have fixed it by the method in the previous post.

    I delete all the folders from user console.
    Refresh repository
    refresh metadata
    create new folder in user console
    publish metadata
    copy folder in windows explorer (I did not overwrite the index.xml file, I wonder if the security is somehow fixed when I recreate the folder and this xml file)
    Refresh Repository and MetaData

    The it seems to work well.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.