[
https://issues.apache.org/jira/browse/KAFKA-537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yang Ye updated KAFKA-537:
--------------------------
Attachment: kafka_537_v3.diff
Thanks for the comments, to address then:
1. ConsumerConfig
1. Every config value has a comment explaining its purpose. Please can you add
this for the new config "clientid" ?
--- added
2. I wonder if specifying a default value of empty string is useful ? Maybe
groupid makes more sense or no default at all.
--- Agree, empty string is not meaningful at all. So what about set it default
to groupid, also this empty string "DefaultClientId" is kept and used as
default value of FetchRequest and FetchRequestBuilder. (This default value is
only used in testing, when used by real consumer, the clientId will be set to
the clientId of the consumer config
2. FetchRequest
2.1 According to coding convention, every constant is in camel case with first
letter capital. Please can you change replicaFetcherClientId to
ReplicaFetcherClientId ?
--- changed
3. KafkaApis
3.1 Fix the typo - private def appendToLocalLog(producerRquest:
ProducerRequest): Iterable[ProduceResult] = {
--- new patch does not affect KafkaApis.scala now, it should be addressed in
other patches
3.2 Let's fix the requestLogger to print the clientId. This allows us to have a
meaningful access log for Kafka where requests can be traced back to client ids.
--- in requestLogger.trace("Handling fetch request " + fetchRequest.toString),
the fetchRequest.toString should also contain the clientId, so I think we don't
need do it separately
4. ReplicaFetcherThread
4.1 Every replica's clientId is "replica fetcher". I wonder if we can add the
replica's id/host/both to the replica's client id. This will allow us to
differentiate amongst requests from the various replicas at the leader.
--- added broker host and port in the clientId
5. FetchRequestBuilder
Right now, we are depending on the user to not re-create the
FetchRequestBuilder each time. How about making the builder a singleton so that
is not possible ? That way, we can guarantee that it is initialized to 0 only
one per client.
--- We cannot make it a singleton because the fetchMap within each request
builder cannot be shared
> expose clientId and correlationId in ConsumerConfig
> ---------------------------------------------------
>
> Key: KAFKA-537
> URL: https://issues.apache.org/jira/browse/KAFKA-537
> Project: Kafka
> Issue Type: Bug
> Components: core
> Affects Versions: 0.8
> Reporter: Jun Rao
> Assignee: Yang Ye
> Labels: bugs, newbie
> Fix For: 0.8
>
> Attachments: kafka_537_v1.diff, kafka_537_v2.diff, kafka_537_v3.diff
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> We need to expose clientId and correlationId in ConsumerConfig and use it
> properly in AbstractFetcherThread. For follower fetchers, we should set the
> clientId to a special string, something list "follower".
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira