<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:05:47 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>[KAFKA-185] Support dynamic topic naming strategies</title>
                <link>https://jira.mongodb.org/browse/KAFKA-185</link>
                <project id="16285" key="KAFKA">Kafka Connector</project>
                    <description>&lt;p&gt;Similar to &lt;a href=&quot;https://jira.mongodb.org/browse/KAFKA-159&quot; title=&quot;Support dynamic collection naming strategies&quot; class=&quot;issue-link&quot; data-issue-key=&quot;KAFKA-159&quot;&gt;&lt;del&gt;KAFKA-159&lt;/del&gt;&lt;/a&gt; but takes the MongoNamespace and maps it to a topic.&lt;/p&gt;

&lt;p&gt;Only a default mapper will be added and will include prefix and suffix settings.  However, it will allow users to be flexible in&lt;/p&gt;</description>
                <environment></environment>
        <key id="1597398">KAFKA-185</key>
            <summary>Support dynamic topic naming strategies</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</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="ross@mongodb.com">Ross Lawley</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Jan 2021 09:42:43 +0000</created>
                <updated>Sat, 28 Oct 2023 10:46:07 +0000</updated>
                            <resolved>Mon, 8 Feb 2021 11:13:40 +0000</resolved>
                                                    <fixVersion>1.4.0</fixVersion>
                                    <component>Source</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3603957" author="xgen-internal-githook" created="Mon, 8 Feb 2021 11:10:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Mario Molina&apos;, &apos;email&apos;: &apos;mmolimar@gmail.com&apos;, &apos;username&apos;: &apos;mmolimar&apos;}
&lt;p&gt;Message: Added Dynamic Topic Mapping for the Source&lt;/p&gt;

&lt;p&gt;Added a new interface `TopicMapper` with a `getTopic` method. Implementations can take the&lt;br/&gt;
Change Stream Document to determine the correct `topic` to publish the data to.&lt;/p&gt;

&lt;p&gt;The Source connector includes a single implementation: `DefaultTopicMapper`.&lt;br/&gt;
The `DefaultTopicMapper` uses the &apos;ns&apos; field to determine the topic to publish to. The following&lt;br/&gt;
configuration options can help configure topic mapping:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;`topic.prefix` - Add a prefix to the topic eg: `&amp;lt;prefix&amp;gt;.&amp;lt;databaseName&amp;gt;.&amp;lt;collectionName&amp;gt;`&lt;/li&gt;
	&lt;li&gt;`topic.suffix` - Add a suffix to the topic eg: `&amp;lt;databaseName&amp;gt;.&amp;lt;collectionName&amp;gt;.&amp;lt;suffix&amp;gt;`&lt;/li&gt;
	&lt;li&gt;`topic.namespace.map` - Set a json map to maps change stream document namespaces to topics:&lt;br/&gt;
    For example: `
{\&quot;db\&quot;: \&quot;dbTopic\&quot;, \&quot;db.coll\&quot;: \&quot;dbCollTopic\&quot;}
&lt;p&gt;` will map all Change Stream&lt;br/&gt;
    Documents from the `db` database to `dbTopic.&amp;lt;collectionName&amp;gt;` apart from any documents&lt;br/&gt;
    from the `db.coll` namespace which map to the `dbCollTopic` topic.&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;`topic.mapper` - use an alternative mapping class, users can implement their own&lt;br/&gt;
    `TopicMapper` class to handle the mapping logic.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/KAFKA-185&quot; title=&quot;Support dynamic topic naming strategies&quot; class=&quot;issue-link&quot; data-issue-key=&quot;KAFKA-185&quot;&gt;&lt;del&gt;KAFKA-185&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-kafka/commit/5b9a5bd32905bd89a646629c6840411cdae27bec&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-kafka/commit/5b9a5bd32905bd89a646629c6840411cdae27bec&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="1589445">KAFKA-184</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1589445">KAFKA-184</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10250"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14266" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Documentation Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Added Dynamic Topic Mapping for the Source&lt;/p&gt;

&lt;p&gt;Added a new interface `TopicMapper` with a `getTopic` method. Implementations can take the Change Stream Document to determine the correct `topic` to publish the data to.&lt;/p&gt;

&lt;p&gt;The Source connector includes a single implementation: `DefaultTopicMapper`. The `DefaultTopicMapper` uses the &apos;ns&apos; field to determine the topic to publish to.&lt;/p&gt;

&lt;p&gt;The following configuration options can help configure topic mapping:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;`topic.prefix`&lt;br/&gt;
    Adds a prefix to the topic eg: `&amp;lt;prefix&amp;gt;.&amp;lt;databaseName&amp;gt;.&amp;lt;collectionName&amp;gt;`&lt;br/&gt;
    Default: &quot;&quot;&lt;/li&gt;
	&lt;li&gt;`topic.suffix`&lt;br/&gt;
    Adds a suffix to the topic eg: `&amp;lt;databaseName&amp;gt;.&amp;lt;collectionName&amp;gt;.&amp;lt;suffix&amp;gt;`&lt;br/&gt;
    Default: &quot;&quot;&lt;/li&gt;
	&lt;li&gt;`topic.namespace.map`&lt;br/&gt;
    A json map to maps change stream document namespaces to topics:&lt;br/&gt;
    For example: `
{\&quot;db\&quot;: \&quot;dbTopic\&quot;, \&quot;db.coll\&quot;: \&quot;dbCollTopic\&quot;}
&lt;p&gt;` will map all change stream documents from the `db` database to `dbTopic.&amp;lt;collectionName&amp;gt;` apart from any documents from the `db.coll` namespace which map to the `dbCollTopic` topic.&lt;br/&gt;
    Default: &quot;&quot;&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;`topic.mapper` - use an alternative mapping class, users can implement their own `TopicMapper` class to handle the mapping logic.&lt;br/&gt;
    Default: com.mongodb.kafka.connect.source.topic.mapping.DefaultTopicMapper&lt;/li&gt;
&lt;/ul&gt;
</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>KAFKA-47</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hycfuf:</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>