[ 
https://issues.apache.org/jira/browse/IMPALA-8677?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joe McDonnell resolved IMPALA-8677.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 3.3.0

> Removing an unused node does not leave consistent remote scheduling unchanged
> -----------------------------------------------------------------------------
>
>                 Key: IMPALA-8677
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8677
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 3.2.0
>            Reporter: Joe McDonnell
>            Assignee: Joe McDonnell
>            Priority: Major
>             Fix For: Impala 3.3.0
>
>
> When working on IMPALA-8630, I discovered that 
> SchedulerTest::RemoteExecutorCandidateConsistency works mostly by 
> happenstance.
> The root of the issue is that in Scheduler::GetRemotExecutorCandidates() we 
> want to avoid returning duplicates and put all the IpAddrs in a set:
> {code:java}
> set<IpAddr> distinct_backends;
> ...
> distinct_backends.insert(*executor_addr);
> ...
> for (const IpAddr& addr : distinct_backends) {
>   remote_executor_candidates->push_back(addr);
> }{code}
> This sorts the IpAddrs, and the remote_executor_candidates does not return 
> elements in the order in which they are encountered.
> Suppose that we are running with num_remote_executor_candidates=2 and random 
> replicas is false. There is exactly one file. GetRemoteExecutorCandidates() 
> returns these executor candidates (IpAddrs):
> {192.168.1.2, 192.168.1.3}
> The first entry is chosen because it is first. Nothing was scheduled on 
> 192.168.1.3, but removing it may change the scheduling outcome. This is 
> because of the sort. Suppose 192.168.1.3 is gone, but the next closest 
> executor is 192.168.1.1 (or some node less than 192.168.1.2). Even though it 
> is farther in the context of the hashring, GetRemoteExecutorCandidates() 
> would return:
> {192.168.1.1, 192.168.1.2}
> and the first entry would be chosen.
> To eliminate this inconsistency, it might be useful to retain the order in 
> which elements match via the hashring.
> In terms of impact, this would increase the number of files that would 
> potentially change scheduling when a node leaves. It might have unnecessary 
> changes. If using random replica set to true, it doesn't matter. It is 
> unclear how much this would impact otherwise.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to