<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:04:02 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-5219] Provide GraalVM metadata and substitutions</title>
                <link>https://jira.mongodb.org/browse/JAVA-5219</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;To compile a Java application using Mongo into a native executable with GraalVM, you need:&lt;br/&gt;
&#160;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;a set of metadata configuring the compiler&lt;/li&gt;
	&lt;li&gt;a set of substitutions that transform the code during the native compilation&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The substitutions are there to reduce the footprint of the resulting executable and workaround features not supported by the native compiler.&lt;/p&gt;

&lt;p&gt;This issue is about migrating substitutions and metadata available in the Quarkus Mongo extension to the Mongo Java client project. It will simplify the maintenance and will prevent changes from breaking native compilation.&#160;&lt;/p&gt;

&lt;p&gt;The idea would be to:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;include the substitutions (files attached to this issue). You will need an additional (in the provided scope) dependency: &lt;tt&gt;org.graalvm.sdk:graal-sdk&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;add a &lt;tt&gt;META-INF/mongo/native-image.properties&lt;/tt&gt; file in one of the artifact with the following metadata:&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Add the resource: &lt;tt&gt;com.mongodb.spi.dns.DnsClientProvider&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;Register for reflection&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;com.mongodb.client.model.changestream.ChangeStreamDocument&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;com.mongodb.client.model.changestream.UpdateDescription&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;org.bson.types.ObjectId&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Initialize at runtime: &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;org.bson.types.ObjectId&lt;/tt&gt;&#160;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;com.mongodb.internal.dns.DefaultDnsResolver&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;br/&gt;
The GraalVM gradle plugin should allow adding a few tests to make sure it works as expected.&lt;br/&gt;
&#160;&#160;&lt;br/&gt;
PS: I&apos;m the main author of the MongoDB substitution and metadata from the Quarkus extension.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2486261">JAVA-5219</key>
            <summary>Provide GraalVM metadata and substitutions</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="clement.escoffier@gmail.com">clement escoffier</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Oct 2023 07:08:06 +0000</created>
                <updated>Wed, 24 Jan 2024 13:55:09 +0000</updated>
                                                                            <component>Integrations</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5838710" author="dbeng-pm-bot" created="Tue, 31 Oct 2023 07:08:09 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=clement.escoffier%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;clement.escoffier@gmail.com&quot;&gt;clement.escoffier@gmail.com&lt;/a&gt;, thank you for reporting this issue! The team will look into it and get back to you soon. &lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="486282" name="MongoClientSubstitutions.java" size="4987" author="clement.escoffier@gmail.com" created="Tue, 31 Oct 2023 07:09:07 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                    <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5006R00001ykDwDQAU]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14266" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Documentation Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;1.  What would you like to communicate to the user about this feature?&lt;br/&gt;
2.  Would you like the user to see examples of the syntax and/or executable code and its output?&lt;br/&gt;
3.  Which versions of the driver/connector does this apply to?&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY24Q4</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i2f8m8:</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>