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.

        Activity

        Hide
        kkorey Kiran Korey 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 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 added a comment -
        Show
        kkorey Kiran Korey 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
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development

                Agile