[ 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)