Uploaded image for project: 'iotdm'
  1. iotdm
  2. IOTDM-77

Wrong format of SP-related URI cause unexpected exception

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • unspecified
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 7989
    • High

    Description

      I see this exception when I incorrectly use wrong format of SP-related structured resource URI. E.g. instead of //InCSE2/InCSE2/Postman I use //InCSE2/Postman in GET request.

      2017-03-14 07:53:35,516 | ERROR | tp1658975461-336 | Onem2m | 231 - org.opendaylight.iotdm.onem2m-core - 0.3.0.SNAPSHOT | processOnem2mRequestInput: RPC exception: msg: java.lang.NumberFormatException: For input string: "Postman", cause: java.lang.NumberFormatException: For input string: "Postman", trace: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NumberFormatException: For input string: "Postman"
      at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)
      at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
      at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
      at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
      at org.opendaylight.iotdm.onem2m.core.database.transactionCore.Cache.retrieveResourceById(Cache.java:133)
      at org.opendaylight.iotdm.onem2m.core.database.transactionCore.ResourceTreeReader.retrieveResourceById(ResourceTreeReader.java:130)
      at org.opendaylight.iotdm.onem2m.core.database.Onem2mDb$CseBaseResourceLocator.getResource(Onem2mDb.java:729)
      at org.opendaylight.iotdm.onem2m.core.database.Onem2mDb.findResourceUsingURI(Onem2mDb.java:886)
      at org.opendaylight.iotdm.onem2m.core.rest.RequestPrimitiveProcessor.handleOperationRetrieve(RequestPrimitiveProcessor.java:718)
      at org.opendaylight.iotdm.onem2m.core.rest.RequestPrimitiveProcessor.handleOperation(RequestPrimitiveProcessor.java:522)
      at org.opendaylight.iotdm.onem2m.core.Onem2mCoreProvider.onem2mRequestPrimitive(Onem2mCoreProvider.java:335)
      at org.opendaylight.yangtools.yang.binding.util.RpcMethodInvokerWithInput.invokeOn(RpcMethodInvokerWithInput.java:31)
      at org.opendaylight.yangtools.yang.binding.util.AbstractMappedRpcInvoker.invokeRpc(AbstractMappedRpcInvoker.java:52)
      at org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invoke(BindingDOMRpcImplementationAdapter.java:85)
      at org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invokeRpc(BindingDOMRpcImplementationAdapter.java:72)
      at org.opendaylight.controller.md.sal.dom.broker.impl.GlobalDOMRpcRoutingTableEntry.invokeRpc(GlobalDOMRpcRoutingTableEntry.java:39)
      at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRoutingTable.invokeRpc(DOMRpcRoutingTable.java:177)
      at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter.invokeRpc(DOMRpcRouter.java:102)
      at Proxyf175da3c_0de5_4008_853a_53c75d31ee00.invokeRpc(Unknown Source)
      at Proxycab61693_4c51_4b1f_ac86_27f7a3ce16aa.invokeRpc(Unknown Source)
      at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.invoke0(RpcServiceAdapter.java:65)
      at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.access$000(RpcServiceAdapter.java:43)
      at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter$RpcInvocationStrategy.invoke(RpcServiceAdapter.java:159)
      at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.invoke(RpcServiceAdapter.java:96)
      at com.sun.proxy.$Proxy93.onem2mRequestPrimitive(Unknown Source)
      at org.opendaylight.iotdm.onem2m.core.Onem2m.processOnem2mRequestInput(Onem2m.java:471)
      at org.opendaylight.iotdm.onem2m.core.Onem2m.serviceOnem2mRequest(Onem2m.java:439)
      at org.opendaylight.iotdm.onem2m.protocols.http.rx.Onem2mHttpRxRequest.processRequest(Onem2mHttpRxRequest.java:198)
      at org.opendaylight.iotdm.onem2m.protocols.common.Onem2mProtocolRxHandler.handleRequest(Onem2mProtocolRxHandler.java:42)
      at org.opendaylight.iotdm.onem2m.protocols.http.rx.Onem2mHttpBaseIotdmPlugin.handle(Onem2mHttpBaseIotdmPlugin.java:141)
      at org.opendaylight.iotdm.onem2m.protocols.http.rx.Onem2mHttpBaseIotdmPlugin.handle(Onem2mHttpBaseIotdmPlugin.java:28)
      at org.opendaylight.iotdm.onem2m.plugins.channels.http.Onem2mHttpBaseChannel$Onem2mHttpBaseHandler.service(Onem2mHttpPluginServer.java:138)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1507)
      at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)
      at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1478)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:427)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
      at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:973)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1035)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:641)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:231)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NumberFormatException: For input string: "Postman"
      at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
      at java.lang.Integer.parseInt(Integer.java:583)
      at java.lang.Integer.valueOf(Integer.java:740)
      at org.opendaylight.iotdm.onem2m.persistence.mdsal.MDSALDaoResourceTreeFactory.getShardFromResourceId(MDSALDaoResourceTreeFactory.java:111)
      at org.opendaylight.iotdm.onem2m.persistence.mdsal.read.MDSALResourceTreeReader.retrieveFullResourceById(MDSALResourceTreeReader.java:64)
      at org.opendaylight.iotdm.onem2m.persistence.mdsal.read.MDSALResourceTreeReader.retrieveResourceById(MDSALResourceTreeReader.java:73)
      at org.opendaylight.iotdm.onem2m.core.database.transactionCore.Cache$1.load(Cache.java:51)
      at org.opendaylight.iotdm.onem2m.core.database.transactionCore.Cache$1.load(Cache.java:48)
      at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
      at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
      at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
      at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
      ... 55 more

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            tjanciga Tomas Janciga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: