Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-43645

Turnitin API error when instructor info is missing

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: RESOLVED
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 19.4, 20.0
    • Fix Version/s: 21.0 [Tentative]
    • Component/s: content review
    • Labels:
      None
    • Test Plan:
      Hide

      Using an instructor account with no email address, or First Name or Last Name configured
      Setup an assignment using turnitin api
      Run the roster sync job
      Error appears in the log

      Show
      Using an instructor account with no email address, or First Name or Last Name configured Setup an assignment using turnitin api Run the roster sync job Error appears in the log

      Description

      Turnitin call fails if null instructor account info:

       

      08-May-2020 22:48:00.012 INFO [QuartzScheduler_Worker-4] org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue Running Turnitin Roster Sync
      08-May-2020 22:48:00.163 ERROR [QuartzScheduler_Worker-4] org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue Unable to complete Turnitin Roster Sync for site
      java.lang.NullPointerException
      at org.sakaiproject.contentreview.turnitin.util.TurnitinAPIUtil.callTurnitinReturnInputStream(TurnitinAPIUtil.java:404)
      at org.sakaiproject.contentreview.turnitin.util.TurnitinAPIUtil.callTurnitinReturnDocument(TurnitinAPIUtil.java:262)
      at org.sakaiproject.contentreview.turnitin.TurnitinAccountConnection.callTurnitinWDefaultsReturnDocument(TurnitinAccountConnection.java:210)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.getEnrollmentDocument(TurnitinReviewServiceImpl.java:2583)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.getInstructorsStudentsForSite(TurnitinReviewServiceImpl.java:2607)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.syncSiteWithTurnitin(TurnitinReviewServiceImpl.java:2828)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue(TurnitinReviewServiceImpl.java:2890)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.syncRosters(TurnitinReviewServiceImpl.java:1656)
      at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
      at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
      at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
      at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
      at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
      at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
      at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
      at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
      at org.sakaiproject.contentreview.service.ContentReviewFederatedServiceImpl.syncRosters(ContentReviewFederatedServiceImpl.java:157)
      at org.sakaiproject.contentreview.service.jobs.ContentReviewRosterSync.execute(ContentReviewRosterSync.java:33)
      at org.sakaiproject.component.app.scheduler.jobs.SpringStatefulJobBeanWrapper.execute(SpringStatefulJobBeanWrapper.java:36)
      at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
      08-May-2020 22:48:00.164 INFO [QuartzScheduler_Worker-4] org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue Completed Turnitin Roster Sync
      08-May-2020 22:49:00.015 INFO [QuartzScheduler_Worker-5] org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue Running Turnitin Roster Sync
      08-May-2020 22:49:00.126 ERROR [QuartzScheduler_Worker-5] org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue Unable to complete Turnitin Roster Sync for site
      java.lang.NullPointerException
      at org.sakaiproject.contentreview.turnitin.util.TurnitinAPIUtil.callTurnitinReturnInputStream(TurnitinAPIUtil.java:404)
      at org.sakaiproject.contentreview.turnitin.util.TurnitinAPIUtil.callTurnitinReturnDocument(TurnitinAPIUtil.java:262)
      at org.sakaiproject.contentreview.turnitin.TurnitinAccountConnection.callTurnitinWDefaultsReturnDocument(TurnitinAccountConnection.java:210)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.getEnrollmentDocument(TurnitinReviewServiceImpl.java:2583)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.getInstructorsStudentsForSite(TurnitinReviewServiceImpl.java:2607)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.syncSiteWithTurnitin(TurnitinReviewServiceImpl.java:2828)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue(TurnitinReviewServiceImpl.java:2890)
      at org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.syncRosters(TurnitinReviewServiceImpl.java:1656)
      at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
      at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
      at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
      at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
      at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
      at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
      at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
      at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
      at org.sakaiproject.contentreview.service.ContentReviewFederatedServiceImpl.syncRosters(ContentReviewFederatedServiceImpl.java:157)
      at org.sakaiproject.contentreview.service.jobs.ContentReviewRosterSync.execute(ContentReviewRosterSync.java:33)
      at org.sakaiproject.component.app.scheduler.jobs.SpringStatefulJobBeanWrapper.execute(SpringStatefulJobBeanWrapper.java:36)
      at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
      08-May-2020 22:49:00.126 INFO [QuartzScheduler_Worker-5] org.sakaiproject.contentreview.turnitin.TurnitinReviewServiceImpl.processSyncQueue Completed Turnitin Roster Sync
      08-May-2020 22:49:02.773 INFO [pool-2-thread-1] org.sakaiproject.authz.impl.DbAuthzGroupService.run RefreshAuthzGroupTask.run() refreshed 1 realms in 0.003 seconds, longest realm was /site/279f7695-4869-408e-9a89-9ed2aaf845c1 at 0.003 seconds
      

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                • Assignee:
                  baholladay Bryan Holladay
                  Reporter:
                  agokhanu Gokhan
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Integration