summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2020-04-07 11:12:33 +0300
committerKatja Marttila <katja.marttila@qt.io>2020-04-08 05:48:56 +0000
commit9c4b308f827cfbb11cdd26b9955b7ca39204886d (patch)
tree82ac3c8520590fa2734d7e3c3f9cd349f6baf420 /src
parent7a9a65371c03ca2a3be170156593504b0c1d30af (diff)
Add possibility to reduce the metadata simultaneous download
For some reason installer freezes on some machines when metadata download amount exceeds certain limit. Currently it is limited to 1000 simultaneous requests and this has solved the issue previously but now the issue has recurred. Added a environment variable IFW_METADATA_SIZE so user can decrease the download amount to prevent freezing. Task-number: QTAINFRA-3634 Change-Id: I09c2f8e589a6b89f351623666994cc12ebd7054a Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/libs/installer/metadatajob.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp
index 7d7b46e72..8cecb70e8 100644
--- a/src/libs/installer/metadatajob.cpp
+++ b/src/libs/installer/metadatajob.cpp
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** Copyright (C) 2018 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Installer Framework.
@@ -58,6 +58,13 @@ MetadataJob::MetadataJob(QObject *parent)
, m_downloadableChunkSize(1000)
, m_taskNumber(0)
{
+ QByteArray downloadableChunkSize = qgetenv("IFW_METADATA_SIZE");
+ if (!downloadableChunkSize.isEmpty()) {
+ int chunkSize = QString::fromLocal8Bit(downloadableChunkSize).toInt();
+ if (chunkSize > 0)
+ m_downloadableChunkSize = chunkSize;
+ }
+
setCapabilities(Cancelable);
connect(&m_xmlTask, &QFutureWatcherBase::finished, this, &MetadataJob::xmlTaskFinished);
connect(&m_metadataTask, &QFutureWatcherBase::finished, this, &MetadataJob::metadataTaskFinished);