Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix #1985: fix consumer deadlock when heartbeat thread request timeout (#2064) | huangcuiyang | 2020-09-07 | 1 | -8/+12 |
| | |||||
* | remove unused imports | James Lamb | 2020-07-10 | 1 | -1/+0 |
| | |||||
* | Log retriable coordinator NodeNotReady, TooManyInFlightRequests as debug not ↵ | Dana Powers | 2019-12-29 | 1 | -2/+5 |
| | | | | error (#1975) | ||||
* | Fix simple typo: managementment -> management | Tim Gates | 2019-12-08 | 1 | -1/+1 |
| | | | | Closes #1965 | ||||
* | Change coordinator lock acquisition order (#1821) | Dana Powers | 2019-09-29 | 1 | -42/+36 |
| | |||||
* | Wrap consumer.poll() for KafkaConsumer iteration (#1902) | Dana Powers | 2019-09-28 | 1 | -1/+5 |
| | |||||
* | Use dedicated connection for group coordinator (#1822) | Dana Powers | 2019-06-19 | 1 | -3/+3 |
| | | | This changes the coordinator_id to be a unique string, e.g., `coordinator-1`, so that it will get a dedicated connection. This won't eliminate lock contention because the client lock applies to all connections, but it should improve in-flight-request contention. | ||||
* | Attempt to join heartbeat thread during close() (#1735) | Dana Powers | 2019-03-13 | 1 | -3/+6 |
| | | | | | | | Underlying issue here is a race on consumer.close() between the client, the connections/sockets, and the heartbeat thread. Although the heartbeat thread is signaled to close, we do not block for it. So when we go on to close the client and its underlying connections, if the heartbeat is still doing work it can cause errors/crashes if it attempts to access the now closed objects (selectors and/or sockets, primarily). So this commit adds a blocking thread join to the heartbeat close. This may cause some additional blocking time on consumer.close() while the heartbeat thread finishes. But it should be small in average case and in the worst case will be no longer than the heartbeat_timeout_ms (though if we timeout the join, race errors may still occur). Fix #1666 | ||||
* | Do network connections and writes in KafkaClient.poll() (#1729) | Dana Powers | 2019-03-08 | 1 | -2/+2 |
| | | | | | | * Add BrokerConnection.send_pending_requests to support async network sends * Send network requests during KafkaClient.poll() rather than in KafkaClient.send() * Dont acquire lock during KafkaClient.send if node is connected / ready * Move all network connection IO into KafkaClient.poll() | ||||
* | Improve KafkaConsumer join group / only enable Heartbeat Thread during ↵ | Dana Powers | 2019-01-15 | 1 | -11/+23 |
| | | | | stable group (#1695) | ||||
* | (Attempt to) Fix deadlock between consumer and heartbeat (#1628) | Dana Powers | 2018-11-10 | 1 | -1/+1 |
| | |||||
* | Always acquire client lock before coordinator lock to avoid deadlocks (#1464) | Dana Powers | 2018-04-18 | 1 | -59/+64 |
| | |||||
* | Heartbeat thread start / close | Dana Powers | 2018-03-23 | 1 | -2/+4 |
| | |||||
* | Change levels for some heartbeat thread logging | Dana Powers | 2018-03-23 | 1 | -3/+3 |
| | |||||
* | Check for immediate failure when looking up coordinator in heartbeat thread ↵ | Dana Powers | 2018-03-23 | 1 | -1/+5 |
| | | | | (#1457) | ||||
* | KAFKA-5512; Awake the heartbeat thread when timetoNextHeartbeat is equal to ↵ | Dana Powers | 2018-03-10 | 1 | -0/+4 |
| | | | | 0 (#1439) | ||||
* | use absolute imports everywhere (#1362) | Kevin Tindall | 2018-02-06 | 1 | -7/+7 |
| | |||||
* | KAFKA-3949: Avoid race condition when subscription changes during rebalance ↵ | Dana Powers | 2018-02-02 | 1 | -11/+13 |
| | | | | (#1364) | ||||
* | Name heartbeat thread with group_id; use backoff when polling (#1345) | Dana Powers | 2018-01-16 | 1 | -1/+1 |
| | |||||
* | Fix coordinator join_future race condition (#1338) | Dana Powers | 2018-01-11 | 1 | -4/+8 |
| | | | * Fix race condition in coordinator join_future handling | ||||
* | Improve KafkaConsumer cleanup (#1339) | Dana Powers | 2018-01-10 | 1 | -11/+27 |
| | |||||
* | KAFKA-3888 Use background thread to process consumer heartbeats (#1266) | Dana Powers | 2017-12-21 | 1 | -238/+436 |
| | |||||
* | Handle lookup_coordinator send failures (#1279) | Dana Powers | 2017-10-24 | 1 | -5/+11 |
| | |||||
* | KAFKA-4034: Avoid unnecessary consumer coordinator lookup (#1254) | Dana Powers | 2017-10-11 | 1 | -4/+19 |
| | |||||
* | Use for join-time-max and sync-time-max metrics Max() measure function (#1146) | Alexey Pervushin | 2017-07-20 | 1 | -2/+2 |
| | |||||
* | Backoff on unavailable group coordinator retry (#1125) | Dana Powers | 2017-06-19 | 1 | -0/+2 |
| | |||||
* | Additional docstrings for autocommit close option | Dana Powers | 2017-03-13 | 1 | -2/+2 |
| | |||||
* | Short-circuit group coordinator requests when NodeNotReady (#995) | Dana Powers | 2017-03-09 | 1 | -0/+23 |
| | |||||
* | Avoid unknown coordinator after client poll (#1023) | Dana Powers | 2017-03-09 | 1 | -7/+6 |
| | |||||
* | For 0.8.2, only attempt connection to coordinator if least_loaded_node succeeds | Dana Powers | 2017-03-07 | 1 | -1/+2 |
| | |||||
* | Minor additional logging for consumer coordinator | Dana Powers | 2017-03-06 | 1 | -0/+2 |
| | |||||
* | Dont refresh metadata on failed group coordinator request unless needed (#1006) | Dana Powers | 2017-03-03 | 1 | -6/+4 |
| | |||||
* | Add sphinx formatting to hyperlink methods (#898) | Jeff Widman | 2017-03-03 | 1 | -5/+5 |
| | |||||
* | PEP-8: Spacing & removed unused imports (#899) | Jeff Widman | 2017-02-09 | 1 | -6/+6 |
| | |||||
* | Fix possible request draining in ensure_active_group (#896) | Dana Powers | 2016-12-02 | 1 | -3/+6 |
| | |||||
* | Always include an error for logging when the coordinator is marked dead (#890) | Dana Powers | 2016-11-18 | 1 | -7/+7 |
| | |||||
* | Drain pending requests to the coordinator before initiating group rejoin (#798) | Dana Powers | 2016-08-04 | 1 | -0/+8 |
| | |||||
* | Change coordinator.needs_join_prepare -> coordinator.rejoining; fix consumer ↵ | Dana Powers | 2016-08-04 | 1 | -4/+4 |
| | | | | group test (#795) | ||||
* | Treat metric_group_prefix as config in KafkaConsumer | Dana Powers | 2016-08-04 | 1 | -2/+3 |
| | |||||
* | Vendor six 1.10.0six | Dana Powers | 2016-08-01 | 1 | -1/+1 |
| | |||||
* | Add base coordinator metrics | Dana Powers | 2016-07-17 | 1 | -70/+71 |
| | |||||
* | Fix KafkaConsumer autocommit for 0.8 brokers (#756 / #706) | Dana Powers | 2016-07-16 | 1 | -0/+9 |
| | | | | * Dont wait for group join to enable AutoCommitTask if broker version < 0.9 * For zookeeper offset storage, set a "coordinator" with least_loaded_node | ||||
* | Avoid some exceptions in Coordinator.__del__ (#668) | Dana Powers | 2016-04-25 | 1 | -1/+2 |
| | |||||
* | Changing some commented out metrics to avoid future gotchas. | Zack Dever | 2016-04-13 | 1 | -3/+3 |
| | |||||
* | Default sleep=True in client.poll | Dana Powers | 2016-04-08 | 1 | -1/+1 |
| | |||||
* | Can no longer have coordinator_id if coordinator_unknown() | Dana Powers | 2016-04-08 | 1 | -6/+0 |
| | |||||
* | Use version-indexed lists for request/response protocol structsprotocol_versions | Dana Powers | 2016-04-05 | 1 | -15/+14 |
| | |||||
* | KAFKA-3318: clean up consumer logging and error messages | Dana Powers | 2016-04-05 | 1 | -36/+42 |
| | |||||
* | Update imports from kafka.common -> kafka.errors / kafka.structs | Dana Powers | 2016-04-05 | 1 | -1/+1 |
| | |||||
* | Improve Coordinator Error handling | Dana Powers | 2016-04-04 | 1 | -8/+14 |
| | | | | | | | - coordinator_unknown() should not check ready(node_id) - dont mark coordinator dead on not-ready or inflight-requests errors - improve coordinator and heartbeat logging - dont gate group metadata requests on ready() check [conn handles now] |