-
Notifications
You must be signed in to change notification settings - Fork 4.8k
HIVE-28874 Incorrect comparison in LlapFixedRegistryImpl #5742
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@@ -257,7 +257,7 @@ public List<LlapServiceInstance> getAllInstancesOrdered(boolean consistentIndexe | |||
Collections.sort(list, new Comparator<LlapServiceInstance>() { | |||
@Override | |||
public int compare(LlapServiceInstance o1, LlapServiceInstance o2) { | |||
return o2.getWorkerIdentity().compareTo(o2.getWorkerIdentity()); | |||
return o1.getWorkerIdentity().compareTo(o2.getWorkerIdentity()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't this change the sorting order? I think now you will see it in ascending order when compared to descending order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previously there was no order (and inconsistency instead) as o2 was compared to o2 and they are always equal.
Ascending Order (o1.compareTo(o2))
Descending Order (o2.compareTo(o1))
Please let me know if descending order is expected
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need this sorting then since it was working without it.
cc @abstractdog Do you think it makes sense to use sorting here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Considering that the comparison was incorrect and FixedServiceInstanceSet failed to comply with any sorting requirements (unlike DynamicServiceInstanceSet, which uses a TreeMap to maintain order), it doesn't really matter whether we fix the sorting or remove it entirely.
However, since the interface implies that some ordering is expected, it's reasonable to fix it now using a simple ascending order, which aligns better with intuitive expectations and brings consistency to the implementation.
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
dear maintainers, please review |
left a comment above, this is fine to be merged, can you please rebase your patch on master to get a green build? |
|
@abstractdog please merge |
No description provided.