<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>39276</bug_id>
          
          <creation_ts>2020-11-12 23:26:03 +0300</creation_ts>
          <short_desc>girar task run --limits [small|normal(default)|large] option</short_desc>
          <delta_ts>2021-06-21 01:31:38 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Infrastructure</classification>
          <product>Infrastructure</product>
          <component>girar</component>
          <version>unspecified</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>39324</blocked>
    
    <blocked>39328</blocked>
    
    <blocked>39614</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="viy">viy</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>cas</cc>
    
    <cc>ekorneechev</cc>
    
    <cc>glebfm</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>194155</commentid>
    <comment_count>0</comment_count>
    <who name="viy">viy</who>
    <bug_when>2020-11-12 23:26:03 +0300</bug_when>
    <thetext>Еще раз всплыла проблема неадаптируемых лимитов сборочницы, о том, что пакеты разные и нет одного универсального лимита для всех пакетов
которая ранее встречалась редко и поэтому заметалась под ковер,
как, к примеру, в https://bugzilla.altlinux.org/show_bug.cgi?id=31683
(я тоже не особо страдал из-за отсутствия решения, так как в случае чего
удалял пакет из Сизифа и собирал в autoimports).

Но сейчас проблема всплыла в java. Я об ней писал в
https://lists.altlinux.org/pipermail/devel/2020-October/212079.html
После добавления armh noarch пакеты java должны пересобираться и на этой архитектуре, но сборка на armh и сама по себе у нас медленная,
и там умолчальной сейчас не-JIT JVM, что еще тормозит и выводит сборку за лимиты, соответственно, сборочница убивает задания раньше, чем они успели собраться.
Таких заданий уже скопилась небольшая очередь,
#259882 FAILED #1 sisyphus srpm=jruby-1.7.22-alt2_10jpp8.src.rpm
#259809 FAILED #2 sisyphus srpm=batik-1.11-alt1_3jpp8.src.rpm srpm=fop-2.4-alt1_1jpp8.src.rpm
#259709 FAILED #1 sisyphus srpm=jakarta-activation-1.2.2-alt1_1jpp9.src.rpm
#259499 FAILED #2 sisyphus srpm=jogl2-2.3.2-alt3_9jpp8.src.rpm
#259490 NEW #1 p9 srpm=java-10-openjdk-10.0.2.13-alt2_7jpp9.src.rpm
#259439 FAILED #2 sisyphus srpm=sbt-0.13.1-alt6_9.1jpp8.src.rpm
#259324 FAILED #1 sisyphus srpm=java-9-openjdk-9.0.4.11-alt4_6jpp8.src.rpm
#257261 FAILED #2 p9 srpm=java-9-openjdk-9.0.4.11-alt2_6jpp8.M90P.1.src.rpm

С этой статистикой можно оценить число пострадавших пактов в Сизифе в 30-120 шт.

Предлагаю, как самый ленивый вариант, ввести набор опций для управления лимитами, к примеру, wlimit_time_elapsed =&gt; --limit-time-elapsed large
с дискретным набором значений (normal=0/large=1 или normal(default)=0/small=1/large=2)
и примитивной реализацией:

сгенерировать на сборочных массив псевдопользователей с разными лимитами
и вычислять нужный номер псевдопользователя по опциям нужный номер псевдопользователя.
No=No-as-before+(Total pseudousers before)*(limit-time-elapsed)+(Total before)^2*(limit-time-idle)+ ... (Total before)^N*(limit-N)

Упрощая - завести в hasher-priv каждого сборочного узла еще 2 псевдопользователя
с номерами +100 и +200
к примеру normal -- обычный номер hasher (к примеру, 0),
small - номер hasher +100
large - номер hasher +200
и таким образом при сборке выбирать номер с нужным лимитом.

Пригодится как пользователям, желающим уменьшить какой-то лимит (если в пакете есть тенденция зависать в тестах), так и желающим увеличить какой-то лимит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194374</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-11-20 18:42:19 +0300</bug_when>
    <thetext>Все такие изменения быстро не делаются.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194379</commentid>
    <comment_count>2</comment_count>
    <who name="viy">viy</who>
    <bug_when>2020-11-20 22:02:53 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #1)
&gt; Все такие изменения быстро не делаются.

я думаю, что пара месяцев в запасе есть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195480</commentid>
    <comment_count>3</comment_count>
    <who name="viy">viy</who>
    <bug_when>2021-01-18 05:17:44 +0300</bug_when>
    <thetext>С time-idle limit мне помог хак от zerg&apos; - добавить в спек 
(while true; do date; sleep 7m; done) &amp;
который, хоть и безобразное решение, но позволяет обходить лимиты сборочницы.
а вот с wlimit_time_elapsed там все глухо,
так что проблема по прежнему серьезная.
в частности, по wlimit_time_elapsed не собирается бутстрапный jvm 9 в p9.
А он нужен и сам по себе, и чтобы ним собрать jvm 10 которым собрать jvm 11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195485</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2021-01-18 09:31:56 +0300</bug_when>
    <thetext>(Ответ для viy на комментарий #2)
&gt; (Ответ для Dmitry V. Levin на комментарий #1)
&gt; &gt; Все такие изменения быстро не делаются.
&gt; 
&gt; я думаю, что пара месяцев в запасе есть.

Пара месяцев прошла. Дима, мы из-за отсутствия openjdk-11 не можем использовать в p9 javafx для сторонних приложений.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195492</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-01-18 12:17:29 +0300</bug_when>
    <thetext>(In reply to Andrey Cherepanov from comment #4)
&gt; (Ответ для viy на комментарий #2)
&gt; &gt; (Ответ для Dmitry V. Levin на комментарий #1)
&gt; &gt; &gt; Все такие изменения быстро не делаются.
&gt; &gt; 
&gt; &gt; я думаю, что пара месяцев в запасе есть.
&gt; 
&gt; Пара месяцев прошла. Дима, мы из-за отсутствия openjdk-11 не можем
&gt; использовать в p9 javafx для сторонних приложений.

Мне кажется, что ваши усилия направлены по неправильному адресу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196064</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-02-06 19:32:53 +0300</bug_when>
    <thetext>В результате никто не захотел кодить костыли для удобной сборки пакетов, которые не собираются за 8 часов.  Это ненормально, таких пакетов не должно быть.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>