<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 04:11:40 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MAGNOLIA-6139] WebappVersionHandler should bootstrap even if initalized workspaces exist in a cluster</title>
                <link>https://jira.magnolia-cms.com/browse/MAGNOLIA-6139</link>
                <project id="10000" key="MAGNOLIA">Magnolia</project>
                    <description>&lt;p&gt;If the WebappVersionHandler detects initialized workspaces in a cluster then it will not bootstrap the webapp. Just because an initialized workspace exists in the cluster doesn&apos;t mean that the webapp has been installed. For example if author, public1, and public2 share the forum workspace, author may have created and initialized it before public1 installs. &lt;/p&gt;</description>
                <environment></environment>
        <key id="43843">MAGNOLIA-6139</key>
            <summary>WebappVersionHandler should bootstrap even if initalized workspaces exist in a cluster</summary>
                <type id="1" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10883&amp;avatarType=issuetype">Bug</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="ilgun">Ilgun Ilgun</assignee>
                                    <reporter username="rgange">Richard Gange</reporter>
                        <labels>
                            <label>bootstrap</label>
                            <label>clustering</label>
                            <label>initialization</label>
                            <label>support</label>
                    </labels>
                <created>Fri, 20 Mar 2015 14:51:31 +0100</created>
                <updated>Fri, 11 Nov 2016 11:27:09 +0100</updated>
                            <resolved>Mon, 26 Oct 2015 13:44:54 +0100</resolved>
                                    <version>5.3.7</version>
                                    <fixVersion>5.3.12</fixVersion>
                    <fixVersion>5.4.3</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                    <workratio workratioPercent="1387"/>
                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="7" backgroundColor="#89afd7"/>
                                                    <row percentage="93" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="7" backgroundColor="#89afd7"/>
                                                    <row percentage="93" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="28800">1d</timeoriginalestimate>
                            <timeestimate seconds="0">0d</timeestimate>
                            <timespent seconds="399600">13d 7h</timespent>
                                <comments>
                            <comment id="105704" author="trang.truong" created="Fri, 5 Jun 2015 09:20:16 +0200"  >&lt;p&gt;This is fixed by ignoring trigger bootstrap web-app in cluster workspaces. &lt;/p&gt;

&lt;p&gt;Based on configFile param in RepositoryDefinition to check the repository is exist cluster config matched to key &amp;lt;code&amp;gt;magnolia.repositories.jackrabbit.cluster.config&amp;lt;/code&amp;gt; in magnolia.properties&lt;/p&gt;</comment>
                            <comment id="108022" author="rkovarik" created="Tue, 7 Jul 2015 14:13:54 +0200"  >&lt;p&gt;Reopened:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;info.magnolia.module.webapp.WebappVersionHandler#checkIfInitialized&lt;/tt&gt;
	&lt;ul&gt;
		&lt;li&gt;redundant &lt;tt&gt;throws AccessDeniedException&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;_sharedWorkspace&lt;/tt&gt; any special reason to start with underscore?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;info.magnolia.repository.RepositoryManager#isClusterWorkspace&lt;/tt&gt;
	&lt;ul&gt;
		&lt;li&gt;maybe it should be named &lt;tt&gt;isClusteredWorkspace&lt;/tt&gt;?&lt;/li&gt;
		&lt;li&gt;adding method to an interface is API change which should be done as part of a major release. We could:&lt;/li&gt;
		&lt;li&gt;A] make an exception&lt;/li&gt;
		&lt;li&gt;B] add this method only to &lt;tt&gt;DefaultRepositoryManager&lt;/tt&gt; and check for instance of &lt;tt&gt;DefaultRepositoryManager&lt;/tt&gt; in &lt;tt&gt;info.magnolia.module.webapp.WebappVersionHandler#checkIfInitialized&lt;/tt&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="108069" author="trang.truong" created="Wed, 8 Jul 2015 08:53:43 +0200"  >&lt;p&gt;Fixed reopened by removing exposed of interface API &lt;tt&gt;info.magnolia.repository.RepositoryManager#isClusterWorkspace&lt;/tt&gt;&lt;/p&gt;</comment>
                            <comment id="108510" author="pmundt" created="Mon, 13 Jul 2015 12:55:39 +0200"  >&lt;ul&gt;
	&lt;li&gt;Please rename method &lt;tt&gt;isClusterWorkspace(String)&lt;/tt&gt; to &lt;tt&gt;isClusteredWorkspace(String)&lt;/tt&gt; in &lt;tt&gt;info.magnolia.repository.DefaultRepositoryManager&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;I fixed some typos in the javadoc. Please make sure when you add &lt;tt&gt;@param workspace&lt;/tt&gt; to also provide some information about the parameter &#8211; or alternatively, leave it out completely.&lt;/li&gt;
	&lt;li&gt;Use &lt;tt&gt;info.magnolia.init.MagnoliaConfigurationProperties&lt;/tt&gt; (&lt;tt&gt;@Inject&lt;/tt&gt; in ctor) instead of &lt;tt&gt;SystemProperty.getProperty(String)&lt;/tt&gt; (new code should not introduce usage of deprected APIs).&lt;/li&gt;
	&lt;li&gt;Please add a test&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="108657" author="trang.truong" created="Wed, 15 Jul 2015 07:04:50 +0200"  >&lt;p&gt;Provide unit test&lt;/p&gt;</comment>
                            <comment id="108658" author="had" created="Wed, 15 Jul 2015 07:23:25 +0200"  >&lt;p&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=trang.truong&quot; class=&quot;user-hover&quot; rel=&quot;trang.truong&quot;&gt;trang.truong&lt;/a&gt; did you try to time whole build of core before and after your changes to the test? IIUIC, not only yours, but all tests will now use 2 repos (normal/default plus clustered) so I was wondering what is the penalty for doing that.&lt;/p&gt;</comment>
                            <comment id="108662" author="pmundt" created="Wed, 15 Jul 2015 09:21:24 +0200"  >&lt;p&gt;While you&apos;re at it &lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=trang.truong&quot; class=&quot;user-hover&quot; rel=&quot;trang.truong&quot;&gt;trang.truong&lt;/a&gt;:&lt;br/&gt;
In &lt;tt&gt;info.magnolia.repository.DefaultRepositoryManager&lt;/tt&gt; the default ctor has to inititalize &lt;tt&gt;MagnoliaConfigurationProperties&lt;/tt&gt; too:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; DefaultRepositoryManager() {
    &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.magnoliaConfigurationProperties = Components.getComponent(MagnoliaConfigurationProperties.class);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Also make &lt;tt&gt;private MagnoliaConfigurationProperties magnoliaConfigurationProperties;&lt;/tt&gt; &lt;tt&gt;final&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="108747" author="pmundt" created="Thu, 16 Jul 2015 09:12:42 +0200"  >&lt;p&gt;Resolved on branch &lt;tt&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-6139&quot; title=&quot;WebappVersionHandler should bootstrap even if initalized workspaces exist in a cluster&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-6139&quot;&gt;&lt;del&gt;MAGNOLIA-6139&lt;/del&gt;&lt;/a&gt;-prm&lt;/tt&gt;&lt;/p&gt;</comment>
                            <comment id="109288" author="trang.truong" created="Fri, 24 Jul 2015 06:25:21 +0200"  >&lt;p&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=sang.ngo&quot; class=&quot;user-hover&quot; rel=&quot;sang.ngo&quot;&gt;sang.ngo&lt;/a&gt; please see attached config file, put it into WEB-INF to run cluster env.&lt;/p&gt;</comment>
                            <comment id="109290" author="sang.ngo" created="Fri, 24 Jul 2015 08:20:02 +0200"  >&lt;p&gt;There are steps I started QA:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Get configuration from attached file&lt;/li&gt;
	&lt;li&gt;Add into eclipse and run webapp project in first time under clustered enviroment&lt;/li&gt;
	&lt;li&gt;The result: the message in logs&lt;br/&gt;
_- First time: _&lt;br/&gt;
&lt;tt&gt;2015-07-24 11:05:15,953 INFO &#160;info.magnolia.module.webapp.WebappVersionHandler &#160;: Content was not found in the repository, will bootstrap web-app.&lt;/tt&gt;&lt;br/&gt;
_- Second time: _&lt;br/&gt;
&lt;tt&gt;2015-07-24 11:20:12,021 INFO  info.magnolia.module.webapp.WebappVersionHandler  : Content was found in the repository, will not bootstrap web-app.&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;Delete repo magnolia, keep clustered repo and start again&lt;/li&gt;
	&lt;li&gt;Result:&lt;br/&gt;
&lt;tt&gt;2015-07-24 11:35:15,953 INFO &#160;info.magnolia.module.webapp.WebappVersionHandler &#160;: Content was not found in the repository, will bootstrap web-app.&lt;/tt&gt;&lt;br/&gt;
=&amp;gt; Ticket is resovled.&lt;br/&gt;
But when I start installing from web, it faced out error, and the installation is hang. I&apos;m not sure it is related this issue or not. See stacktrace &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/attachment/29339/29339_stacktrace.txt&quot; title=&quot;stacktrace.txt attached to MAGNOLIA-6139&quot;&gt;stacktrace.txt&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; and screenshot&lt;br/&gt;
&lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;29338_thumb&quot; href=&quot;https://jira.magnolia-cms.com/secure/attachment/29338/29338_errorwhenbootstrap.png&quot; title=&quot;errorwhenbootstrap.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;29338&quot; file-preview-title=&quot;errorwhenbootstrap.png&quot;&gt;&lt;img src=&quot;https://jira.magnolia-cms.com/secure/thumbnail/29338/_thumb_29338.png&quot; style=&quot;border: 0px solid black&quot; role=&quot;presentation&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="109296" author="had" created="Fri, 24 Jul 2015 09:16:55 +0200"  >&lt;p&gt;The error is due to fact we are trying to rebootstrap content that exists in clustered workspace from all nodes in the cluster.&lt;br/&gt;
To avoid this problem, we would need to ensure we bootstrap (or change via update tasks) content in clustered workspaces only once. This might proof to be difficult to achieve since installation process have not been designed with such use case in mind back in Magnolia 3.0. &lt;br/&gt;
Currently the biggest obstacle is deciding when content should be bootstrapped (or modified) in clustered workspace. It can be moderately easy to figure out upon installation, but would be very difficult to dynamically resolve such situation on upgrades, therefore as most viable solution we should try to:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;introduce new property in &lt;tt&gt;magnolia.properties&lt;/tt&gt; denoting master/bootstrap-owner cluster-node&lt;/li&gt;
	&lt;li&gt;modify bootstrap utilities to bootstrap content in clustered workspaces only when the flag in properties file is set&lt;/li&gt;
	&lt;li&gt;modify module installer to call &lt;tt&gt;Session.save()&lt;/tt&gt; after module installation on clustered workspaces only on the cluster-node where flag is set.&lt;/li&gt;
	&lt;li&gt;add automated test for both (bootstrap conflict and update via update tasks) to check for this condition explicitly&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="111839" author="pmundt" created="Tue, 8 Sep 2015 14:37:05 +0200"  >&lt;p&gt;After a short discussion with &lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=ilgun&quot; class=&quot;user-hover&quot; rel=&quot;ilgun&quot;&gt;ilgun&lt;/a&gt; and &lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=had&quot; class=&quot;user-hover&quot; rel=&quot;had&quot;&gt;had&lt;/a&gt; we identified potential remaining issues with tasks that are executed twice (by two instances, even though only master cluster node does the &lt;tt&gt;session.save()&lt;/tt&gt;) if they are not written in such way that they can be actually be executed multiple times. Whenever running into such an issue we&apos;ll try to fix them but we are aware of the fact that we might not be able to cover all cases. Clients using this feature should also be aware of this.&lt;/p&gt;</comment>
                            <comment id="112024" author="ilgun" created="Fri, 11 Sep 2015 09:40:41 +0200"  >&lt;p&gt;Changes are present in the following branches - &amp;gt; &lt;br/&gt;
&lt;tt&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-6139&quot; title=&quot;WebappVersionHandler should bootstrap even if initalized workspaces exist in a cluster&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-6139&quot;&gt;&lt;del&gt;MAGNOLIA-6139&lt;/del&gt;&lt;/a&gt;-5.4.x-ilgun&lt;/tt&gt; and &lt;tt&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MAGNOLIA-6139&quot; title=&quot;WebappVersionHandler should bootstrap even if initalized workspaces exist in a cluster&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MAGNOLIA-6139&quot;&gt;&lt;del&gt;MAGNOLIA-6139&lt;/del&gt;&lt;/a&gt;-5.3.x-ilgun&lt;/tt&gt;&lt;/p&gt;</comment>
                            <comment id="112635" author="ejervidalo" created="Wed, 16 Sep 2015 13:42:56 +0200"  >&lt;p&gt;info.magnolia.module.webapp.WebappVersionHandler#checkIfInitialized&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;if (isClusteredWorkspace &amp;amp;&amp;amp; !isMasterCluster)  -&amp;gt; should continue IMO and not return false&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;info.magnolia.module.ModuleManagerImpl#saveChanges&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;remove &#8216;don&apos;t call save or refresh if useless&#8217;&lt;/li&gt;
	&lt;li&gt;move cluster information where needed -&amp;gt; inside if (persist)
	&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
		&lt;li&gt;OR before, why rollback on slave if we don&#8217;t persist?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;info.magnolia.repository.DefaultRepositoryManager#DefaultRepositoryManager(info.magnolia.init.MagnoliaConfigurationProperties, info.magnolia.repository.WorkspaceMapping)&lt;br/&gt;
-&amp;gt; I would vote for removing the Ctor. It&#8217;s only used in test cases.&lt;/p&gt;</comment>
                            <comment id="112820" author="ilgun" created="Fri, 18 Sep 2015 10:45:10 +0200"  >&lt;p&gt;Pushed the changes to the same branches.&lt;/p&gt;</comment>
                            <comment id="112826" author="ejervidalo" created="Fri, 18 Sep 2015 11:25:29 +0200"  >&lt;p&gt;info.magnolia.module.webapp.WebappVersionHandler#checkIfInitialized&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;I still think we should continue in this check, instead of returning &apos;false&apos;:
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (isClusteredWorkspace &amp;amp;&amp;amp; !isMasterCluster) {
    log.info(&lt;span class=&quot;code-quote&quot;&gt;&quot;Skipped clustered workspace &lt;span class=&quot;code-quote&quot;&gt;&apos;{}&apos;&lt;/span&gt; initializing check because it is not cluster master&quot;&lt;/span&gt;, workspace);
    &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;info.magnolia.module.ModuleManagerImpl#isClustered(RepositoryManager repositoryManager, ..)&lt;br/&gt;
info.magnolia.module.ModuleManagerImpl#isMasterCluster(RepositoryManager repositoryManager)&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;remove the RepositoryManager parameter, it&apos;s already defined as field in the class.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;info.magnolia.module.ModuleManagerImpl#saveChanges&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;line #548: while at it, use RepositoryManager#getWorkspaceNames() instead of ContentRepository.getAllRepositoryNames()&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="114074" author="gjoseph" created="Thu, 8 Oct 2015 17:56:06 +0200"  >&lt;p&gt;In the following snippet, `persist` means &quot;tasks were executed successfully&quot;. In previous versions that translated into &quot;yes, save all changes made by tasks&quot;, or &quot;roll it back&quot;. Now, it looks to me like we&apos;re still rolling back on failure, but saving only on master or non-clustered workspaces. Which leads me to think that on a clustered workspace, that session will be &quot;dirty&quot; forever; I&apos;m not even sure how clustering will work with that: will it override the dirty stuff, or not apply changes from master until session is cleaned/refreshed ? Shouldn&apos;t we simply &lt;em&gt;also&lt;/em&gt; rollback in those cases ? (and let master node apply the changes whenever)&lt;/p&gt;

&lt;p&gt;As a side note: should the title of this ticket still be specific to WebappVersionHandler and bootstrapping, while the fix isn&apos;t ?&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (session.hasPendingChanges()) {
                    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (persist) {
                        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; isMasterCluster = isMasterCluster();
                        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; isClustered = isClustered(repoName);

                        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!isClustered || isMasterCluster) {
                            session.save();
                        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
                            log.info(&lt;span class=&quot;code-quote&quot;&gt;&quot;Skipping bootstrapping of repository &lt;span class=&quot;code-quote&quot;&gt;&apos;{}&apos;&lt;/span&gt; because it is clustered and node is not cluster master &quot;&lt;/span&gt;, repoName);
                        }
                    } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
                        session.refresh(&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;);
                    }
                }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="114110" author="had" created="Fri, 9 Oct 2015 08:53:19 +0200"  >&lt;p&gt;Indeed. The inner &lt;tt&gt;else&lt;/tt&gt; clause should have not only &lt;tt&gt;log.info&lt;/tt&gt; but also &lt;tt&gt;session.refresh(false)&lt;/tt&gt; to drop pending changes. Good catch. Did you run into issue with it or did you just spotted in the code?&lt;/p&gt;

&lt;p&gt;AFAIK as long as we kept dirty changes, upon cluster node sync interval, those changes will be synced w/ changes coming from the cluster and in case of conflict &lt;tt&gt;InvalidItemStateException&lt;/tt&gt; would be thrown upon attempt to save such session.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                                                <inwardlinks description="is causing">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="29337" name="config.zip" size="21574" author="trang.truong" created="Fri, 24 Jul 2015 06:23:41 +0200"/>
                            <attachment id="29338" name="errorwhenbootstrap.png" size="323319" author="sang.ngo" created="Fri, 24 Jul 2015 08:38:04 +0200"/>
                            <attachment id="29339" name="stacktrace.txt" size="96225" author="sang.ngo" created="Fri, 24 Jul 2015 08:58:19 +0200"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_14169" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Bug DoR</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                        
        <div style="margin-bottom: 8px;">
                            <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>0/2</span></span></div>
                    
            <div class="checklist-progress-bar-wrapper" style="">
        <div class="checklist-progress-bar" style="position: relative; width: 100%; background-color: #cccccc; margin-bottom: 2px; margin-top: 5px;">
                        <div class="checklist-progress" style="display: block; float: none; width: 0%; height: 2px; background: #14892c;">
                            </div>
        </div>
    </div>
        </div>
    
                                    <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Steps to reproduce, expected, and actual results filled</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Affected version filled</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                            ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 13 May 2015 09:57:17 +0200</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>cmeier</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 19 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>18.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ejervidalo</customfieldvalue>
            <customfieldvalue>ilgun</customfieldvalue>
            <customfieldvalue>had</customfieldvalue>
            <customfieldvalue>gjoseph</customfieldvalue>
            <customfieldvalue>pmundt</customfieldvalue>
            <customfieldvalue>rgange</customfieldvalue>
            <customfieldvalue>rkovarik</customfieldvalue>
            <customfieldvalue>sang.ngo</customfieldvalue>
            <customfieldvalue>trang.truong</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzzzn:9a90vhlzyf9</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10220" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Release notes required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10490"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10245" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="74">Sprint 2 (Basel)</customfieldvalue>
    <customfieldvalue id="108">Basel 11</customfieldvalue>
    <customfieldvalue id="132">Kromeriz 17</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14168" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoD</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                        
        <div style="margin-bottom: 8px;">
                            <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>0/6</span></span></div>
                    
            <div class="checklist-progress-bar-wrapper" style="">
        <div class="checklist-progress-bar" style="position: relative; width: 100%; background-color: #cccccc; margin-bottom: 2px; margin-top: 5px;">
                        <div class="checklist-progress" style="display: block; float: none; width: 0%; height: 2px; background: #14892c;">
                            </div>
        </div>
    </div>
        </div>
    
                                    <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Doc/release notes changes? Comment present?</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Downstream builds green?</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Solution information and context easily available?</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span><strong>Tests</strong></span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><path d="M0.441406 6.94141C0.441406 5.28455 1.78455 3.94141 3.44141 3.94141H15.4414C17.0983 3.94141 18.4414 5.28455 18.4414 6.94141V18.9414C18.4414 20.5983 17.0983 21.9414 15.4414 21.9414H3.44141C1.78455 21.9414 0.441406 20.5983 0.441406 18.9414V6.94141Z" fill="#EFF4FB" /><path fill-rule="evenodd" clip-rule="evenodd" d="M12.4414 3.94141H3.44141C1.78455 3.94141 0.441406 5.28455 0.441406 6.94141V18.9414C0.441406 20.5983 1.78455 21.9414 3.44141 21.9414H15.4414C17.0983 21.9414 18.4414 20.5983 18.4414 18.9414V9.94141H17.4414V18.9414C17.4414 20.046 16.546 20.9414 15.4414 20.9414H3.44141C2.33684 20.9414 1.44141 20.046 1.44141 18.9414V6.94141C1.44141 5.83684 2.33684 4.94141 3.44141 4.94141H12.4414V3.94141Z" fill="#ADBBD0" /><path d="M21.5306 5.91574L19.3486 4.58101L21.5306 3.24628C21.5681 3.22328 21.595 3.18633 21.6053 3.14348C21.6156 3.10063 21.6084 3.05545 21.5855 3.01792L20.9444 1.96985C20.8966 1.89162 20.7942 1.86696 20.716 1.91479L18.6331 3.18898V0.747138C18.6331 0.65546 18.5587 0.581055 18.4671 0.581055H17.2386C17.1469 0.581055 17.0725 0.65546 17.0725 0.747138V3.18898L14.9896 1.91487C14.9112 1.86704 14.8091 1.89162 14.7612 1.96993L14.1201 3.018C14.0972 3.05554 14.09 3.10071 14.1003 3.14356C14.1106 3.18641 14.1375 3.22336 14.175 3.24637L16.3571 4.58101L14.175 5.91574C14.1375 5.93866 14.1106 5.9757 14.1003 6.01847C14.09 6.0614 14.0972 6.10657 14.1201 6.14411L14.7612 7.1921C14.8091 7.27032 14.9112 7.29507 14.9896 7.24724L17.0725 5.97304V8.41489C17.0725 8.50657 17.1469 8.58097 17.2386 8.58097H18.4671C18.5587 8.58097 18.6331 8.50657 18.6331 8.41489V5.97313L20.7161 7.24715C20.7943 7.29499 20.8967 7.27032 20.9444 7.19218L21.5856 6.14411C21.6085 6.10657 21.6157 6.0614 21.6054 6.01855C21.5952 5.97562 21.5682 5.93875 21.5306 5.91574Z" fill="#de350b" /></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span><strong>FixVersion</strong> filled and not yet released</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                                <div style="display: flex; align-items: flex-start; padding: 0; margin-left: 12px; float: none; font-size: 14px;">
                                                                <span style="padding-right: 5px; align-self: flex-start;">
                                <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="unchecked"><rect fill="#EFF4FB" height="17.5" rx="2.5" stroke="#ADBBD0" width="18" x="0.44141" y="3.94141"/></svg>
                        </span>
                                        <div style="cursor: default; text-align: left; flex-grow: 1; padding-right: 3px; margin-top: 2px;">
                                                
                                                
                                                <span >
                                                        <span>Architecture Decision Record (<strong>ADR</strong>)</span>

                        </span>
                    </div>
                                                                    <span style="padding-right: 1px; white-space: nowrap;">
                                                        
                                                        
                                                                                </span>
                                    </div>
                                            ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>