After restoring KeyValue.equals() to its current form, TestColumnSeeking passes.
FYI On Sun, Sep 30, 2012 at 6:09 PM, Ted Yu <[email protected]> wrote: > w.r.t. the sidenote, we can log a subtask for HBASE-6182 that makes the > return value from comparator consistent with return value from equals() > method. > > Thanks > > > On Sun, Sep 30, 2012 at 5:47 PM, Matt Corgan <[email protected]> wrote: > >> Hi everyone, >> >> Working on PrefixTree testing I noticed that KeyValue.KVComparator >> includes >> the memstoreTS when comparing, however the KeyValue.equals() method >> ignores >> the memstoreTS. I'm wondering how intentional that is? If unintentional, >> I'm thinking that the equals method should probably include the >> memstoreTS. >> At a minimum, TestColumnSeeking relies on the current behavior, but I >> think it could be changed. >> >> On the other hand, KVComparator isn't technically the default comparator >> so >> I wouldn't say it's a bug. >> >> Java 7 sidenote - We ran into this problem internally at HotPads when >> moving to Java 7. The >> Comparator< >> http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html> >> interface >> has always specified that comparator return 0 when equals would return >> true >> and vice versa. Obeying that rule has been sort of optional in the past, >> but Java 7 introduces a new default collection sorting algorithm called >> Tim >> Sort <http://bugs.sun.com/view_bug.do?bug_id=6804124> which relies on >> that >> behavior. We've been using a VM argument to roll back to the old sorting >> algorithm. >> >> Matt >> > >
