Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-3722

JCasHashMap lifecycle size management broken

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.6.0SDK
    • Fix Version/s: 2.6.0SDK
    • Component/s: Core Java Framework
    • Labels:
      None

      Description

      The code which decides whether or not the map table expansion is needed does

      if (size >= sizeWhichTriggersExpansion) {
            increaseSize();
      

      but fails to then recalculate sizeWhichTriggersExpansion...

      Additionally, the technique to save the last failed probe located empty cell is unreliable, because arbitrary user code could be run which might disturb this value, in the case where a new JCas cover class instance was constructed, and the class defined a "readObject()" method - this would be called and could execute aribtrary operations. Remove that optimization - have the put operation always do the find-empty-slot.

        Attachments

          Activity

            People

            • Assignee:
              schor Marshall Schor
              Reporter:
              schor Marshall Schor
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: