> On June 9, 2015, 6:49 p.m., Jay Kreps wrote:
> > clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java,
> > line 322
> > <https://reviews.apache.org/r/34789/diff/8/?file=980075#file980075line322>
> >
> > Do we need this? There is no real guarantee on the poll time, so it
> > seems that we could just return when wakeup is called.
>
> Jason Gustafson wrote:
> You might be waking up from a synchronous commit, for example. In that
> case, all we can do is raise an exception. We could alternatively say that
> wakeup only applies to the poll() method and cannot be used to interrupt the
> other calls.
>
> Jun Rao wrote:
> If poll just returns on wakeup, how would the caller know if there is an
> intention to close the consumer?
I think the user would have to use a separate flag to indicate their intention
to close. Then their shutdown hook would first set the flag, then call
wakeup(). The polling thread then might look like this:
```
KakfaConsumer consumer = new KafkaConsumer()
try {
consumer.subscribe("foo");
while (!closed) {
records = consumer.poll(5000)
// Do something with the records
}
} finally {
consumer.close();
}
```
- Jason
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/34789/#review87257
-----------------------------------------------------------
On June 5, 2015, 7:45 p.m., Jason Gustafson wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/34789/
> -----------------------------------------------------------
>
> (Updated June 5, 2015, 7:45 p.m.)
>
>
> Review request for kafka.
>
>
> Bugs: KAFKA-2168
> https://issues.apache.org/jira/browse/KAFKA-2168
>
>
> Repository: kafka
>
>
> Description
> -------
>
> KAFKA-2168; refactored callback handling to prevent unnecessary requests
>
>
> KAFKA-2168; address review comments
>
>
> KAFKA-2168; fix rebase error and checkstyle issue
>
>
> KAFKA-2168; address review comments and add docs
>
>
> KAFKA-2168; handle polling with timeout 0
>
>
> KAFKA-2168; timeout=0 means return immediately
>
>
> Diffs
> -----
>
> clients/src/main/java/org/apache/kafka/clients/consumer/Consumer.java
> 8f587bc0705b65b3ef37c86e0c25bb43ab8803de
>
> clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerRecords.java
> 1ca75f83d3667f7d01da1ae2fd9488fb79562364
>
> clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerWakeupException.java
> PRE-CREATION
> clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java
> d1d1ec178f60dc47d408f52a89e52886c1a093a2
> clients/src/main/java/org/apache/kafka/clients/consumer/MockConsumer.java
> f50da825756938c193d7f07bee953e000e2627d9
>
> clients/src/main/java/org/apache/kafka/clients/consumer/OffsetResetStrategy.java
> PRE-CREATION
>
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/BrokerResult.java
> PRE-CREATION
>
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/Coordinator.java
> c1496a0851526f3c7d3905ce4bdff2129c83a6c1
>
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/CoordinatorResult.java
> PRE-CREATION
>
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/DelayedResult.java
> PRE-CREATION
>
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java
> 56281ee15cc33dfc96ff64d5b1e596047c7132a4
>
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/Heartbeat.java
> e7cfaaad296fa6e325026a5eee1aaf9b9c0fe1fe
>
> clients/src/main/java/org/apache/kafka/clients/consumer/internals/SubscriptionState.java
> cee75410127dd1b86c1156563003216d93a086b3
>
> clients/src/test/java/org/apache/kafka/clients/consumer/MockConsumerTest.java
> 677edd385f35d4262342b567262c0b874876d25b
>
> clients/src/test/java/org/apache/kafka/clients/consumer/internals/CoordinatorTest.java
> b06c4a73e2b4e9472cd772c8bc32bf4a29f431bb
>
> clients/src/test/java/org/apache/kafka/clients/consumer/internals/FetcherTest.java
> 419541011d652becf0cda7a5e62ce813cddb1732
>
> clients/src/test/java/org/apache/kafka/clients/consumer/internals/HeartbeatTest.java
> ecc78cedf59a994fcf084fa7a458fe9ed5386b00
>
> clients/src/test/java/org/apache/kafka/clients/consumer/internals/SubscriptionStateTest.java
> e000cf8e10ebfacd6c9ee68d7b88ff8c157f73c6
>
> Diff: https://reviews.apache.org/r/34789/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Jason Gustafson
>
>