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 - 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 #2149 (New): Clean up the web site and repo structurehttps://redmine.z2-environment.net/issues/21492023-01-01T16:00:36ZHenning Blohmhenning.blohm@zfabrik.de
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>there is only the z2 project and z2.core / z2.base repos.</li>
<li>there is no sample code in z2.base.</li>
<li>The calculator sample is integrated with the sample repos</li>
<li>The documentation <a class="wiki-page" href="https://redmine.z2-environment.net/projects/z2-environment/wiki/Step_3_-_First_steps_with_Z2_on_Git">Step_3_-_First_steps_with_Z2_on_Git</a> is updated</li>
</ul> z2-Environment - Improvement #2087 (In Progress): Upgrade to Jetty 11https://redmine.z2-environment.net/issues/20872021-03-21T17:04:28ZHenning Blohmhenning.blohm@zfabrik.de
<p>Get it from here: <a class="external" href="https://www.eclipse.org/jetty/download.php">https://www.eclipse.org/jetty/download.php</a></p>
<a name="Notes"></a>
<h2 >Notes<a href="#Notes" class="wiki-anchor">¶</a></h2>
<ul>
<li>After this, we are on Jakarta EE 9 - and hence on Servlet 5.0 and so on the jakarta.* namespace.</li>
</ul>
<a name="Acceptance-Criteria"></a>
<h2 >Acceptance Criteria<a href="#Acceptance-Criteria" class="wiki-anchor">¶</a></h2>
<ul>
<li>We upgraded to Jetty 11</li>
</ul> z2-Environment - Improvement #2083 (New): Implement a remote CR reducing Clone Efforts with GitCRhttps://redmine.z2-environment.net/issues/20832021-01-15T13:52:12ZHenning Blohmhenning.blohm@zfabrik.de
<p>tbc</p>
<p>See <a class="wiki-page" href="https://redmine.z2-environment.net/projects/z2-environment/wiki/SFTPSSH_Component_Repository">SFTPSSH_Component_Repository</a> for a proposal.</p> z2-Environment - Improvement #2059 (New): Enhance standard module layout for better reload perfor...https://redmine.z2-environment.net/issues/20592020-03-15T17:07:17ZHenning Blohmhenning.blohm@zfabrik.de
<p><div class="flash error">Error executing the <strong>include</strong> macro (Page not found)</div></p>
<a name="Acceptance-Criterias"></a>
<h2 >Acceptance Criterias<a href="#Acceptance-Criterias" class="wiki-anchor">¶</a></h2>
<ul>
<li>There is a new component type <strong>com.zfabrik.impl</strong>
<ul>
<li>The impl component is a reduced Java Component that only supports a private loader.</li>
<li>All sources are found in <strong><component>/src</strong>, binaries in <strong><component>/bin/{lib|classes}</strong></li>
<li>The component type <strong>com.zfabrik.impl</strong> supports <strong>impl.references</strong> and <strong>impl.includes</strong>, etc.</li>
</ul></li>
</ul>
<ul>
<li>There is a new component type <strong>com.zfabrik.api</strong>
<ul>
<li>The impl component is a reduced Java Component that only supports a public loader.</li>
<li>All sources are found in<strong><component>/src</strong>, binaries in <strong><component>/{lib|classes}</strong></li>
<li>The component type <strong>com.zfabrik.api</strong> supports <strong>api.references</strong> and <strong>api.includes</strong>, etc.</li>
<li>The component type <strong>com.zfabrik.java</strong> by default has a public reference to <module>/api</li>
</ul></li>
</ul>
<ul>
<li>There is a new component type <strong>com.zfabrik.test</strong>
<ul>
<li>The test component is a reduced Java Component that only supports a private loader.</li>
<li>All sources are found in <strong><component>/src</strong>, binaries in <strong><component>/bin/{lib|classes}</strong></li>
<li>The component type <strong>com.zfabrik.test</strong> supports <strong>test.references</strong> and <strong>test.includes</strong>, etc.</li>
<li>For test components, <strong>testing.references</strong> can access the private loader of the target</li>
<li>A test component has a default <strong>testing.reference</strong> to <strong><module>/impl</strong></li>
</ul></li>
</ul>
<ul>
<li><strong>JavaComponentUtil.getJavaComponent</strong> is deprecated and replaced by <strong>JavaComponentUtil.getImplComponent</strong> and <strong>JavaComponentUtil.getApiComponent</strong>
<ul>
<li>All usages of <strong>JavaComponentUtil.getJavaComponent</strong> when looking for component implementations are replaced by <strong>JavaComponentUtil.getImplComponent</strong></li>
<li><strong>JavaComponentUtil.getImplComponent</strong> checks for <strong><module>/impl</strong> and if that cannot be found falls back to <strong><module>/java</strong></li>
<li><strong>JavaComponentUtil.getApiComponent</strong> checks for <strong><module>/java</strong> and if that cannot be found defaults to <strong><module>/api</strong></li>
</ul></li>
</ul>
<ul>
<li>Eclipsoid resolves for <strong><module>/java</strong> and <strong><module>/api</strong></li>
<li>Eclipsoid supports two module templates:
<ul>
<li>One with /java (legacy, pre 2.9)</li>
<li>One with /api and /impl</li>
</ul></li>
</ul>