Accumulo
  1. Accumulo
  2. ACCUMULO-2325

Avoid repeated checking in addViolation in NumericValueConstraint and AlphaNumKeyContraint

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.7.0
    • Component/s: None
    • Labels:
      None

      Description

      addViolation is very verbose and does check for null on every violation. Instead we can initialize violations as non-null just return null from check if the list is empty.

        Activity

        ASF subversion and git services logged work - 07/Apr/15 15:45
        • Time Spent:
          10m
           
          Commit edc080c830d2e9689e973a8b8b3447d3bbf661b5 in accumulo's branch refs/heads/master from [~elserj]
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=edc080c ]

          ACCUMULO-2325 Attempt to make example constraints more efficient.

          Partially applied patch from Vikram Srivastava. Due to the nature
          of constraints, it is far more likely that it will never fire. As
          such, it makes sense that we optimize for that case. Avoiding the
          allocation of a new collection (as the code already did) is far
          better than always allocating a new list/set for every invocation
          of the constraint. Tests were directly applied from the original patch.

          People

          • Assignee:
            Vikram Srivastava
            Reporter:
            Vikram Srivastava
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 10m
              10m

                Development