[jira] [Commented] (OAK-8776) Build Jackrabbit Oak #2504 failed
[ https://issues.apache.org/jira/browse/OAK-8776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16977865#comment-16977865 ] Hudson commented on OAK-8776: - Previously failing build now is OK. Passed run: [Jackrabbit Oak #2507|https://builds.apache.org/job/Jackrabbit%20Oak/2507/] [console log|https://builds.apache.org/job/Jackrabbit%20Oak/2507/console] > Build Jackrabbit Oak #2504 failed > - > > Key: OAK-8776 > URL: https://issues.apache.org/jira/browse/OAK-8776 > Project: Jackrabbit Oak > Issue Type: Bug > Components: continuous integration >Reporter: Hudson >Priority: Major > > No description is provided > The build Jackrabbit Oak #2504 has failed. > First failed run: [Jackrabbit Oak > #2504|https://builds.apache.org/job/Jackrabbit%20Oak/2504/] [console > log|https://builds.apache.org/job/Jackrabbit%20Oak/2504/console] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8776) Build Jackrabbit Oak #2504 failed
[ https://issues.apache.org/jira/browse/OAK-8776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16977799#comment-16977799 ] Hudson commented on OAK-8776: - Previously failing build now is OK. Passed run: [Jackrabbit Oak #2506|https://builds.apache.org/job/Jackrabbit%20Oak/2506/] [console log|https://builds.apache.org/job/Jackrabbit%20Oak/2506/console] > Build Jackrabbit Oak #2504 failed > - > > Key: OAK-8776 > URL: https://issues.apache.org/jira/browse/OAK-8776 > Project: Jackrabbit Oak > Issue Type: Bug > Components: continuous integration >Reporter: Hudson >Priority: Major > > No description is provided > The build Jackrabbit Oak #2504 has failed. > First failed run: [Jackrabbit Oak > #2504|https://builds.apache.org/job/Jackrabbit%20Oak/2504/] [console > log|https://builds.apache.org/job/Jackrabbit%20Oak/2504/console] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8775) update Tomcat JDBC dependency to 8.5.47
[ https://issues.apache.org/jira/browse/OAK-8775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-8775: Fix Version/s: (was: 1.120) 1.20.0 > update Tomcat JDBC dependency to 8.5.47 > --- > > Key: OAK-8775 > URL: https://issues.apache.org/jira/browse/OAK-8775 > Project: Jackrabbit Oak > Issue Type: Technical task > Components: rdbmk >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Labels: candidate_oak_1_10 > Fix For: 1.20.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8776) Build Jackrabbit Oak #2504 failed
[ https://issues.apache.org/jira/browse/OAK-8776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16977627#comment-16977627 ] Hudson commented on OAK-8776: - Previously failing build now is OK. Passed run: [Jackrabbit Oak #2505|https://builds.apache.org/job/Jackrabbit%20Oak/2505/] [console log|https://builds.apache.org/job/Jackrabbit%20Oak/2505/console] > Build Jackrabbit Oak #2504 failed > - > > Key: OAK-8776 > URL: https://issues.apache.org/jira/browse/OAK-8776 > Project: Jackrabbit Oak > Issue Type: Bug > Components: continuous integration >Reporter: Hudson >Priority: Major > > No description is provided > The build Jackrabbit Oak #2504 has failed. > First failed run: [Jackrabbit Oak > #2504|https://builds.apache.org/job/Jackrabbit%20Oak/2504/] [console > log|https://builds.apache.org/job/Jackrabbit%20Oak/2504/console] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8777) benchmark ISO8601 formatters
[ https://issues.apache.org/jira/browse/OAK-8777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16977541#comment-16977541 ] Julian Reschke commented on OAK-8777: - trunk: [r1870022|http://svn.apache.org/r1870022] > benchmark ISO8601 formatters > > > Key: OAK-8777 > URL: https://issues.apache.org/jira/browse/OAK-8777 > Project: Jackrabbit Oak > Issue Type: New Feature > Components: benchmarks >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Fix For: 1.20.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (OAK-8777) benchmark ISO8601 formatters
[ https://issues.apache.org/jira/browse/OAK-8777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke resolved OAK-8777. - Fix Version/s: 1.20.0 Resolution: Fixed > benchmark ISO8601 formatters > > > Key: OAK-8777 > URL: https://issues.apache.org/jira/browse/OAK-8777 > Project: Jackrabbit Oak > Issue Type: New Feature > Components: benchmarks >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Fix For: 1.20.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (OAK-8777) benchmark ISO8601 formatters
Julian Reschke created OAK-8777: --- Summary: benchmark ISO8601 formatters Key: OAK-8777 URL: https://issues.apache.org/jira/browse/OAK-8777 Project: Jackrabbit Oak Issue Type: New Feature Components: benchmarks Reporter: Julian Reschke Assignee: Julian Reschke -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8763) LoginContextProviderImpl uses any subject found in the AccessControlContext.
[ https://issues.apache.org/jira/browse/OAK-8763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16977540#comment-16977540 ] Angela Schreiber commented on OAK-8763: --- [~baedke], i am not convinced that replacing a read-only subject by a new, writable one is really correct what's the reason behind this? your patch doesn't come with a test case illustrating what you intend to fix with your patch. as far as anonymous login is concerned: login with null credentials is _not_ an anonymous login (see specification). anonymous login is achieved with {{GuestCredentials}}. > LoginContextProviderImpl uses any subject found in the AccessControlContext. > > > Key: OAK-8763 > URL: https://issues.apache.org/jira/browse/OAK-8763 > Project: Jackrabbit Oak > Issue Type: Bug > Components: security-spi >Reporter: Manfred Baedke >Assignee: Angela Schreiber >Priority: Major > Attachments: OAK-8763.patch > > > LoginContextProviderImpl#getLoginContext(...) extracts the most recent > subject from the AccessControlContext and then uses it for either a > PreAuthContext or a JaasLoginContext. This is wrong, because there is no > reason to assume that such a subject has anything to do with Oak. It > particularly hurts when it's readonly, because JAAS will then silently fail > to add principals and credentials. > We would need a way to identify pre-authenticated subjects and subjects that > are not pre-authenticated should not be used to create a JaasLoginContext. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-3373) Observers dont survive store restart (was: LuceneIndexProvider: java.lang.IllegalStateException: open)
[ https://issues.apache.org/jira/browse/OAK-3373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefan Egli updated OAK-3373: - Priority: Minor (was: Major) As discussed offline the priority 'Major' is probably a bit overstated given the fact that it was sitting around 4 years. I lowered it to 'Minor' now. Alternatively we could also opt to Wont-fix it. > Observers dont survive store restart (was: LuceneIndexProvider: > java.lang.IllegalStateException: open) > -- > > Key: OAK-3373 > URL: https://issues.apache.org/jira/browse/OAK-3373 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core >Affects Versions: 1.3.5 >Reporter: Stefan Egli >Priority: Minor > Fix For: 1.22.0 > > > The following exception occurs when stopping, then immediately re-starting > the oak-core bundle (which was done as part of testing for OAK-3250 - but can > be reproduced independently). It's not clear what the consequences are > though.. > {code}08.09.2015 14:20:26.960 *ERROR* [oak-lucene-0] > org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider Uncaught > exception in > org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider@3a4a6c5c > org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: Error > occurred while fetching children for path /oak:index/authorizables > at > org.apache.jackrabbit.oak.plugins.document.DocumentStoreException.convert(DocumentStoreException.java:48) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.getChildren(DocumentNodeStore.java:902) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.getChildNodes(DocumentNodeStore.java:1082) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState.getChildNodeEntries(DocumentNodeState.java:508) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState.access$100(DocumentNodeState.java:65) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState$ChildNodeEntryIterator.fetchMore(DocumentNodeState.java:716) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState$ChildNodeEntryIterator.(DocumentNodeState.java:681) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState$1.iterator(DocumentNodeState.java:289) > at > org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:129) > at > org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:303) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState.compareAgainstBaseState(DocumentNodeState.java:359) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) > at > org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:140) > at > org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:303) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState.compareAgainstBaseState(DocumentNodeState.java:359) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) > at > org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:140) > at > org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:303) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeState.compareAgainstBaseState(DocumentNodeState.java:359) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:52) > at > org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.update(IndexTracker.java:108) > at > org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider.contentChanged(LuceneIndexProvider.java:73) > at > org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:127) > at > org.apache.jackrabbit.oak.spi.commit.BackgroundObserver$1$1.call(BackgroundObserver.java:121) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.IllegalStateException: open > at org.bson.util.Assertions.isTrue(Assertions.java:36) > at > com.mongodb.DBTCPConnector.isMongosConnection(DBTCPConnector.java:367) > at
[jira] [Created] (OAK-8776) Build Jackrabbit Oak #2504 failed
Hudson created OAK-8776: --- Summary: Build Jackrabbit Oak #2504 failed Key: OAK-8776 URL: https://issues.apache.org/jira/browse/OAK-8776 Project: Jackrabbit Oak Issue Type: Bug Components: continuous integration Reporter: Hudson No description is provided The build Jackrabbit Oak #2504 has failed. First failed run: [Jackrabbit Oak #2504|https://builds.apache.org/job/Jackrabbit%20Oak/2504/] [console log|https://builds.apache.org/job/Jackrabbit%20Oak/2504/console] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-6261) Log queries that sort by un-indexed properties
[ https://issues.apache.org/jira/browse/OAK-6261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Mueller updated OAK-6261: Fix Version/s: (was: 1.22.0) > Log queries that sort by un-indexed properties > -- > > Key: OAK-6261 > URL: https://issues.apache.org/jira/browse/OAK-6261 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: query >Reporter: Thomas Mueller >Assignee: Thomas Mueller >Priority: Minor > > Queries that can read many nodes, and sort by properties that are not > indexed, can be very slow. This includes for example fulltext queries. > As a start, it might make sense to log an "info" level message (but avoid > logging the same message each time a query is run). Per configuration, this > could be turned to "warning". -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-7300) Lucene Index: per-column selectivity to improve cost estimation
[ https://issues.apache.org/jira/browse/OAK-7300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Mueller updated OAK-7300: Fix Version/s: (was: 1.22.0) > Lucene Index: per-column selectivity to improve cost estimation > --- > > Key: OAK-7300 > URL: https://issues.apache.org/jira/browse/OAK-7300 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: lucene, query >Reporter: Thomas Mueller >Assignee: Thomas Mueller >Priority: Major > > In OAK-6735 we have improved cost estimation for Lucene indexes, however the > following case is still not working as expected: a very common property is > indexes (many nodes have that property), and each value of that property is > more or less unique. In this case, currently the cost estimation is the total > number of documents that contain that property. Assuming the condition > "property is not null" this is correct, however for the common case "property > = x" the estimated cost is far too high. > A known workaround is to set the "costPerEntry" for the given index to a low > value, for example 0.2. However this isn't a good solution, as it affects all > properties and queries. > It would be good to be able to set the selectivity per property, for example > by specifying the number of distinct values, or (better yet) the average > number of entries for a given key (1 for unique values, 2 meaning for each > distinct values there are two documents on average). > That value can be set manually (cost override), and it can be set > automatically, e.g. when building the index, or updated from time to time > during the index update, using a cardinality > estimation algorithm. That doesn't have to be accurate; we could use an rough > approximation such as hyperbitbit. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-3219) Lucene IndexPlanner should also account for number of property constraints evaluated while giving cost estimation
[ https://issues.apache.org/jira/browse/OAK-3219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Mueller updated OAK-3219: Fix Version/s: (was: 1.22.0) > Lucene IndexPlanner should also account for number of property constraints > evaluated while giving cost estimation > - > > Key: OAK-3219 > URL: https://issues.apache.org/jira/browse/OAK-3219 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: lucene >Reporter: Chetan Mehrotra >Assignee: Thomas Mueller >Priority: Minor > Labels: performance > > Currently the cost returned by Lucene index is a function of number of > indexed documents present in the index. If the number of indexed entries are > high then it might reduce chances of this index getting selected if some > property index also support of the property constraint. > {noformat} > /jcr:root/content/freestyle-cms/customers//element(*, cq:Page) > [(jcr:content/@title = 'm' or jcr:like(jcr:content/@title, 'm%')) > and jcr:content/@sling:resourceType = '/components/page/customer’] > {noformat} > Consider above query with following index definition > * A property index on resourceType > * A Lucene index for cq:Page with properties {{jcr:content/title}}, > {{jcr:content/sling:resourceType}} indexed and also path restriction > evaluation enabled > Now what the two indexes can help in > # Property index > ## Path restriction > ## Property restriction on {{sling:resourceType}} > # Lucene index > ## NodeType restriction > ## Property restriction on {{sling:resourceType}} > ## Property restriction on {{title}} > ## Path restriction > Now cost estimate currently works like this > * Property index - {{f(indexedValueEstimate, estimateOfNodesUnderGivenPath)}} > ** indexedValueEstimate - For 'sling:resourceType=foo' its the approximate > count for nodes having that as 'foo' > ** estimateOfNodesUnderGivenPath - Its derived from an approximate estimation > of nodes present under given path > * Lucene Index - {{f(totalIndexedEntries)}} > As cost of Lucene is too simple it does not reflect the reality. Following 2 > changes can be done to make it better > * Given that Lucene index can handle multiple constraints compared (4) to > property index (2), the cost estimate returned by it should also reflect this > state. This can be done by setting costPerEntry to 1/(no of property > restriction evaluated) > * Get the count for queried property value - This is similar to what > PropertyIndex does and assumes that Lucene can provide that information in > O(1) cost. In case of multiple supported property restriction this can be > minima of all -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-7374) Investigate changing the UUID generation algorithm / format to reduce index size, improve speed
[ https://issues.apache.org/jira/browse/OAK-7374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Mueller updated OAK-7374: Fix Version/s: (was: 1.22.0) > Investigate changing the UUID generation algorithm / format to reduce index > size, improve speed > --- > > Key: OAK-7374 > URL: https://issues.apache.org/jira/browse/OAK-7374 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core >Reporter: Thomas Mueller >Assignee: Thomas Mueller >Priority: Major > > UUIDs are currently randomly generated, which is bad for indexing; specially > read and writes access, due to low locality. > If we could add a time component, I think the index churn (amount of writes) > would shrink, and lookup would be faster. > It should be fairly easy to verify if that's really true (create a > proof-of-concept, and measure). -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-6844) Consistency checker Directory value is always ":data"
[ https://issues.apache.org/jira/browse/OAK-6844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Mueller updated OAK-6844: Fix Version/s: (was: 1.22.0) > Consistency checker Directory value is always ":data" > - > > Key: OAK-6844 > URL: https://issues.apache.org/jira/browse/OAK-6844 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: lucene >Affects Versions: 1.7.9 >Reporter: Paul Chibulcuteanu >Assignee: Thomas Mueller >Priority: Minor > > When running a _fullCheck_ consistency check from the Lucene Index statistics > MBean, the _Directory_ results is always _:data_ > See below: > {code} > /oak:index/lucene => VALID > Size : 42.3 MB > Directory : :data > Size : 42.3 MB > Num docs : 159132 > CheckIndex status : true > Time taken : 3.544 s > {code} > I'm not really sure what information should be put here, but the _:data_ > value is confusing. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-6897) XPath query: option to _not_ convert "or" to "union"
[ https://issues.apache.org/jira/browse/OAK-6897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Mueller updated OAK-6897: Fix Version/s: (was: 1.22.0) > XPath query: option to _not_ convert "or" to "union" > > > Key: OAK-6897 > URL: https://issues.apache.org/jira/browse/OAK-6897 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: query >Reporter: Thomas Mueller >Assignee: Thomas Mueller >Priority: Trivial > > Right now, all XPath queries that contain "or" of the form "@a=1 or @b=2" are > converted to SQL-2 "union". In some cases, this is a problem, specially in > combination with "order by @jcr:score desc". > Now that SQL-2 "or" conditions can be converted to union (depending if union > has a lower cost), it is no longer strictly needed to do the union conversion > in the XPath conversion. Or at least emit different SQL-2 queries and take > the one with the lowest cost. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8775) update Tomcat JDBC dependency to 8.5.47
[ https://issues.apache.org/jira/browse/OAK-8775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16977331#comment-16977331 ] Julian Reschke commented on OAK-8775: - trunk: [r1870014|http://svn.apache.org/r1870014] [r1870013|http://svn.apache.org/r1870013] [r1870012|http://svn.apache.org/r1870012] > update Tomcat JDBC dependency to 8.5.47 > --- > > Key: OAK-8775 > URL: https://issues.apache.org/jira/browse/OAK-8775 > Project: Jackrabbit Oak > Issue Type: Technical task > Components: rdbmk >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Labels: candidate_oak_1_10 > Fix For: 1.120 > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8775) update Tomcat JDBC dependency to 8.5.47
[ https://issues.apache.org/jira/browse/OAK-8775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke updated OAK-8775: Labels: candidate_oak_1_10 (was: ) > update Tomcat JDBC dependency to 8.5.47 > --- > > Key: OAK-8775 > URL: https://issues.apache.org/jira/browse/OAK-8775 > Project: Jackrabbit Oak > Issue Type: Technical task > Components: rdbmk >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Labels: candidate_oak_1_10 > Fix For: 1.120 > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (OAK-8775) update Tomcat JDBC dependency to 8.5.47
[ https://issues.apache.org/jira/browse/OAK-8775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Reschke resolved OAK-8775. - Resolution: Fixed > update Tomcat JDBC dependency to 8.5.47 > --- > > Key: OAK-8775 > URL: https://issues.apache.org/jira/browse/OAK-8775 > Project: Jackrabbit Oak > Issue Type: Technical task > Components: rdbmk >Reporter: Julian Reschke >Assignee: Julian Reschke >Priority: Minor > Fix For: 1.120 > > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (OAK-8775) update Tomcat JDBC dependency to 8.5.47
Julian Reschke created OAK-8775: --- Summary: update Tomcat JDBC dependency to 8.5.47 Key: OAK-8775 URL: https://issues.apache.org/jira/browse/OAK-8775 Project: Jackrabbit Oak Issue Type: Technical task Components: rdbmk Reporter: Julian Reschke Assignee: Julian Reschke Fix For: 1.120 -- This message was sent by Atlassian Jira (v8.3.4#803005)