Learn more about these different git repos.
Other Git URLs
See this bodhi update: https://bodhi.fedoraproject.org/updates/FEDORA-2018-5a6cc3f4a2
Bodhi fails to get a decision from greenwave due to timeout. Here is a curl command that can duplicate the query:
curl 'https://greenwave-web-greenwave.app.os.fedoraproject.org/api/v1.0/decision' -H 'Origin: https://bodhi.fedoraproject.org' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US,en;q=0.9' -H 'User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36' -H 'Content-Type: application/json' -H 'Accept: */*' -H 'Connection: keep-alive' --data-binary '{"product_version":"fedora-27","decision_context":"bodhi_update_push_stable","subject":[{"item":"akonadi-calendar-tools-17.12.1-1.fc27","type":"koji_build"},{"item":"akonadiconsole-17.12.1-1.fc27","type":"koji_build"},{"item":"akonadi-import-wizard-17.12.1-1.fc27","type":"koji_build"},{"item":"akregator-17.12.1-1.fc27","type":"koji_build"},{"item":"grantlee-editor-17.12.1-1.fc27","type":"koji_build"},{"item":"kaddressbook-17.12.1-1.fc27","type":"koji_build"},{"item":"kalarm-17.12.1-1.fc27","type":"koji_build"},{"item":"kdepim-addons-17.12.1-2.fc27","type":"koji_build"},{"item":"kdepim-apps-libs-17.12.1-1.fc27","type":"koji_build"},{"item":"kdepim-runtime-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-akonadi-calendar-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-akonadi-contacts-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-akonadi-mime-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-akonadi-notes-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-akonadi-search-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-akonadi-server-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-calendarsupport-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-eventviews-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-grantleetheme-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-incidenceeditor-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kalarmcal-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kblog-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kcalendarcore-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kcalendarutils-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kcontacts-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kdav-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kholidays-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kidentitymanagement-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kimap-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kldap-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kmailtransport-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kmbox-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kmime-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kontactinterface-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-kpimtextedit-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-ksmtp-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-ktnef-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-libgravatar-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-libkdepim-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-libkleo-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-libksieve-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-mailcommon-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-mailimporter-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-messagelib-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-pimcommon-17.12.1-1.fc27","type":"koji_build"},{"item":"kf5-syndication-17.12.1-1.fc27","type":"koji_build"},{"item":"kleopatra-17.12.1-1.fc27","type":"koji_build"},{"item":"kmail-17.12.1-1.fc27","type":"koji_build"},{"item":"kmail-account-wizard-17.12.1-1.fc27","type":"koji_build"},{"item":"knotes-17.12.1-1.fc27","type":"koji_build"},{"item":"kontact-17.12.1-1.fc27","type":"koji_build"},{"item":"korganizer-17.12.1-1.fc27","type":"koji_build"},{"item":"libkgapi-17.12.1-1.fc27","type":"koji_build"},{"item":"mbox-importer-17.12.1-1.fc27","type":"koji_build"},{"item":"pim-data-exporter-17.12.1-1.fc27","type":"koji_build"},{"item":"pim-sieve-editor-17.12.1-1.fc27","type":"koji_build"},{"original_spec_nvr":"akonadi-calendar-tools-17.12.1-1.fc27"},{"original_spec_nvr":"akonadiconsole-17.12.1-1.fc27"},{"original_spec_nvr":"akonadi-import-wizard-17.12.1-1.fc27"},{"original_spec_nvr":"akregator-17.12.1-1.fc27"},{"original_spec_nvr":"grantlee-editor-17.12.1-1.fc27"},{"original_spec_nvr":"kaddressbook-17.12.1-1.fc27"},{"original_spec_nvr":"kalarm-17.12.1-1.fc27"},{"original_spec_nvr":"kdepim-addons-17.12.1-2.fc27"},{"original_spec_nvr":"kdepim-apps-libs-17.12.1-1.fc27"},{"original_spec_nvr":"kdepim-runtime-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-akonadi-calendar-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-akonadi-contacts-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-akonadi-mime-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-akonadi-notes-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-akonadi-search-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-akonadi-server-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-calendarsupport-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-eventviews-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-grantleetheme-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-incidenceeditor-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kalarmcal-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kblog-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kcalendarcore-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kcalendarutils-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kcontacts-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kdav-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kholidays-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kidentitymanagement-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kimap-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kldap-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kmailtransport-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kmbox-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kmime-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kontactinterface-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-kpimtextedit-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-ksmtp-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-ktnef-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-libgravatar-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-libkdepim-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-libkleo-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-libksieve-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-mailcommon-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-mailimporter-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-messagelib-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-pimcommon-17.12.1-1.fc27"},{"original_spec_nvr":"kf5-syndication-17.12.1-1.fc27"},{"original_spec_nvr":"kleopatra-17.12.1-1.fc27"},{"original_spec_nvr":"kmail-17.12.1-1.fc27"},{"original_spec_nvr":"kmail-account-wizard-17.12.1-1.fc27"},{"original_spec_nvr":"knotes-17.12.1-1.fc27"},{"original_spec_nvr":"kontact-17.12.1-1.fc27"},{"original_spec_nvr":"korganizer-17.12.1-1.fc27"},{"original_spec_nvr":"libkgapi-17.12.1-1.fc27"},{"original_spec_nvr":"mbox-importer-17.12.1-1.fc27"},{"original_spec_nvr":"pim-data-exporter-17.12.1-1.fc27"},{"original_spec_nvr":"pim-sieve-editor-17.12.1-1.fc27"},{"item":"FEDORA-2018-5a6cc3f4a2","type":"bodhi_update"}]}' --compressed
One idea, we could parallelize the for item in subjects: loop in api_v1.py.
for item in subjects:
api_v1.py
For 52 builds, we're asking a lot of that serial loop.
Metadata Update from @dcallagh: - Issue assigned to dcallagh
Yeah doing 52 HTTP requests to resultsdb and waiverdb in series seems likely to be the culprit.
asyncio.gather would be helpful here... Time to port Greenwave to asyncio? :-P
asyncio.gather
We can replace the N waiverdb calls with 1. But we can't do that with resultsdb. Its API does not let us filter by multiple sets of key-value pairs. So we could reduce the 2×N serialised HTTP requests down to 1×N but I don't expect that will be enough to avoid this problem.
Perhaps you could submit a patch to ResultsDB to allow this? They've been receptive to adding API features in the past.
Good idea. It would certainly be nicer to make 1 resultsdb request instead of smashing it with 52 requests in parallel.
Metadata Update from @lholecek: - Issue assigned to lholecek (was: dcallagh)
The performance was improved in PR#231.
Metadata Update from @lholecek: - Issue close_status updated to: Fixed - Issue set to the milestone: 0.9 - Issue status updated to: Closed (was: Open) - Issue tagged with: enhancement
Login to comment on this ticket.