Uploaded image for project: 'Portal'
  1. Portal
  2. PORTAL-475

NPE in MUSIC MusicSessionRepository.findById MusicSession.isExpired()

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Dublin Release
    • Casablanca Release
    • Portal/SDK
    • None

      Sangeeth,

          Thanks for the triage – and the scenario – usually we just raise a bug for NPE’s even if a parameter change/addition would bypass this code path.  Checked the history in IntelliJ

           Looks like the NPE may be caused by the previous call to getLastAccessTime() – check the error log – did you get a previous exception in getLastAccessedTime() the exception there is just logged and ignored – so isExpired() would continue in the error case

       

      https://jira.onap.org/browse/PORTAL-210

       

       

      Check for the ignored exception in 

       

      @Override
      public Instant getLastAccessedTime() {
         Instant lastAccessedTime = null;
         logger.debug(EELFLoggerDelegate.debugLogger, "getLastAccessedTime: start");
         if(musicCache)
            lastAccessedTime = this.lastAccessedTime;
         else{
            try {
               String lastAccessedTimeStr = MusicService.getAttribute( MusicProperties.LAST_ACCESS_TIME, this.id);
               if(lastAccessedTimeStr!=null)
                  lastAccessedTime = Instant.parse(lastAccessedTimeStr);
               else
                  lastAccessedTime = this.creationTime;
            } catch (Exception e) {
               logger.error(EELFLoggerDelegate.errorLogger, "getLastAccessedTime failed with id "+this.id, e);
            }
         }
         return lastAccessedTime;
       
      
      
      

       

       

      raised

       

       

      From: onap-discuss@lists.onap.org <onap-discuss@lists.onap.org> On Behalf Of Sangeeth G
      Sent: Thursday, November 22, 2018 3:02 AM
      To: onap-discuss@lists.onap.org
      Subject: [onap-discuss] ONAP Portal issue <possible bug>

       

      Hi Team,

       

      I was working on the vDNS usecase and I was creating Service in SDC via ONAP Portal. When I logged out from portal, I receive the below exception. Now, Whenever I try to access the portal I get the below exception. Please suggest.

       

       __ 

       

      HTTP Status 500 -
       
      type Exception report
       
      message
       
      description The server encountered an internal error that prevented it from fulfilling this request.
       
      exception
       
      java.lang.NullPointerException
              java.time.Instant.compareTo(Instant.java:1255)
              org.onap.portalapp.music.conf.MusicSession.isExpired(MusicSession.java:280)
              org.onap.portalapp.music.conf.MusicSession.isExpired(MusicSession.java:261)
              org.onap.portalapp.music.conf.MusicSessionRepository.findById(MusicSessionRepository.java:113)
              org.onap.portalapp.music.conf.MusicSessionRepository.findById(MusicSessionRepository.java:63)
              org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.lambda$getRequestedSessionId$0(SessionRepositoryFilter.java:359)
              java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
              java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359)
              java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
              java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
              java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
              java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
              java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
              java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
              java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
              org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getRequestedSessionId(SessionRepositoryFilter.java:360)
              org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:303)
              org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.getSession(SessionRepositoryFilter.java:196)
              org.springframework.web.context.request.ServletRequestAttributes.updateAccessedSessionAttributes(ServletRequestAttributes.java:255)
              org.springframework.web.context.request.AbstractRequestAttributes.requestCompleted(AbstractRequestAttributes.java:48)
              org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:988)
              org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
              org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
              javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
              org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
              org.onap.portalapp.filter.SecurityXssFilter.doFilterInternal(SecurityXssFilter.java:149)
              org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
              org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:436)
              org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:177)
              org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:146)
              org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
       
      
      
      

       

       

      Best Regards,

            tattasunder tattasunder
            michaelobrien michaelobrien
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: