Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-808

Greatly improve propagation of error handling of quickload meta data parsing issues.

    Details

      Description

      This affects IGB 8.5, possibly 8.4 as well.

      If I edit an annots.xml file, rename a data set by editing its "title" attribute, and then click the refresh icon in the Data Sources table under the "Data Sources" Preference tab, IGB removes the data set from the main view and replaces it with the new one, but then the message notifying me of the removal at the bottom left of the window never goes away. I noticed this when editing the title for the A lyrata reference genes.

      See attached.

      Problem:

      To repeat:

      1) Set

        Attachments

          Issue Links

            Activity

            Hide
            mason Mason Meyer (Inactive) added a comment -

            David has fixed the issue noted in the comment above. IGB is now handling the broken quickload sites as expected. This issue still needs to be tested on 8.5.0. before closing.

            Show
            mason Mason Meyer (Inactive) added a comment - David has fixed the issue noted in the comment above. IGB is now handling the broken quickload sites as expected. This issue still needs to be tested on 8.5.0. before closing.
            Hide
            mason Mason Meyer (Inactive) added a comment - - edited

            I have tested David's broken quickload sites and verify that IGB is handling these broken quickload sites as expected, except for when an annots.xml is missing. In this case I am seeing a null pointer exception:

            16:17:29.778 ERROR c.l.quickload.util.QuickloadUtils - Missing required annots.xml file for genome version A_thaliana_Jun_2009, skipping this genome version for quickload site http://igbquickload.org/brokenQuickloads/missingAnnotsXml/A_thaliana_Jun_2009/
            java.io.IOException: null
            at com.affymetrix.genometry.util.UriUtils.checkIsValidRequest(UriUtils.java:86) ~[genometry-8.4.2.jar:na]
            at com.affymetrix.genometry.util.UriUtils.getInputStream(UriUtils.java:58) ~[genometry-8.4.2.jar:na]
            at com.lorainelab.quickload.util.QuickloadUtils.getGenomeVersionData(QuickloadUtils.java:126) ~[quickload-8.4.2.jar:na]
            at com.lorainelab.quickload.QuickloadDataProvider.getAvailableDataSets(QuickloadDataProvider.java:154) [quickload-8.4.2.jar:na]
            at com.affymetrix.igb.view.load.GeneralLoadUtils.initializeDataContainer(GeneralLoadUtils.java:296) [igb-8.4.2.jar:na]
            at com.affymetrix.igb.view.load.GeneralLoadUtils.lambda$initVersionAndSeq$40(GeneralLoadUtils.java:318) [igb-8.4.2.jar:na]
            at com.affymetrix.igb.view.load.GeneralLoadUtils$$Lambda$267/2037209653.accept(Unknown Source) [igb-8.4.2.jar:na]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [na:1.8.0_51]
            at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [na:1.8.0_51]
            at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [na:1.8.0_51]
            at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) [na:1.8.0_51]
            at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) [na:1.8.0_51]
            at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) [na:1.8.0_51]
            at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [na:1.8.0_51]
            at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [na:1.8.0_51]
            at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [na:1.8.0_51]
            at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [na:1.8.0_51]
            at com.affymetrix.igb.view.load.GeneralLoadUtils.initVersionAndSeq(GeneralLoadUtils.java:316) [igb-8.4.2.jar:na]
            at com.affymetrix.igb.view.SeqGroupView$InitVersionWorker.runInBackground(SeqGroupView.java:697) [igb-8.4.2.jar:na]
            at com.affymetrix.igb.view.SeqGroupView$InitVersionWorker.runInBackground(SeqGroupView.java:685) [igb-8.4.2.jar:na]
            at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73) [genometry-8.4.2.jar:na]
            at javax.swing.SwingWorker$1.call(SwingWorker.java:295) [na:1.8.0_51]
            at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_51]
            at javax.swing.SwingWorker.run(SwingWorker.java:334) [na:1.8.0_51]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51]
            at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]

            Show
            mason Mason Meyer (Inactive) added a comment - - edited I have tested David's broken quickload sites and verify that IGB is handling these broken quickload sites as expected, except for when an annots.xml is missing. In this case I am seeing a null pointer exception: 16:17:29.778 ERROR c.l.quickload.util.QuickloadUtils - Missing required annots.xml file for genome version A_thaliana_Jun_2009, skipping this genome version for quickload site http://igbquickload.org/brokenQuickloads/missingAnnotsXml/A_thaliana_Jun_2009/ java.io.IOException: null at com.affymetrix.genometry.util.UriUtils.checkIsValidRequest(UriUtils.java:86) ~ [genometry-8.4.2.jar:na] at com.affymetrix.genometry.util.UriUtils.getInputStream(UriUtils.java:58) ~ [genometry-8.4.2.jar:na] at com.lorainelab.quickload.util.QuickloadUtils.getGenomeVersionData(QuickloadUtils.java:126) ~ [quickload-8.4.2.jar:na] at com.lorainelab.quickload.QuickloadDataProvider.getAvailableDataSets(QuickloadDataProvider.java:154) [quickload-8.4.2.jar:na] at com.affymetrix.igb.view.load.GeneralLoadUtils.initializeDataContainer(GeneralLoadUtils.java:296) [igb-8.4.2.jar:na] at com.affymetrix.igb.view.load.GeneralLoadUtils.lambda$initVersionAndSeq$40(GeneralLoadUtils.java:318) [igb-8.4.2.jar:na] at com.affymetrix.igb.view.load.GeneralLoadUtils$$Lambda$267/2037209653.accept(Unknown Source) [igb-8.4.2.jar:na] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [na:1.8.0_51] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [na:1.8.0_51] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [na:1.8.0_51] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) [na:1.8.0_51] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) [na:1.8.0_51] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) [na:1.8.0_51] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [na:1.8.0_51] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [na:1.8.0_51] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [na:1.8.0_51] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [na:1.8.0_51] at com.affymetrix.igb.view.load.GeneralLoadUtils.initVersionAndSeq(GeneralLoadUtils.java:316) [igb-8.4.2.jar:na] at com.affymetrix.igb.view.SeqGroupView$InitVersionWorker.runInBackground(SeqGroupView.java:697) [igb-8.4.2.jar:na] at com.affymetrix.igb.view.SeqGroupView$InitVersionWorker.runInBackground(SeqGroupView.java:685) [igb-8.4.2.jar:na] at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73) [genometry-8.4.2.jar:na] at javax.swing.SwingWorker$1.call(SwingWorker.java:295) [na:1.8.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_51] at javax.swing.SwingWorker.run(SwingWorker.java:334) [na:1.8.0_51] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
            Hide
            dcnorris David Norris (Inactive) added a comment -

            Setup several broken quickload sites which are designed to be broken in specific ways. Document the way each site is broken and keep these sites around for future regression testing.

            Show
            dcnorris David Norris (Inactive) added a comment - Setup several broken quickload sites which are designed to be broken in specific ways. Document the way each site is broken and keep these sites around for future regression testing.

              People

              • Assignee:
                mason Mason Meyer (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: