Thanks for providing your solution, Gabe! Rishi
On Apr 30, 2013, at 4:11 PM, Resneck, Gabriel M (398J) wrote: > I ultimately did manage to fix the problem with assistance from a few of > members of our community. > First, the error was occurring due to the fact that the SMAP team is using > an implementation of the File Manager catalog that is not yet available at > Apache (to the best of my knowledge). Therefore, the details of this > solution will only pertain either to those here at JPL who work for the > missions who utilize this implementation or when this implementation makes > its way to Apache. > This implementation utilizes Oracle database tables to speed up the query > process for projects with very, very large catalogs. Each product type is > given its own table, with a column for each metadata element associated > with that product type. Unfortunately, some product types have very long > names and Oracle has a limit on the number of characters in the table > identifier. This means that product type names like > "AntennaPatternCorrection" will result in this error in File Manager > output: > > > Apr 29, 2013 3:07:28 PM > gov.nasa.smap.spdm.filemgr.catalog.sql.ColumnBasedSQLLayer executeQuery > > SEVERE: SQLException while getting executing query: ORA-00972: identifier > is too long > > > > java.sql.SQLException: ORA-00972: identifier is too long > > > > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) > > at > oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) > > at > oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) > > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745) > > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:2 > 19) > > at > oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedState > ment.java:813) > > at > oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.jav > a:1049) > > at > oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedSta > tement.java:854) > > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.jav > a:1154) > > at > oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedSt > atement.java:3370) > > at > oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedState > ment.java:3415) > > at > org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(Delegating > PreparedStatement.java:92) > > at > gov.nasa.smap.spdm.filemgr.catalog.sql.ColumnBasedSQLLayer.executeQuery(Col > umnBasedSQLLayer.java:222) > > at > gov.nasa.smap.spdm.filemgr.catalog.sql.ColumnBasedSQLLayer.executeQuery(Col > umnBasedSQLLayer.java:142) > > at > gov.nasa.smap.spdm.filemgr.catalog.sql.OracleColumnBasedQueries.selectCount > Type(OracleColumnBasedQueries.java:237) > > at > gov.nasa.smap.spdm.filemgr.catalog.ColumnBasedDataSourceCatalog.getNumProdu > cts(ColumnBasedDataSourceCatalog.java:842) > > at > org.apache.oodt.cas.filemgr.system.XmlRpcFileManager.getNumProducts(XmlRpcF > ileManager.java:348) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 > 9) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > l.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at org.apache.xmlrpc.Invoker.execute(Invoker.java:130) > > at > org.apache.xmlrpc.XmlRpcWorker.invokeHandler(XmlRpcWorker.java:84) > > at > org.apache.xmlrpc.XmlRpcWorker.execute(XmlRpcWorker.java:146) > > at > org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:139) > > at > org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:125) > > at > org.apache.xmlrpc.WebServer$Connection.run(WebServer.java:761) > > at > org.apache.xmlrpc.WebServer$Runner.run(WebServer.java:642) > > at java.lang.Thread.run(Thread.java:619) > > Apr 29, 2013 3:07:28 PM > gov.nasa.smap.spdm.filemgr.catalog.ColumnBasedDataSourceCatalog > getNumProducts > > SEVERE: Exception getting num of products by type > 'AntennaPatternCorrection' Message: ORA-00972: identifier is too long > > > > It wasn't until I finally looked at the FM server output that I realized > what was really going on. As it turns out, I was not using a version of > the catalog that maps the full product type name to a short name that > Oracle can handle. Once that was pointed out to me, a quick check of my > configuration fixed the issue. > > Gabe =) > > > On 4/29/13 10:41 PM, "Cheng, Cecilia S (398K)" > <[email protected]> wrote: > >> Hi Gabe, >> >> Thanks for the clarification!! >> >> -- cecilia >> >> On 4/29/13 12:14 PM, "Resneck, Gabriel M (398J)" >> <[email protected]> wrote: >> >>> I think there's some confusion here, Cecilia. OpsUI is a term used for a >>> number of different pieces of software. I believe that you are referring >>> to the File Manager Catalog Browser that Andrew built on top of his >>> Balance package using PHP. The tool I am fussing with was built by Chris >>> using Wicket/Java. This wiki page shows a little bit of it: >>> >>> https://cwiki.apache.org/confluence/display/OODT/Quick+Start+for+PCS+OPSU >>> I >>> >>> >>> Gabe =) >>> >>> >>> On 4/26/13 2:33 PM, "Cheng, Cecilia S (398K)" >>> <[email protected]> wrote: >>> >>>> Hi Gabe, >>>> >>>> OCO2 and PEATE's FM Browser Pages with w/ the Column Based Catalog. Here >>>> are our dependencies: >>>> >>>> https://svn.apache.org/repos/asf/oodt/trunk/balance/modules/cas-browser, >>>> rvn 1339293 >>>> Org_Apache_Oodt_Balance-0.3.0.tgz >>>> CAS_Filemgr-1.0.0.tgz >>>> Org_Apache_Oodt_Security-0.3.0.tgz >>>> >>>> -- cecilia >>>> >>>> >>>> On 4/26/13 11:17 AM, "Verma, Rishi (398J)" >>>> <[email protected]<mailto:[email protected]>> wrote: >>>> >>>> Hey Gabe, >>>> >>>> The FM browser view should work with any extended FM catalog class. >>>> >>>> You can try a couple things: >>>> 1. Deploy the fmbrowser webapp and see if that works with your FM >>>> 2. Ensure your OPSUI context.xml (within >>>> tomcat/webapps/pcs-opsui/META-INF) has all OODT properties correctly >>>> set. >>>> Example, is FILEMGR_URL set properly? >>>> 3. Like Chris mentioned, try out a couple command-line queries with >>>> filemgr_client to make sure things are working >>>> >>>> Rishi >>>> >>>> On Apr 26, 2013, at 11:08 AM, Resneck, Gabriel M (398J) wrote: >>>> >>>> Yeah, our FM is running. However, we are using the column-based Oracle >>>> catalog implementation. Is that implementation compatible with the FM >>>> Catalog browser? >>>> Thanks again! >>>> Gabe =) >>>> On 4/26/13 10:42 AM, "Mattmann, Chris A (398J)" >>>> <[email protected]<mailto:[email protected]>> >>>> wrote: >>>> Hi Gabe, >>>> Is your FM up and running? >>>> Besides that, check if your FM catalog (lucene?) >>>> has a segments file in it, or if it was manually created. >>>> It should not exist before you start FM. >>>> Also does the command line API for FM work? >>>> CC'ing [email protected]<mailto:[email protected]>. >>>> Cheers, >>>> Chris >>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>> Chris Mattmann, Ph.D. >>>> Senior Computer Scientist >>>> NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA >>>> Office: 171-266B, Mailstop: 171-246 >>>> Email: [email protected]<mailto:[email protected]> >>>> WWW: http://sunset.usc.edu/~mattmann/ >>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>> Adjunct Assistant Professor, Computer Science Department >>>> University of Southern California, Los Angeles, CA 90089 USA >>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>> -----Original Message----- >>>> From: <Resneck>, "Gabriel M (398J)" >>>> <[email protected]<mailto:[email protected]>> >>>> Date: Friday, April 26, 2013 10:39 AM >>>> To: jpluser >>>> <[email protected]<mailto:[email protected]>>, >>>> "Verma, Rishi (398J)" >>>> <[email protected]<mailto:[email protected]>> >>>> Subject: Problem using OpsUI FM Browser >>>> Hi, guys. >>>> I recently deployed a new version of our SMAP PCS and now our File >>>> Catalog Browse function doesn't work. You can see the error for >>>> yourself >>>> at: http://smap-dev:9080/pcs-opsui/types/ >>>> Have you guys seen this before? >>>> Thanks! >>>> WicketMessage: Error attaching this container for rendering: >>>> [MarkupContainer [Component id = types_component]] >>>> Root cause: >>>> java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1 >>>> at java.util.Vector.get(Vector.java:694) >>>> at >>>> org.apache.oodt.cas.webcomponents.filemgr.browser.types.Types$2.populate >>>> I >>>> t >>>> em(Types.java:171) >>>> at >>>> org.apache.wicket.markup.html.list.ListView.onPopulate(ListView.java:562 >>>> ) >>>> at >>>> org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(Abstra >>>> c >>>> t >>>> Repeater.java:131) >>>> at >>>> org.apache.wicket.Component.internalBeforeRender(Component.java:1066) >>>> at org.apache.wicket.Component.beforeRender(Component.java:1100) >>>> at >>>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer >>>> . >>>> j >>>> ava:1757) >>>> at org.apache.wicket.Component.onBeforeRender(Component.java:3966) >>>> at >>>> org.apache.wicket.Component.internalBeforeRender(Component.java:1066) >>>> at org.apache.wicket.Component.beforeRender(Component.java:1100) >>>> at >>>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer >>>> . >>>> j >>>> ava:1757) >>>> at org.apache.wicket.Component.onBeforeRender(Component.java:3966) >>>> at org.apache.wicket.Page.onBeforeRender(Page.java:1550) >>>> at >>>> org.apache.wicket.Component.internalBeforeRender(Component.java:1066) >>>> at org.apache.wicket.Component.beforeRender(Component.java:1100) >>>> at org.apache.wicket.Component.prepareForRender(Component.java:2292) >>>> at org.apache.wicket.Page.prepareForRender(Page.java:1540) >>>> at org.apache.wicket.Component.prepareForRender(Component.java:2329) >>>> at org.apache.wicket.Page.renderPage(Page.java:911) >>>> at >>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget >>>> . >>>> r >>>> espond(BookmarkablePageRequestTarget.java:261) >>>> at >>>> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(Abstract >>>> R >>>> e >>>> questCycleProcessor.java:105) >>>> at >>>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java >>>> : >>>> 1 >>>> 258) >>>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329) >>>> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) >>>> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) >>>> at >>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486 >>>> ) >>>> at >>>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java: >>>> 3 >>>> 1 >>>> 9) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica >>>> t >>>> i >>>> onFilterChain.java:243) >>>> at >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt >>>> e >>>> r >>>> Chain.java:210) >>>> at >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv >>>> e >>>> . >>>> java:222) >>>> at >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv >>>> e >>>> . >>>> java:123) >>>> at >>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator >>>> B >>>> a >>>> se.java:472) >>>> at >>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java >>>> : >>>> 1 >>>> 71) >>>> at >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java >>>> : >>>> 9 >>>> 9) >>>> at >>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947 >>>> ) >>>> at >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. >>>> j >>>> a >>>> va:118) >>>> at >>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:4 >>>> 0 >>>> 8 >>>> ) >>>> at >>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11P >>>> r >>>> o >>>> cessor.java:1009) >>>> at >>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abs >>>> t >>>> r >>>> actProtocol.java:589) >>>> at >>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.j >>>> a >>>> v >>>> a:312) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto >>>> r >>>> . >>>> java:886) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja >>>> v >>>> a >>>> :908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> Complete stack: >>>> org.apache.wicket.WicketRuntimeException: Error attaching this container >>>> for rendering: [MarkupContainer [Component id = types_component]] >>>> at >>>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer >>>> . >>>> j >>>> ava:1769) >>>> at org.apache.wicket.Component.onBeforeRender(Component.java:3966) >>>> at >>>> org.apache.wicket.Component.internalBeforeRender(Component.java:1066) >>>> at org.apache.wicket.Component.beforeRender(Component.java:1100) >>>> at >>>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer >>>> . >>>> j >>>> ava:1757) >>>> at org.apache.wicket.Component.onBeforeRender(Component.java:3966) >>>> at org.apache.wicket.Page.onBeforeRender(Page.java:1550) >>>> at >>>> org.apache.wicket.Component.internalBeforeRender(Component.java:1066) >>>> at org.apache.wicket.Component.beforeRender(Component.java:1100) >>>> at org.apache.wicket.Component.prepareForRender(Component.java:2292) >>>> at org.apache.wicket.Page.prepareForRender(Page.java:1540) >>>> at org.apache.wicket.Component.prepareForRender(Component.java:2329) >>>> at org.apache.wicket.Page.renderPage(Page.java:911) >>>> at >>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget >>>> . >>>> r >>>> espond(BookmarkablePageRequestTarget.java:261) >>>> at >>>> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(Abstract >>>> R >>>> e >>>> questCycleProcessor.java:105) >>>> at >>>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java >>>> : >>>> 1 >>>> 258) >>>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329) >>>> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) >>>> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) >>>> at >>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486 >>>> ) >>>> >>>> >>> >> >
