Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

NcML aggregation works in ToolsUI, fails in THREDDS #245

Open
dopplershift opened this issue Oct 20, 2015 · 1 comment
Open

NcML aggregation works in ToolsUI, fails in THREDDS #245

dopplershift opened this issue Oct 20, 2015 · 1 comment

Comments

@dopplershift
Copy link
Member

dopplershift commented Oct 20, 2015

From e-support BZZ-321180:

"
Package Version: 4.6.2
Operating System: Windows Server 2012 R2
Hardware:
Description of problem: Hi,
I've created a catalog with an aggregation using NcML, this is the catalog definition I've used:
"

<catalog xmlns="https://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0" xmlns:xlink="https://www.w3.org/1999/xlink" name="Unidata THREDDS Data Server" version="1.0.3">
        <service name="all" base="" serviceType="compound">
                <service name="odap" serviceType="OpenDAP" base="/thredds/dodsC/" />
        </service>
        <dataset name="11903" ID="11903" urlPath="11903/11903.nc">
                <serviceName>all</serviceName>
                <netcdf xmlns="https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
                        <aggregation dimName="TIME" type="joinExisting">
                                <scan location="E:/Thredds/ROOS/11903/" suffix= ".nc" subdirs="false"/>
                        </aggregation>
                </netcdf>
        </dataset>
</catalog>

"
when I try to read data (ASCII or BINARY) via "OPeNDAP Dataset Access Form" the browser return
an HTTP 500 error and the error; in the threddsServlet.log is:
"

*************************************************************
2015-10-16T15:46:14.715 +0200 [ 281328308][ 12] INFO - threddsServlet - Remote host: 0:0:0:0:0:0:0:1 - Request: "GET /thredds/dodsC/11903/11903.nc.ascii?TEMP[0:1:1][0:1:0] HTTP/1.1"
2015-10-16T15:46:14.731 +0200 [ 281328324][ 12] ERROR - thredds.server.opendap.NcSDArray - NcSDArray read TEMP TIME(0,1,1) DEPTH(0,1,0)
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method) ~[?:1.8.0_51]
at ucar.ma2.Array.arraycopy(Array.java:300) ~[cdm-4.6.2.jar:4.6.2]
at ucar.nc2.ncml.AggregationOuterDimension.reallyRead(AggregationOuterDimension.java:382) ~[cdm-4.6.2.jar:4.6.2]
at ucar.nc2.dataset.VariableDS._read(VariableDS.java:507) ~[cdm-4.6.2.jar:?]
at ucar.nc2.dataset.VariableDS._read(VariableDS.java:531) ~[cdm-4.6.2.jar:?]
at ucar.nc2.Variable.read(Variable.java:703) ~[cdm-4.6.2.jar:?]
at ucar.nc2.Variable.read(Variable.java:677) ~[cdm-4.6.2.jar:?]
at thredds.server.opendap.NcSDArray.read(NcSDArray.java:115) [NcSDArray.class:?]
at opendap.servlet.AsciiWriter.writeAsc(AsciiWriter.java:107) [opendap-4.6.2.jar:?]
at opendap.servlet.AsciiWriter.toASCII(AsciiWriter.java:68) [opendap-4.6.2.jar:?]
at thredds.server.opendap.OpendapServlet.doGetASC(OpendapServlet.java:315) [OpendapServlet.class:?]
at thredds.server.opendap.OpendapServlet.doGet(OpendapServlet.java:220) [OpendapServlet.class:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [servlet-api.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.CookieFilter.doFilter(CookieFilter.java:55) [CookieFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:118) [RequestQueryFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.RequestCORSFilter.doFilterInternal(RequestCORSFilter.java:49) [RequestCORSFilter.class:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:94) [RequestPathFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.server.RequestBracketingLogMessageFilter.doFilter(RequestBracketingLogMessageFilter.java:81) [RequestBracketingLogMessageFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.2.jar:2.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.24]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [catalina.jar:8.0.24]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.24]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.24]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) [catalina.jar:8.0.24]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) [tomcat-coyote.jar:8.0.24]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) [tomcat-coyote.jar:8.0.24]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527) [tomcat-coyote.jar:8.0.24]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484) [tomcat-coyote.jar:8.0.24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_51]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.24]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
2015-10-16T15:46:14.731 +0200 [ 281328324][ 12] ERROR - thredds.server.opendap.OpendapServlet - path2= /11903/11903.nc.ascii
java.lang.RuntimeException: NcSDArray java.lang.ArrayIndexOutOfBoundsException=null for request= NcSDArray read TEMP TIME(0,1,1) DEPTH(0,1,0) dataset= 11903/11903.nc
at thredds.server.opendap.NcSDArray.read(NcSDArray.java:120) ~[NcSDArray.class:?]
at opendap.servlet.AsciiWriter.writeAsc(AsciiWriter.java:107) ~[opendap-4.6.2.jar:?]
at opendap.servlet.AsciiWriter.toASCII(AsciiWriter.java:68) ~[opendap-4.6.2.jar:?]
at thredds.server.opendap.OpendapServlet.doGetASC(OpendapServlet.java:315) ~[OpendapServlet.class:?]
at thredds.server.opendap.OpendapServlet.doGet(OpendapServlet.java:220) [OpendapServlet.class:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [servlet-api.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.CookieFilter.doFilter(CookieFilter.java:55) [CookieFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:118) [RequestQueryFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.RequestCORSFilter.doFilterInternal(RequestCORSFilter.java:49) [RequestCORSFilter.class:?]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:94) [RequestPathFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at thredds.server.RequestBracketingLogMessageFilter.doFilter(RequestBracketingLogMessageFilter.java:81) [RequestBracketingLogMessageFilter.class:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.2.jar:2.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.24]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.24]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [catalina.jar:8.0.24]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.24]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617) [catalina.jar:8.0.24]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.24]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) [catalina.jar:8.0.24]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) [tomcat-coyote.jar:8.0.24]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) [tomcat-coyote.jar:8.0.24]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527) [tomcat-coyote.jar:8.0.24]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484) [tomcat-coyote.jar:8.0.24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_51]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.24]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
2015-10-16T15:46:14.731 +0200 [ 281328324][ 12] INFO - threddsServlet - Request Completed - 500 - -1 - 16
*************************************************************

Using the same NcMLin toolsUI-4.6 I can read data without problem.

Attached the two file in the "E:/Thredds/ROOS/11903/" directory

I don't known if the problem are the file or the aggregation used.

Thanks

@dopplershift
Copy link
Member Author

@dopplershift dopplershift self-assigned this Oct 20, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant