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

exceptions are thrown on startup when loading data providers

    Details

    • Sprint:
      B - Summer 2018

      Description

      *We get an exception when starting IGB:*
      22:47:33.486 ERROR c.a.i.p.IgbPreferencesLoadingOrchestrator - Index: 0, Size: 0
      java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
      at java.util.ArrayList.rangeCheck(Unknown Source) ~[na:1.8.0_152]
      at java.util.ArrayList.get(Unknown Source) ~[na:1.8.0_152]
      at com.affymetrix.igb.general.DataProviderManager.getDataProviderById(DataProviderManager.java:287) ~[na:na]
      at com.affymetrix.igb.general.DataProviderManager.initializeDataProvider(DataProviderManager.java:206) ~[na:na]

      From a functional standpoint, everything is fine. The issue relates to how IGB initializes preferences using multiple threads. Some threads get ahead and is request information about a data provider that hasn't been loaded yet. It looked like the load and check processes are called multiple times, so the early times (things are not fully loaded) throw exceptions, but the later times everything is loaded and things end up working out.

      If you run through start up in the debugger, you can demonstrate that there are moments when the list of data providers is partially loaded. But we never figured out where the root call was coming from to prevent the exceptions.

        Attachments

          Activity

          Hide
          kkorey Kiran Korey (Inactive) added a comment -

          The exception was because of getDataProviderById() method of DataProviderManager file.
          The method was trying to return 1st object from an empty list.
          So adding the null condition before returning solved the issue.

          Note: The preferences file in windows can be found by following the instructions below:
          press : win+r -> type : reg.edit
          List of registries open.
          Navigate to this location or simply copy paste to find the preferences of IGB
          Computer\HKEY_CURRENT_USER\Software\JavaSoft\Prefs\com\affymetrix\igb

          Show
          kkorey Kiran Korey (Inactive) added a comment - The exception was because of getDataProviderById() method of DataProviderManager file. The method was trying to return 1st object from an empty list. So adding the null condition before returning solved the issue. Note: The preferences file in windows can be found by following the instructions below: press : win+r -> type : reg.edit List of registries open. Navigate to this location or simply copy paste to find the preferences of IGB Computer\HKEY_CURRENT_USER\Software\JavaSoft\Prefs\com\affymetrix\igb
          Hide
          kkorey Kiran Korey (Inactive) added a comment -
          Show
          kkorey Kiran Korey (Inactive) added a comment - Need a review for the branch https://bitbucket.org/kkorey/kkorey-igb/branch/IGBF-1249-EXCEPTION Thanks

            People

            • Assignee:
              Unassigned
              Reporter:
              ieclabau Ivory Blakley (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: