<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/server, branch sumo</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=sumo</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=sumo'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-02-25T22:27:46+00:00</updated>
<entry>
<title>bitbake: process: Rewrite multiple connection handling</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-24T16:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9f8d417c320b23834ae809c40b83dbd587df4df2'/>
<id>urn:sha1:9f8d417c320b23834ae809c40b83dbd587df4df2</id>
<content type='text'>
If the bitbake server recieved multiple connections, it currently closes
ones it can't handle (while its dealing with another). This is rather
antisocial behaviour which causes clients to quickly run through their
retries and abort.

Instead, queue any other connections until the current one is closed. This
way the client can decide when it wants to stop waiting for the server. If the
client is gone by the time we handle it, we handle that gracefully.

This also fixes a number of bugs in the connection handling where connections
which did drop early were badly handled causing tracebacks in the logs.

Also, handle queue incomming connections in a loop to ensure that the main
client handling doesn't starve that piece of the system.

This code was stress tested by running 50 connection attempts in parallel at
once, ensuring the code correctly handled them.

(Bitbake rev: f675293d86504db66442532258d99b26333742bf)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: process: Handle EWOULDBLOCK in socket connect</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-24T16:32:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d1baf887cd11bc12175856adaad225e0879554bf'/>
<id>urn:sha1:d1baf887cd11bc12175856adaad225e0879554bf</id>
<content type='text'>
Now that we set a timeout for the socket, it can return EWOULDBLOCK
if a signal or other event happens to wake up even if we don't timeout.

If this happens, retry the connection, else we simply see it quickly
loop through the retries and abort the connection in a very short
interval.

(Bitbake rev: f770d6a332812031682dc6bef1a2a84da52a4c32)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: process.py: Set socket timeout to 10 seconds</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-24T16:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=83dbc768d3b1d8d2d56a35afc605499d8e032d46'/>
<id>urn:sha1:83dbc768d3b1d8d2d56a35afc605499d8e032d46</id>
<content type='text'>
The current value of 2 seconds has shown to be short in
wider testing.

(Bitbake rev: c4a940991f261959eb08273d2250d3866b868938)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Ensure socket has a timeout set</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-14T17:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d3b7f2ead56b8d9f3df6bddc0f6b9749dcd562cf'/>
<id>urn:sha1:d3b7f2ead56b8d9f3df6bddc0f6b9749dcd562cf</id>
<content type='text'>
We're seeing hangs in oe-selftest where server startup and shutdown are
racing. The assumption was a connect would timeout however no timeout is
set which can leave processes hanging. Set a short timeout for
the connection to avoid this.

(Bitbake rev: e53c1009356cc49c57d3b9af1e3dda6927acd78d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Increase server startup time delay</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-02T19:18:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=245e1c251a6993733fbf4a8fdb931e0cc05e47c0'/>
<id>urn:sha1:245e1c251a6993733fbf4a8fdb931e0cc05e47c0</id>
<content type='text'>
On loaded production systems we've seen bitbake server take over
40s to start up. Increase the timeout to 90s which tries to avoid
failures in selftests.

The delays come from setting up the inotify watches (31s) so can't
really be avoided.

After 5s delay we now warn the user we're waiting for 90s so the
interactive exeperience shouldn't be much changed and its very
unlikely the user would see that anyway.

(Bitbake rev: 64055fdb0d8485b40ba710a762e9a0af5c4540b4)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Show last 60 lines of the log if the server didn't start</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-11-27T11:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=27d5f46f45eacc32ad14a29edbc15428279d6b63'/>
<id>urn:sha1:27d5f46f45eacc32ad14a29edbc15428279d6b63</id>
<content type='text'>
We're seeing issues where the server doesn't start with no logs as to why. Allow
the server to print the last 60 log lines just in case this shows us something useful
about what is failing.

(Bitbake rev: da54a3fef9cee308dfa87eea9b9638796d734abd)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Show the last 60 log lines, not the last 10</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-11-27T11:32:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ba9f093318fffb3abef7eb2a6ca60566cf24ac69'/>
<id>urn:sha1:ba9f093318fffb3abef7eb2a6ca60566cf24ac69</id>
<content type='text'>
10 log lines may not capture any full traceback, increase the number of
lines to 60 which covers most tracebacks.

(Bitbake rev: 340a7d91b5030e4d62680f427286fc419509879b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: print a message when no logfile</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2018-11-14T09:46:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=633d22650cd3db7c574a55d36a3e2cda1cff6d04'/>
<id>urn:sha1:633d22650cd3db7c574a55d36a3e2cda1cff6d04</id>
<content type='text'>
[YOCTO #12898]

There might be no bitbake-cookerdaemon.log, print a message for debugging.

(Bitbake rev: cc32e703a8e68107353702edb230296503f5dad0)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Make lockfile handling clearer</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-11-29T16:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=feee885613d1a3e1184b0fab4f3e24d1c5c3fee8'/>
<id>urn:sha1:feee885613d1a3e1184b0fab4f3e24d1c5c3fee8</id>
<content type='text'>
This simplifies the code and makes it easier to read but has the
same functionality.

(Bitbake rev: 21dcec291d58ab7ac5d2c07186c68e01d85e6f65)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: process: Flush key output to logs</title>
<updated>2018-12-06T10:28:05+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-12-01T17:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a13af733dcab6d4d62b33143837af118c0c07938'/>
<id>urn:sha1:a13af733dcab6d4d62b33143837af118c0c07938</id>
<content type='text'>
Small tweak to ensure these items are printed into the log since there
is other logging code which looks for the header and this makes it clearer
the server did start but is slow somewhere in startup.

(Bitbake rev: e698ff1817e3536211f40af161c563d15e2ef3b5)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
