z2-Environment: Issueshttps://redmine.z2-environment.net/https://redmine.z2-environment.net/favicon.ico?15813551872024-03-07T15:07:18Zz2-Environment
Redmine z2-Environment - Bug #2173 (New): All exceptions thrown in class Z2JupiterTestServlet should be l...https://redmine.z2-environment.net/issues/21732024-03-07T15:07:18ZJonas Basslbusiness@bassl.de
<p>In class Z2JupiterTestServlet#service, only IllegalArgumentExceptions are being caught and therefore also logged.<br />Other exceptions are just "thrown away".<br />We should change that, so also other exceptions show up in the log, if it happens.</p> z2-Environment - Bug #2172 (In Progress): Transaction prematurely removed from workunithttps://redmine.z2-environment.net/issues/21722024-03-03T16:34:21ZHenning Blohmhenning.blohm@zfabrik.de
<p>Currently the commit and rollback of a nested transaction removes the transaction object from the work unit.</p>
<p>It seems there is really no need to remove it but rather set the status to STATUS_NO_TRANSACTION.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>Nested transactions do not remove the transaction object</li>
<li>Wish: Add TransactionUtil.required()/mandatory()/never() etc. mimicking the standard propagation styles.</li>
</ul> z2-Environment - Improvement #2168 (In Progress): Minor JDBC improvementshttps://redmine.z2-environment.net/issues/21682024-02-13T11:43:26ZHenning Blohmhenning.blohm@zfabrik.de
<p>Some collected improvements:</p>
<ul>
<li>Better NPE protection in DataSourceWorkResource</li>
<li>Improved JDBC Tracer</li>
</ul> z2-Environment - Improvement #2167 (Feedback): Port Z2Jupiter to use java serialization for trans...https://redmine.z2-environment.net/issues/21672024-01-31T08:03:28ZHenning Blohmhenning.blohm@zfabrik.de
<p>The use of jackson in Z2Jupiter implies an implicit dependency on all users that may interfere with other Jackson versions in use. Unfortunately, a transport layer implementation is required by the API library as that is what clients use.</p>
<p>In order to remove that use of jackson, Z2Jupiter should use java serialization</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>Z2Jupiter does not require the jackson library</li>
<li>Optionally the use of jackson is removed from z2-base.base</li>
</ul> z2-Environment - Bug #2166 (Feedback): Log4j2 configuration from environment not effective.https://redmine.z2-environment.net/issues/21662024-01-30T21:51:16ZHenning Blohmhenning.blohm@zfabrik.de
<p>As in <a class="issue tracker-1 status-3 priority-5 priority-high3 closed" title="Bug: Log4j 2 configuration not loaded from environment (Resolved)" href="https://redmine.z2-environment.net/issues/2146">#2146</a> but now we must use the system class loader to make sure a parent context configuration is effective.</p> z2-Environment - Improvement #2164 (Feedback): CLI / shell script cleanuphttps://redmine.z2-environment.net/issues/21642024-01-27T18:15:31ZHenning Blohmhenning.blohm@zfabrik.de
<p>The bin scripts need to be revisited for more consistency and use multiple modes made more accessible.</p> z2-Environment - Feature #2163 (Resolved): Release 2.9.5https://redmine.z2-environment.net/issues/21632024-01-23T11:13:04ZHenning Blohmhenning.blohm@zfabrik.de
<p>This is a pure patch release.</p>
<a name="Acceptance-Criterias"></a>
<h2 >Acceptance Criterias<a href="#Acceptance-Criterias" class="wiki-anchor">¶</a></h2>
<ul>
<li>License extraction is updated (✓)</li>
<li>Tests checked (✓)</li>
<li>deployables are built and uploaded (✓)</li>
</ul> z2-Environment - Bug #2161 (In Progress): Application Threadpool gets confused on interruptionhttps://redmine.z2-environment.net/issues/21612024-01-02T13:22:19ZHenning Blohmhenning.blohm@zfabrik.de
<p>When interrupting a thread in the thread pool, it will terminate but still be in the pool. This happens in WorkerThread.java:</p>
<pre><code class="java syntaxhl"> <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">wm</span><span class="o">.</span><span class="na">taskCompleted</span><span class="o">(</span><span class="k">this</span><span class="o">))</span> <span class="o">{</span>
<span class="kd">synchronized</span> <span class="o">(</span><span class="k">this</span><span class="o">)</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="na">kicked</span><span class="o">)</span> <span class="o">{</span>
<span class="c1">// only if not having been kicked between being put into</span>
<span class="c1">// the pool and entering this block</span>
<span class="n">waiting</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
<span class="k">try</span> <span class="o">{</span>
<span class="k">this</span><span class="o">.</span><span class="na">wait</span><span class="o">();</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">InterruptedException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="n">logger</span><span class="o">.</span><span class="na">fine</span><span class="o">(</span><span class="s">"Thread interrupted: "</span><span class="o">+</span><span class="k">this</span><span class="o">);</span>
<span class="o">}</span> <span class="k">finally</span> <span class="o">{</span>
<span class="k">this</span><span class="o">.</span><span class="na">waiting</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">else</span>
<span class="k">this</span><span class="o">.</span><span class="na">kicked</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">else</span>
<span class="kd">synchronized</span> <span class="o">(</span><span class="k">this</span><span class="o">)</span> <span class="o">{}</span> <span class="c1">// also to comply to the memory model</span>
</code></pre>
<p>The code is super outdated and far to complex.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>The ThreadPool code is simplified with less concurrency spaghetti code</li>
<li>When a thread is interrupted, it is terminating and remove from the pool</li>
<li>The fix is merged into master</li>
</ul> z2-Environment - Improvement #2160 (New): UI polishing taskshttps://redmine.z2-environment.net/issues/21602023-12-29T15:08:11ZHenning Blohmhenning.blohm@zfabrik.de
<p>Some GUI polishing work:</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>Replace the famfamfam icons with b&w icons that are theme independent</li>
</ul> z2-Environment - Improvement #2159 (New): Log a warning when waiting for a connection due to full...https://redmine.z2-environment.net/issues/21592023-12-29T14:59:43ZHenning Blohmhenning.blohm@zfabrik.de
<p>In case of connection leaking, it is rather hard to find that a) some thread is waiting for a connection and b) who is leaking.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>When waiting longer than 10s for a connection, log a warning with a call stack</li>
</ul> z2-Environment - Bug #2158 (New): Log Buffer Capping should still log all content and append newlinehttps://redmine.z2-environment.net/issues/21582023-11-16T09:21:39ZHenning Blohmhenning.blohm@zfabrik.de
<p>Currently, the log buffer limiting of <a class="issue tracker-5 status-3 priority-4 priority-default closed" title="Improvement: Limit stream reader buffers for worker output handling (Resolved)" href="https://redmine.z2-environment.net/issues/2150">#2150</a> is writing the capped line and adds no new line.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>Limiting of lines as in <a class="issue tracker-5 status-3 priority-4 priority-default closed" title="Improvement: Limit stream reader buffers for worker output handling (Resolved)" href="https://redmine.z2-environment.net/issues/2150">#2150</a> is enforced but logging wraps rather than limiting the actual output</li>
</ul> z2-Environment - Improvement #2157 (Resolved): Use shallow clone for GitCR (2.9.5)https://redmine.z2-environment.net/issues/21572023-11-03T07:58:17ZHenning Blohmhenning.blohm@zfabrik.de
<p>As Jgit supports it now. What we really want is treeless clones as described here:</p>
<p><a class="external" href="https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/">https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/</a></p>
<p>however that is not available, which is why we support shallow clones for now.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>There is a configuration property <strong>gitcr.depth</strong> that can be used to specify a cloning depth (i.e. corresponding to --depth and hence using 1 leads to a shallow clone).</li>
<li>The fix is merged into master</li>
</ul>
<a name="Implementation-Hints"></a>
<h2 >Implementation Hints<a href="#Implementation-Hints" class="wiki-anchor">¶</a></h2>
<p>See also <a class="external" href="https://projects.eclipse.org/projects/technology.jgit/releases/6.3.0">https://projects.eclipse.org/projects/technology.jgit/releases/6.3.0</a> and <a class="external" href="https://projects.eclipse.org/projects/technology.jgit/releases/6.5.0">https://projects.eclipse.org/projects/technology.jgit/releases/6.5.0</a></p> z2-Environment - Improvement #2156 (Resolved): Port #2150 to 2.9.4https://redmine.z2-environment.net/issues/21562023-10-04T11:44:00ZHenning Blohmhenning.blohm@zfabrik.dez2-Environment - Improvement #2154 (Resolved): Support Multi-release jars in Component Classloaderhttps://redmine.z2-environment.net/issues/21542023-05-24T06:42:49ZHenning Blohmhenning.blohm@zfabrik.de
<p>See also <a class="external" href="https://openjdk.org/jeps/238">https://openjdk.org/jeps/238</a> and <a class="external" href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/jar/JarFile.html">https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/jar/JarFile.html</a>.</p>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>The component class loader uses the configured language level to suitably open Jar files.</li>
</ul> z2-Environment - Improvement #2153 (Resolved): CompactFormatter to use Formatter.formatMessage(Lo...https://redmine.z2-environment.net/issues/21532023-05-04T12:56:18ZHenning Blohmhenning.blohm@zfabrik.de
<p>This is just for compliance. Not so much for correctness.</p>