Uploaded image for project: 'mod-circulation'
  1. mod-circulation
  2. CIRC-1286

Regression - Missing item reference causing patron action session to not expire

    XMLWordPrintable

Details

    • EPAM-Veg Sprint 130
    • 3
    • Vega
    • Lotus R1 2022
    • Caltech, Chalmers, Cornell
    • Legitimate regression

    Description

      This is a cloned description from an earlier bug that has reappeared. 

       

      Overview:
      Observed Chalmers Patron Action Session timer task cannot expire a Session due to Session's associated loan referencing a non-existing item

      Steps to Reproduce:

      1. Log into FOLIO environment
      2. Check in an item but do not click End Session
      3. Observed item was damaged, go to Inventory and delete the item

      Expected Results:
      Patron Action Session Can be expired by timer task

      Actual Results:
      Patron Action Session cannot be expired and NPE is observed in mod-circulation logs

      Additional Information:

      1600401473299,03:57:53 WARN  ProxyService         POST request for mod-circulation-18.0.9 /circulation/notice-session-expiration-by-timeout failed with 500: java.lang.NullPointerException
      1600401473299,java.lang.NullPointerException
      1600401473299,	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      1600401473299,	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1380)
      1600401473299,	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      1600401473299,	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      1600401473299,	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
      1600401473299,	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      1600401473299,	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
      1600401473299,	at org.folio.circulation.domain.LocationRepository.getCampuses(LocationRepository.java:151)
      1600401473299,	at org.folio.circulation.domain.notice.session.PatronActionSessionRepository.fetchCampusesForLoanItems(PatronActionSessionRepository.java:175)
      1600401473299,	at org.folio.circulation.support.Result.after(Result.java:313)
      1600401473299,	at org.folio.circulation.domain.notice.session.PatronActionSessionRepository.lambda$fetchLoans$11(PatronActionSessionRepository.java:163)
      1600401473299,	at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
      1600401473299,	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)
      1600401473299,	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
      1600401473299,	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
      1600401473299,	at io.vertx.ext.web.client.impl.HttpContext.handleDispatchResponse(HttpContext.java:308)
      1600401473299,	at io.vertx.ext.web.client.impl.HttpContext.execute(HttpContext.java:295)
      1600401473299,	at io.vertx.ext.web.client.impl.HttpContext.next(HttpContext.java:270)
      1600401473299,	at io.vertx.ext.web.client.impl.predicate.PredicateInterceptor.handle(PredicateInterceptor.java:69)
      1600401473299,	at io.vertx.ext.web.client.impl.predicate.PredicateInterceptor.handle(PredicateInterceptor.java:32)
      1600401473299,	at io.vertx.ext.web.client.impl.HttpContext.next(HttpContext.java:267)
      1600401473299,	at io.vertx.ext.web.client.impl.HttpContext.fire(HttpContext.java:277)
      1600401473299,	at io.vertx.ext.web.client.impl.HttpContext.dispatchResponse(HttpContext.java:238)
      1600401473299,	at io.vertx.ext.web.client.impl.HttpContext.lambda$null$2(HttpContext.java:367)
      1600401473299,	at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:369)
      1600401473299,	at io.vertx.core.impl.WorkerContext.lambda$wrapTask$0(WorkerContext.java:35)
      1600401473299,	at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76)
      1600401473299,	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      1600401473299,	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      1600401473299,	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      1600401473299,	at java.lang.Thread.run(Thread.java:748)
      

      URL:
      Interested parties:
      lisams

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                sherzod_nurjonov Sherzod Nurjonov
                stephaniesbuck Stephanie Buck
                Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases