Opened 11 years ago
Last modified 10 years ago
#730 closed defect
GetCapabilities fails if a coverage is registered in petascope but not in rasdaman — at Version 2
Reported by: | Dimitar Misev | Owned by: | Piero Campalani |
---|---|---|---|
Priority: | major | Milestone: | 9.0.x |
Component: | petascope | Version: | development |
Keywords: | Cc: | Jelmer Oosthoek | |
Complexity: | Easy |
Description (last modified by )
E.g.
Caused by: RasdamanRequestFailed: Error evaluating rasdaman query: 'select sdom(c)[0]from ba378x AS c where oid(c) = 2574337 at petascope.util.ras.RasUtil.executeRasqlQuery(RasUtil.java:143) at petascope.util.ras.RasUtil.executeRasqlQuery(RasUtil.java:78) at petascope.core.DbMetadataSource.getIndexDomain(DbMetadataSource.java:1860) ... 24 more Caused by: org.odmg.QueryException: Execution error 355 in line 1, column 23, near token ba378x: Collection name is unknown. at rasj.odmg.RasOQLQuery.execute(RasOQLQuery.java:249) at petascope.util.ras.RasUtil.executeRasqlQuery(RasUtil.java:136) ... 26 more ERROR [02:37:16] GetCapabilitiesHandler@342: Petascope error InternalComponentError: Error while executing RasQL query at petascope.util.WcsUtil.getMetadata(WcsUtil.java:109) at petascope.wcs2.parsers.GetCoverageMetadata.<init>(GetCoverageMetadata.java:92) at petascope.wcs2.handlers.GetCapabilitiesHandler.handle(GetCapabilitiesHandler.java:294) at petascope.wcs2.handlers.GetCapabilitiesHandler.handle(GetCapabilitiesHandler.java:64) at petascope.wcs2.extensions.AbstractProtocolExtension.handle(AbstractProtocolExtension.java:70) at petascope.PetascopeInterface.handleWcs2Request(PetascopeInterface.java:614) at petascope.PetascopeInterface.handleWcsRequest(PetascopeInterface.java:544) at petascope.PetascopeInterface.doGet(PetascopeInterface.java:322) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
The error returned to the user is
<ows:ExceptionReport version="2.0.0" xsd:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"> <ows:Exception exceptionCode="InternalComponentError"> <ows:ExceptionText>Error while executing RasQL query</ows:ExceptionText> </ows:Exception> </ows:ExceptionReport>
It would be good for the errors to be combined in the ExceptionReport
by including the messages of the parent exceptions, e.g.
<ows:ExceptionReport version="2.0.0" xsd:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"> <ows:Exception exceptionCode="InternalComponentError"> <ows:ExceptionText>Error while executing RasQL query</ows:ExceptionText> </ows:Exception> <ows:Exception exceptionCode="InternalComponentError"> <ows:ExceptionText>Error evaluating rasdaman query: 'select sdom(c)[0]from ba378x AS c where oid(c) = 2574337</ows:ExceptionText> </ows:Exception> <ows:Exception exceptionCode="InternalComponentError"> <ows:ExceptionText>org.odmg.QueryException: Execution error 355 in line 1, column 23, near token ba378x: Collection name is unknown.</ows:ExceptionText> </ows:Exception> </ows:ExceptionReport>
Should be checked if that's the right way to list several exceptions though.
Change History (2)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Description: | modified (diff) |
---|
Yeah the warning vs. error is not so critical here, I think returning a clearer error by merging the chain of exception is more important. I think there may have been some ticket about this, but I can't find it.
Note:
See TracTickets
for help on using tickets.
It would be great. I remember of a ticket talking about embedding the message carried by parent exceptions, but my internet connection now is simply making me feel depressed so I'll look for it at a second time.
Regarding whether to file a warning or return an exception when a coverage blocks the service, we might add a parameter in
petascope.properties
?I believe every service provider can choose differently on this.