[ 
https://issues.apache.org/jira/browse/KUDU-1334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16884040#comment-16884040
 ] 

Ritwik Yadav commented on KUDU-1334:
------------------------------------

IPv4: 

I am hitting the limit with 18 bits of PID. I guess we need a more scalable 
solution than expanding the number of bits of allowable PIDs. I would like to 
understand the exact problem here. I presume we have multiple processes running 
tests on a single host. Each process needs a bunch of unique IPv4 addresses. 
The problem boils down to constructing an injection from (pid_t, 6 bit value) 
to a 24 bit value. Now, pid_t today would have 32 bits for most machines 
running Kudu. However, for commonly used implementations we would contiguous 
pid unless we hit the limit. I think a hash function with a check on 
availability of that address etc. should be a durable solution. 

The underlying assumption is the number of processes on machines would grow 
faster than the number of unit tests requiring IP addresses on Kudu. What is 
the degree of parallelism on tests we run and how can it be controlled.

IPv6:

As for IPv6 support, we can possibly use IPv6 mapped IPv4 addresses. This 
document 
[https://tools.ietf.org/id/draft-smith-v6ops-larger-ipv6-loopback-prefix-04.html]
 mentions some drawbacks of it but I guess they shouldn't affect us. I am happy 
to give this a shot. Posting here for visibility.

> Support pid_max > 16 bits in the mini cluster
> ---------------------------------------------
>
>                 Key: KUDU-1334
>                 URL: https://issues.apache.org/jira/browse/KUDU-1334
>             Project: Kudu
>          Issue Type: Improvement
>          Components: test
>    Affects Versions: 0.5.0
>            Reporter: Jean-Daniel Cryans
>            Assignee: Alexey Serbin
>            Priority: Major
>             Fix For: 1.6.0
>
>
> Pretty much anybody running on newer machines/platforms will hit this while 
> running the unit tests:
> {noformat}
> I0216 11:27:23.617383 110702 external_mini_cluster.cc:582] Started
> /home/stack/apache-kudu-incubating-0.7.0/build/rc/bin/kudu-master as pid
> 110706
> F0216 11:27:23.617473 110702 external_mini_cluster.cc:258] Check failed: p
> <= MathLimits<uint16_t>::kMax (110702 vs. 65535) Cannot run on systems with
> >16-bit pid
> *** Check failure stack trace: ***
> {noformat}
> Having this limitation was fine but now it's something everybody hits.
> The workaround is running this:
> {noformat}
> echo "32768" > /proc/sys/kernel/pid_max
> {noformat}



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

Reply via email to