<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:00:00 UTC 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>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[JAVA-3604] OSGi: Make mongodb-driver-sync dependency on mongodb-crypt optional</title>
                <link>https://jira.mongodb.org/browse/JAVA-3604</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;This seems quite similar and/or an follow-up to &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3575&quot; title=&quot;Manifest of mongodb-crypt is missing OSGi entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3575&quot;&gt;&lt;del&gt;JAVA-3575&lt;/del&gt;&lt;/a&gt; that still exists as of version 3.12.1.&lt;/p&gt;

&lt;p&gt;The manifest.xml of mongodb-driver-sync declares a required import of&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;com.mongodb.crypt.capi;version=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;[1.0,2)&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;... which would be provided by mongodb-crypt&lt;/p&gt;

&lt;p&gt;This is odd for multiple reasons&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Is mongodb-crypt required at all, even if not using any client side encryption?
	&lt;ol&gt;
		&lt;li&gt;My unit-tests (not using osgi, so ignoring manifest.xml) seem to work without it and&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3575&quot; title=&quot;Manifest of mongodb-crypt is missing OSGi entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3575&quot;&gt;&lt;del&gt;JAVA-3575&lt;/del&gt;&lt;/a&gt; more or less hints that it should be optional.&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;mongodb-driver-sync does not maven-depend on it (&lt;a href=&quot;https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-sync/3.12.1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-sync/3.12.1&lt;/a&gt;) at all.
	&lt;ol&gt;
		&lt;li&gt;To some degree it was an optional dependency before &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3575&quot; title=&quot;Manifest of mongodb-crypt is missing OSGi entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3575&quot;&gt;&lt;del&gt;JAVA-3575&lt;/del&gt;&lt;/a&gt; via mongodb-driver-core.&lt;/li&gt;
		&lt;li&gt;Currently there is no maven dependency at all. So, without manual addition, it won&apos;t run in osgi.&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Probably&#160;&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;com.mongodb.crypt.capi;version=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;[1.0,2)&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;should be declared optional?&lt;/p&gt;</description>
                <environment>Java with OSGi</environment>
        <key id="1112915">JAVA-3604</key>
            <summary>OSGi: Make mongodb-driver-sync dependency on mongodb-crypt optional</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="ross@mongodb.com">Ross Lawley</assignee>
                                    <reporter username="josef.haertl@ldbv.bayern.de">Josef Haertl</reporter>
                        <labels>
                    </labels>
                <created>Fri, 24 Jan 2020 06:48:45 +0000</created>
                <updated>Sat, 28 Oct 2023 11:21:50 +0000</updated>
                            <resolved>Fri, 31 Jan 2020 11:12:16 +0000</resolved>
                                    <version>3.12.1</version>
                                    <fixVersion>3.12.2</fixVersion>
                    <fixVersion>4.0.0</fixVersion>
                                    <component>Build</component>
                    <component>Client Side Encryption</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2776383" author="josef.haertl@ldbv.bayern.de" created="Fri, 31 Jan 2020 11:54:44 +0000"  >&lt;p&gt;Great! Thanks for fixing this so quickly &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="2776319" author="ross@10gen.com" created="Fri, 31 Jan 2020 11:12:16 +0000"  >&lt;p&gt;This will be released in 3.12.2&lt;/p&gt;</comment>
                            <comment id="2772864" author="xgen-internal-githook" created="Thu, 30 Jan 2020 15:36:54 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Ross Lawley&apos;, &apos;username&apos;: &apos;rozza&apos;, &apos;email&apos;: &apos;ross.lawley@gmail.com&apos;}
&lt;p&gt;Message: OSGI: Mark com.mongodb.crypt.capi as optional&lt;/p&gt;

&lt;p&gt;Bnd needs some help marking optional dependency packages as optional.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3604&quot; title=&quot;OSGi: Make mongodb-driver-sync dependency on mongodb-crypt optional&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3604&quot;&gt;&lt;del&gt;JAVA-3604&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/cf098254162dd5ddccc19fa110c28238217f0173&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/cf098254162dd5ddccc19fa110c28238217f0173&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2772854" author="xgen-internal-githook" created="Thu, 30 Jan 2020 15:32:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Ross Lawley&apos;, &apos;username&apos;: &apos;rozza&apos;, &apos;email&apos;: &apos;ross.lawley@gmail.com&apos;}
&lt;p&gt;Message: OSGI: Mark com.mongodb.crypt.capi as optional&lt;/p&gt;

&lt;p&gt;The OSGI plugin needs some help marking optional dependency packages as optional.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3604&quot; title=&quot;OSGi: Make mongodb-driver-sync dependency on mongodb-crypt optional&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3604&quot;&gt;&lt;del&gt;JAVA-3604&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: 3.12.x&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/7b94afe67635b40d03886ca3156d6be36f5b64a1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/7b94afe67635b40d03886ca3156d6be36f5b64a1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2772591" author="ross@10gen.com" created="Thu, 30 Jan 2020 13:15:01 +0000"  >&lt;p&gt;PR: &lt;a href=&quot;https://github.com/rozza/mongo-java-driver/pull/361&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/rozza/mongo-java-driver/pull/361&lt;/a&gt; (3.12.2)&lt;/p&gt;</comment>
                            <comment id="2772580" author="ross@10gen.com" created="Thu, 30 Jan 2020 13:04:29 +0000"  >&lt;p&gt;PR: &lt;a href=&quot;https://github.com/rozza/mongo-java-driver/pull/360&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/rozza/mongo-java-driver/pull/360&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2765133" author="josef.haertl@ldbv.bayern.de" created="Mon, 27 Jan 2020 09:10:10 +0000"  >&lt;p&gt;Hi Ross Lawley,&lt;/p&gt;

&lt;p&gt;Yes, with &quot;Currently there is no maven dependency at all&quot; i meant that the (optional) dependency is not picked up while not beeing marked as optional. So, currently, one has to best guess that mongodb-crypt must be added in the maven build (as a workaround for now - on the long term, making it optional would be greatly prefereable)&lt;/p&gt;

&lt;p&gt;Thanks for investigating&lt;/p&gt;

&lt;p&gt;Josef H&#228;rtl&lt;/p&gt;</comment>
                            <comment id="2761298" author="ross@10gen.com" created="Fri, 24 Jan 2020 09:47:52 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=josef.haertl%40ldbv.bayern.de&quot; class=&quot;user-hover&quot; rel=&quot;josef.haertl@ldbv.bayern.de&quot;&gt;josef.haertl@ldbv.bayern.de&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Thanks for the ticket.  Your correct the MongoCrypt dependency is an optional dependency of &lt;tt&gt;mongodb-driver-core&lt;/tt&gt; and if the configuration uses encryption then it will be used by &lt;tt&gt;mongodb-driver-sync&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Unfortunately, &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3575&quot; title=&quot;Manifest of mongodb-crypt is missing OSGi entries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3575&quot;&gt;&lt;del&gt;JAVA-3575&lt;/del&gt;&lt;/a&gt; seems to have fixed the driver-core MANIFEST but the bnd library didn&apos;t automatically mark the dependency as optional in sync / async. &lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;2. Currently there is no maven dependency at all. So, without manual addition, it won&apos;t run in osgi.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Just to clarify; Is this because the optional dependency from driver-core won&apos;t be picked up by maven and in &lt;tt&gt;mongodb-driver-sync&lt;/tt&gt; its not marked as optional?&lt;/p&gt;

&lt;p&gt;Apologies for missing this in the higher level MANIFESTs.&lt;/p&gt;

&lt;p&gt;Ross&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hw8wl3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>