summaryrefslogtreecommitdiff
path: root/kafka/client_async.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove a few unused imports (#1188)James Lamb2017-08-291-1/+2
| | | | | * Removed a few unused imports * Added note on socketpair monkey-path
* BrokerConnection receive bytes pipe (#1032)Dana Powers2017-08-151-13/+3
|
* Drop unused sleep kwarg to poll (#1177)Dana Powers2017-08-151-9/+3
|
* Select on sockets to avoid busy polling during bootstrap (#1175)Dana Powers2017-08-131-0/+2
|
* KIP-144: Exponential backoff for broker reconnections (#1124)Dana Powers2017-06-191-19/+14
|
* Fixup for #1085 -- only check for changed metadata on disconnected nodesDana Powers2017-06-181-17/+23
|
* Deal with brokers that disappear, reappear with different IP address (#1085)Mike Fischer2017-06-181-1/+12
| | | | | | | | | | | | | | | | | | | | When KafkaClient connects to a broker in _maybe_connect, it inserts into self._conns a BrokerConnection configured with the current host/port for that node. The BrokerConnection remains there forever, though, so if the broker's IP or host ever changes, KafkaClient has no way to deal with this. The fix is to compare the latest metadata with the current node's connection, and if the host/IP has changed, decommission the old connection and allow a new one to be created. There's also a common race condition on broker startup where the initial metadata request sometimes returns an empty list of brokers, but subsequent requests behave normally. So, we must deal with broker being None here. This change is conservative in that it doesn't remove the connection from self._conns unless the new broker metadata contains an entry for that same node with a new IP/port.
* Timeout idle connections via connections_max_idle_ms (#1068)Dana Powers2017-04-101-1/+94
|
* Avoid multiple connection attempts when refreshing metadata (#1067)Dana Powers2017-04-051-44/+48
|
* Catch socket.errors when sending / recving bytes on wake socketpair (#1069)Dana Powers2017-04-051-2/+4
|
* Fix poll() hyperlink in KafkaClientJeff Widman2017-03-291-1/+1
| | | Previously Sphinx was auto-linking to `poll()` in `KafkaConsumer`, so made the link explicit.
* Fix typo (#1054)Jeff Widman2017-03-271-1/+1
|
* Derive all api classes from Request / Response base classes (#1030)Dana Powers2017-03-141-6/+1
|
* Add optional kwarg to ready and is_ready to disable metadata-priority logic ↵Dana Powers2017-03-081-7/+16
| | | | (#1017)
* Add ClusterMetadata documentationDana Powers2017-03-071-0/+4
|
* Fixup comment reference to _maybe_connectDana Powers2017-03-071-1/+1
|
* Add client info logging re bootstrap; log connection attempts to balance ↵Dana Powers2017-03-061-0/+3
| | | | with close
* Added `max_bytes` option and FetchRequest_v3 usage. (#962)Taras Voinarovskyi2017-03-061-0/+2
| | | | * Added `max_bytes` option and FetchRequest_v3 usage. * Add checks for versions above 0.10 based on ApiVersionResponse
* Fix BrokerConnection api_version docs default (#909)Jeff Widman2017-02-281-4/+4
|
* PEP-8: Spacing & removed unused imports (#899)Jeff Widman2017-02-091-11/+11
|
* Move docstring so it shows up in Sphinx/RTD (#952)Jeff Widman2017-01-211-83/+83
|
* Use connection state functions where possibleDana Powers2017-01-191-3/+3
|
* Pass error to BrokerConnection.close()Dana Powers2017-01-191-1/+1
|
* Fix possible request draining in ensure_active_group (#896)Dana Powers2016-12-021-9/+10
|
* DOC: Fix typo 'Defualt' -> 'Default'. (#895)Rolando (Max) Espinoza2016-11-301-1/+1
|
* setting proper topic value in case if it's empty (#867)Alexander Sibiryakov2016-11-181-11/+4
|
* Always check for request timeouts (#887)Dana Powers2016-11-181-0/+8
| | | | * Check for requests that timeout without causing a socket read/write event
* Fix typosJeff Widman2016-11-141-2/+2
|
* Added ssl_password config option to KafkaProducer class, identical to… (#830)kierkegaard132016-09-151-0/+2
| | | | | | | | * Added ssl_password config option to KafkaProducer class, identical to option in KafkaConsumer class * removed non-ascii characters * changed - to : in comments
* Instrument metrics in BrokerConnectionDana Powers2016-08-041-0/+2
|
* Add connection-count to KafkaClient metricsDana Powers2016-08-041-3/+12
|
* Add connection-creation-rate / connection-close-rate to KafkaClientMetricsDana Powers2016-08-041-0/+13
|
* Fix misspelling of "password" (#793)Samuel Taylor2016-08-041-1/+1
|
* Ignore socket.error when checking for protocol out of sync prior to socket ↵Dana Powers2016-08-031-4/+7
| | | | close (#792)
* implement sasl PLAIN mechanismLars Jørgen Solberg2016-08-031-0/+10
|
* Vendor six 1.10.0sixDana Powers2016-08-011-1/+1
|
* Move kafka.socketpair to kafka.vendor.socketpairDana Powers2016-08-011-1/+1
|
* Move kafka.selectors34 to kafka.vendor.selectors34Dana Powers2016-08-011-1/+1
|
* Use socket_options configuration to setsockopts(). Default TCP_NODELAY (#783)Dana Powers2016-08-011-7/+11
|
* Add KafkaClient metricsmore_metricsDana Powers2016-07-171-1/+51
|
* Explicit format string argument indices for python 2.6 compatibilityDana Powers2016-07-171-1/+1
|
* Expose selector type as config option (#764)Dana Powers2016-07-161-1/+5
|
* Protect writes to wakeup socket with threading lock (#763 / #709)Dana Powers2016-07-161-2/+6
|
* Use MetadataRequest v1 for 0.10+ api_versionmetadata_v1Dana Powers2016-07-161-3/+14
|
* Add api_version config to KafkaClient, deprecate str in favor of tuples (#761)Dana Powers2016-07-161-2/+28
|
* Add ssl_password to default_config dicts. Send ssl_password when loading ↵Ashley McKemie2016-07-081-0/+1
| | | | cert chains (#750)
* Wakeup socket optimizations (#740)Dana Powers2016-06-261-1/+1
|
* Avoid busy poll during metadata refresh failure with retry_backoff_ms (#733)Dana Powers2016-06-201-30/+43
|
* check_version should scan nodes until version found or timeout (#731)Dana Powers2016-06-191-12/+41
| | | | | * Mute all connection logging during conn.check_version * Always process pending MetadataRequest in conn.check_version * KakfaClient.check_version: Scan all brokers until a version is identified or timeout
* Update KafkaClient.least_loaded_node (#730)Dana Powers2016-06-181-23/+17
| | | | | | - Main node loop should check all known brokers, not just conn objects, which is consistent with the official java client. - This fixes a bug which could cause least_loaded_node to always return the same unavailable node