Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Automated update-Scrapy V0.1 changing RA Table

Wiki Markup
            Objects that serve as keys in ordered sets and maps should be immutable. When some fields must be mutable, the {{equals()}}, {{hashCode()}} and {{compareTo()}} methods must consider only immutable state when comparing objects. Violations of this rule can produce inconsistent orderings in collections. The documentation of {{java.util.Interface Set<E>}} and {{java.util.Interface Map<K,V>}} warns against this.  For example, the documentation for the Interface Map states \[[API 2006|AA. Bibliography#API 06]\]:

...

Failure to ensure that the keys used in a comparison operation are immutable can lead to non-deterministic behavior.

Guideline Recommendation

Severity

Likelihood

Remediation Cost

Priority

Level

OBJ15MET19-J

low

probable

high

P2

L3

Automated Detection

The Coverity Prevent Version 5.0 MUTABLE_COMPARISON checker can detect the instances where compareTo method is reading from a non constant field. If the non-constant field is modified, the value of compareTo might change, which may break program invariants.

...