ableegoldman commented on code in PR #16265:
URL: https://github.com/apache/kafka/pull/16265#discussion_r1638741752


##########
docs/streams/upgrade-guide.html:
##########
@@ -134,11 +134,38 @@ <h3 class="anchor-heading"><a 
id="streams_notable_changes" class="anchor-link"><
     </p>
 
     <h4><a id="streams_api_changes_380" 
href="#streams_api_changes_380">Streams API changes in 3.8.0</a></h3>
+
+    <p>
+        Kafka Streams now supports customizable task assignment strategies via 
the <code>task.assignor.class</code>
+        configuration. The configuration can be set to the fully qualified 
class name of a custom task assignor
+        implementation that has to extend the new
+        
<code>org.apache.kafka.streams.processor.assignment.TaskAssignor</code> 
interface.
+
+        The new configuration also allows users to bring back the behavior of 
the old task assignor
+        <code>StickyTaskAssignor</code> that was used before the introduction 
if
+        <code>HighAvailabilityTaskAssignor</code>. If no custom task assignor 
is configured, the default task assignor
+        <code>HighAvailabilityTaskAssignor</code> is used.
+
+        This change also removes the internal config 
<code>internal.task.assignor.class</code> that was used for the same
+        purpose. If you were using this config, you should switch to using 
<code>task.assignor.class</code> instead.

Review Comment:
   @lucasbru  alright, just merged that PR to 3.8. Here's where 3.8 stands:
   
   1. has _not_ removed the old `internal.task.assignor` config, though we want 
to encourage anyone using that to  migrate to the new public config instead. 
should say something like "If you were using the old 
`internal.task.assignor.class` config, you should switch to using the new 
`task.assignor.class` config instead"
   2. renamed the old TaskAssignor interface (which goes with the old  
`internal.task.assignor` config) to the LegacyTaskAssignor (don't need to say 
anything about this in the docs, just adding it for context)
   3. renamed the old StickyTaskAssignor (which implements the 
LegacyTaskAssignor) to the LegacyStickyTaskAssignor, so "StickyTaskAssignor" 
now refers to (only) the new version of this assignor which implements the new 
TaskAssignor interface. For the docs, we should mention something like "If you 
were previously plugging in the StickyTaskAssignor via the old 
`internal.task.assignor.class` config, you will need to make sure that you are 
importing the new version of the StickyTaskAssignor when you switch over to the 
new `task.assignor.class` config"



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to