分布式发布-订阅消息系统 Apache Kafka v0.10.0.0 发布

jopen 8年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/a47ea349e1b790116c4a28e64a192461.png" /></p>    <p>Apache Kafka是分布式发布-订阅消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。之后成为Apache项目的一部分。 现在它已被多家公司作为多种类型的数据管道和消息系统使用。活动流数据是几乎所有站点在对 其网站使用情况做报表时都要用到的数据中最常规的部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。</p>    <p> </p>    <p>Apache Kafka与传统消息系统相比,有以下不同:</p>    <ul>     <li>它被设计为一个分布式系统,易于向外扩展;</li>     <li>它同时为发布和订阅提供高吞吐量;</li>     <li>它支持多订阅者,当失败时能自动平衡消费者;</li>     <li>它将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。</li>    </ul>    <p><img alt="" src="https://simg.open-open.com/show/416db5f282cf16259bc59ba674ecf321.png" /></p>    <h2>更新日志</h2>    <h2>Sub-task</h2>    <ul>     <li>[<a href="/misc/goto?guid=4958990673001283011">KAFKA-2068</a>] - Replace OffsetCommit Request/Response with org.apache.kafka.common.requests equivalent</li>     <li>[<a href="/misc/goto?guid=4958990673100972831">KAFKA-2069</a>] - Replace OffsetFetch request/response with their org.apache.kafka.common.requests equivalent</li>     <li>[<a href="/misc/goto?guid=4958990673201434627">KAFKA-2070</a>] - Replace OffsetRequest/response with ListOffsetRequest/response from org.apache.kafka.common.requests</li>     <li>[<a href="/misc/goto?guid=4958990673295562186">KAFKA-2071</a>] - Replace Produce Request/Response with their org.apache.kafka.common.requests equivalents</li>     <li>[<a href="/misc/goto?guid=4958990673391009023">KAFKA-2072</a>] - Add StopReplica request/response to o.a.k.common.requests and replace the usage in core module</li>     <li>[<a href="/misc/goto?guid=4958990673486797081">KAFKA-2073</a>] - Replace TopicMetadata request/response with o.a.k.requests.metadata</li>     <li>[<a href="/misc/goto?guid=4958990673577248574">KAFKA-2370</a>] - Add pause/unpause connector support</li>     <li>[<a href="/misc/goto?guid=4958990673668998110">KAFKA-2422</a>] - Allow copycat connector plugins to be aliased to simpler names</li>     <li>[<a href="/misc/goto?guid=4958990673776536813">KAFKA-2479</a>] - Add CopycatExceptions to indicate transient and permanent errors in a connector/task</li>     <li>[<a href="/misc/goto?guid=4958990673865205190">KAFKA-2508</a>] - Replace UpdateMetadata{Request,Response} with org.apache.kafka.common.requests equivalent</li>     <li>[<a href="/misc/goto?guid=4958990673958192552">KAFKA-2509</a>] - Replace LeaderAndIsr{Request,Response} with org.apache.kafka.common.network.requests equivalent</li>     <li>[<a href="/misc/goto?guid=4958990674075864728">KAFKA-2591</a>] - Remove Persistent Data before Restoringafter a Fault</li>     <li>[<a href="/misc/goto?guid=4958990674208790524">KAFKA-2592</a>] - Stop Writing the Change-log in store.put() / delete() for Non-transactional Store</li>     <li>[<a href="/misc/goto?guid=4958990674342429854">KAFKA-2593</a>] - KeyValueStores should not require use of the context's default serializers and deserializers</li>     <li>[<a href="/misc/goto?guid=4958990674471559152">KAFKA-2594</a>] - Add a key-value store that is a fixed-capacity in-memory LRU cache</li>     <li>[<a href="/misc/goto?guid=4958990674601586561">KAFKA-2600</a>] - Make KStream interfaces compatible with Java 8 java.util.function</li>     <li>[<a href="/misc/goto?guid=4958990674708323117">KAFKA-2642</a>] - Run replication tests in ducktape with SSL for clients</li>     <li>[<a href="/misc/goto?guid=4958990674821504522">KAFKA-2643</a>] - Run mirror maker tests in ducktape with SSL and SASL</li>     <li>[<a href="/misc/goto?guid=4958990674963671460">KAFKA-2649</a>] - Add support for custom partitioner in sink nodes</li>     <li>[<a href="/misc/goto?guid=4958990675090579884">KAFKA-2652</a>] - Incorporate the new consumer protocol with partition-group interface</li>     <li>[<a href="/misc/goto?guid=4958990675227312966">KAFKA-2653</a>] - Stateful operations in the KStream DSL layer</li>     <li>[<a href="/misc/goto?guid=4958990675345026464">KAFKA-2654</a>] - Avoid calling Consumer.poll(0) in each iteration</li>     <li>[<a href="/misc/goto?guid=4958990675465545360">KAFKA-2658</a>] - Implement SASL/PLAIN</li>     <li>[<a href="/misc/goto?guid=4958990675586434328">KAFKA-2667</a>] - Copycat KafkaBasedLogTest.testSendAndReadToEnd transient failure</li>     <li>[<a href="/misc/goto?guid=4958990675696129985">KAFKA-2693</a>] - Run relevant ducktape tests with SASL/PLAIN and multiple mechanisms</li>     <li>[<a href="/misc/goto?guid=4958990675802204384">KAFKA-2694</a>] - Make a task id be a composite id of a topic group id and a partition id</li>     <li>[<a href="/misc/goto?guid=4958990675909399353">KAFKA-2698</a>] - add paused API</li>     <li>[<a href="/misc/goto?guid=4958990676038043550">KAFKA-2706</a>] - Make state stores first class citizens in the processor DAG</li>     <li>[<a href="/misc/goto?guid=4958990676173031031">KAFKA-2707</a>] - Make KStream processor names deterministic</li>     <li>[<a href="/misc/goto?guid=4958990676297339964">KAFKA-2718</a>] - Reuse of temporary directories leading to transient unit test failures</li>     <li>[<a href="/misc/goto?guid=4958990676428532519">KAFKA-2727</a>] - initialize only the part of the topology relevant to the task</li>     <li>[<a href="/misc/goto?guid=4958990676558758233">KAFKA-2733</a>] - Distinguish metric names inside the sensor registry</li>     <li>[<a href="/misc/goto?guid=4958990676682609619">KAFKA-2763</a>] - Reduce stream task migrations and initialization costs</li>     <li>[<a href="/misc/goto?guid=4958990676806482906">KAFKA-2802</a>] - Add integration tests for Kafka Streams</li>     <li>[<a href="/misc/goto?guid=4958990676940026395">KAFKA-2804</a>] - Create / Update changelog topics upon state store initialization</li>     <li>[<a href="/misc/goto?guid=4958990677063318776">KAFKA-2811</a>] - Add standby tasks</li>     <li>[<a href="/misc/goto?guid=4958990677151166788">KAFKA-2837</a>] - FAILING TEST: kafka.api.ProducerBounceTest > testBrokerFailure</li>     <li>[<a href="/misc/goto?guid=4958990677271427988">KAFKA-2839</a>] - Kafka connect log test failing</li>     <li>[<a href="/misc/goto?guid=4958990677399556971">KAFKA-2856</a>] - add KTable</li>     <li>[<a href="/misc/goto?guid=4958990677523583906">KAFKA-2910</a>] - Failure in kafka.api.SslEndToEndAuthorizationTest.testNoGroupAcl</li>     <li>[<a href="/misc/goto?guid=4958990677658079238">KAFKA-2962</a>] - Add Simple Join API</li>     <li>[<a href="/misc/goto?guid=4958990677775699586">KAFKA-2982</a>] - Mark the old Scala producer and related classes as deprecated</li>     <li>[<a href="/misc/goto?guid=4958990677901971211">KAFKA-2984</a>] - KTable should send old values along with new values to downstreams</li>     <li>[<a href="/misc/goto?guid=4958990678045066201">KAFKA-3016</a>] - Add KStream-KStream window joins</li>     <li>[<a href="/misc/goto?guid=4958990678171095412">KAFKA-3020</a>] - Ensure Checkstyle runs on all Java code</li>     <li>[<a href="/misc/goto?guid=4958990678285384730">KAFKA-3021</a>] - Centralize dependency version managment</li>     <li>[<a href="/misc/goto?guid=4958990678402993230">KAFKA-3022</a>] - Deduplicate common project configurations</li>     <li>[<a href="/misc/goto?guid=4958990678514602974">KAFKA-3025</a>] - KIP-31&KIP-32 (part 1): Add timestamp field to message, configs, and Producer/ConsumerRecord</li>     <li>[<a href="/misc/goto?guid=4958990678623683008">KAFKA-3026</a>] - KIP-32 (part 2): Changes in broker to over-write timestamp or reject message</li>     <li>[<a href="/misc/goto?guid=4958990678725913695">KAFKA-3030</a>] - Remove unused scala dependencies</li>     <li>[<a href="/misc/goto?guid=4958990678849362981">KAFKA-3036</a>] - Add up-conversion and down-conversion of ProducerRequest and FetchRequest to broker.</li>     <li>[<a href="/misc/goto?guid=4958990678969195857">KAFKA-3060</a>] - Refactor MeteredXXStore</li>     <li>[<a href="/misc/goto?guid=4958990679087838840">KAFKA-3063</a>] - LogRecoveryTest exits with -1 occasionally</li>     <li>[<a href="/misc/goto?guid=4958990679211466659">KAFKA-3066</a>] - Add Demo Examples for Kafka Streams</li>     <li>[<a href="/misc/goto?guid=4958990679310983301">KAFKA-3078</a>] - Add ducktape tests for KafkaLog4jAppender producing to SASL enabled Kafka cluster</li>     <li>[<a href="/misc/goto?guid=4958990679425393075">KAFKA-3081</a>] - KTable Aggregation Implementation</li>     <li>[<a href="/misc/goto?guid=4958990679539988196">KAFKA-3104</a>] - Windowed Stream Aggregation Implementation</li>     <li>[<a href="/misc/goto?guid=4958990679654866980">KAFKA-3108</a>] - KStream custom StreamPartitioner for windowed key</li>     <li>[<a href="/misc/goto?guid=4958990679763486557">KAFKA-3121</a>] - KStream DSL API Improvement</li>     <li>[<a href="/misc/goto?guid=4958990679873395246">KAFKA-3125</a>] - Exception Hierarchy for Streams</li>     <li>[<a href="/misc/goto?guid=4958990679993149378">KAFKA-3133</a>] - Add putIfAbsent function to KeyValueStore</li>     <li>[<a href="/misc/goto?guid=4958990680109883011">KAFKA-3136</a>] - Rename KafkaStreaming to KafkaStreams</li>     <li>[<a href="/misc/goto?guid=4958990680216529637">KAFKA-3142</a>] - Improve error message in kstreams</li>     <li>[<a href="/misc/goto?guid=4958990680328872189">KAFKA-3153</a>] - Serializer/Deserializer Registration and Type inference</li>     <li>[<a href="/misc/goto?guid=4958990680446475585">KAFKA-3165</a>] - Fix ignored parameters in the gradle "All" tasks</li>     <li>[<a href="/misc/goto?guid=4958990680532641645">KAFKA-3187</a>] - Make kafka-acls.sh help messages more generic.</li>     <li>[<a href="/misc/goto?guid=4958990680637746360">KAFKA-3188</a>] - Add system test for KIP-31 and KIP-32 - Compatibility Test</li>     <li>[<a href="/misc/goto?guid=4958990680741486257">KAFKA-3192</a>] - Add implicit unlimited windowed aggregation for KStream</li>     <li>[<a href="/misc/goto?guid=4958990680850525667">KAFKA-3201</a>] - Add system test for KIP-31 and KIP-32 - Upgrade Test</li>     <li>[<a href="/misc/goto?guid=4958990680982460555">KAFKA-3202</a>] - Add system test for KIP-31 and KIP-32 - Change message format version on the fly</li>     <li>[<a href="/misc/goto?guid=4958990681104004218">KAFKA-3245</a>] - need a way to specify the number of replicas for change log topics</li>     <li>[<a href="/misc/goto?guid=4958990681218980187">KAFKA-3276</a>] - Rename 0.10.0.0 to 0.10.1.0 and 0.9.1.0 to 0.10.0.0 in JIRA</li>     <li>[<a href="/misc/goto?guid=4958990681354574655">KAFKA-3277</a>] - Update trunk version to be 0.10.0.0-SNAPSHOT</li>     <li>[<a href="/misc/goto?guid=4958990681475999660">KAFKA-3286</a>] - Add plugin to quickly check for outdated dependencies</li>     <li>[<a href="/misc/goto?guid=4958990681602930939">KAFKA-3289</a>] - Update Kafka protocol guide wiki for KIP-31 / KIP-32</li>     <li>[<a href="/misc/goto?guid=4958990681725915316">KAFKA-3306</a>] - Change metadata response to include required additional fields</li>     <li>[<a href="/misc/goto?guid=4958990681848270593">KAFKA-3307</a>] - Add ApiVersion request/response and server side handling.</li>     <li>[<a href="/misc/goto?guid=4958990681981475552">KAFKA-3311</a>] - Move co-partition checking to PartitionAssignor and auto-create internal topics</li>     <li>[<a href="/misc/goto?guid=4958990682106221970">KAFKA-3336</a>] - Unify ser/de pair classes into one serde class</li>     <li>[<a href="/misc/goto?guid=4958990682216266901">KAFKA-3337</a>] - Extract selector as a separate groupBy operator for KTable aggregations</li>     <li>[<a href="/misc/goto?guid=4958990682346313211">KAFKA-3338</a>] - Add print and writeAsText functions to the Streams DSL</li>     <li>[<a href="/misc/goto?guid=4958990682475480386">KAFKA-3361</a>] - Initial protocol documentation page and generation</li>     <li>[<a href="/misc/goto?guid=4958990682604108517">KAFKA-3380</a>] - Add system test for GetOffsetShell tool</li>     <li>[<a href="/misc/goto?guid=4958990682736226052">KAFKA-3381</a>] - Add system test for SimpleConsumerShell</li>     <li>[<a href="/misc/goto?guid=4958990682838493863">KAFKA-3382</a>] - Add system test for ReplicationVerificationTool</li>     <li>[<a href="/misc/goto?guid=4958990682956461127">KAFKA-3395</a>] - prefix job id to internal topic names</li>     <li>[<a href="/misc/goto?guid=4958990683076299909">KAFKA-3422</a>] - Add overloading functions for each operator not requiring serialization</li>     <li>[<a href="/misc/goto?guid=4958990683189074064">KAFKA-3430</a>] - Allow users to set key in KTable.toStream() and KStream</li>     <li>[<a href="/misc/goto?guid=4958990683312034078">KAFKA-3439</a>] - Document possible exception thrown in public APIs</li>     <li>[<a href="/misc/goto?guid=4958990683426571532">KAFKA-3440</a>] - Add Javadoc for KTable (changelog stream) and KStream (record stream)</li>     <li>[<a href="/misc/goto?guid=4958990683555813818">KAFKA-3449</a>] - Rename filterOut() to filterNot() to achieve better terminology</li>     <li>[<a href="/misc/goto?guid=4958990683662775060">KAFKA-3451</a>] - Add basic HTML coverage report generation to gradle</li>     <li>[<a href="/misc/goto?guid=4958990683784036410">KAFKA-3477</a>] - Add customizable StreamPartition into #to functions of Streams DSL</li>     <li>[<a href="/misc/goto?guid=4958990683909333423">KAFKA-3497</a>] - Streams ProcessorContext should support forward() based on child name</li>     <li>[<a href="/misc/goto?guid=4958990684036953790">KAFKA-3499</a>] - byte[] should not be used as Map key nor Set member</li>     <li>[<a href="/misc/goto?guid=4958990684156110636">KAFKA-3504</a>] - Changelog partition configured to enable log compaction</li>     <li>[<a href="/misc/goto?guid=4958990684263734712">KAFKA-3505</a>] - Set curRecord in punctuate() functions</li>     <li>[<a href="/misc/goto?guid=4958990684381146721">KAFKA-3508</a>] - Transient failure in kafka.security.auth.SimpleAclAuthorizerTest.testHighConcurrencyModificationOfResourceAcls</li>     <li>[<a href="/misc/goto?guid=4958990684498002746">KAFKA-3529</a>] - Transient kafka.api.PlaintextConsumerTest.testAsyncCommit failures</li>     <li>[<a href="/misc/goto?guid=4958990684602042404">KAFKA-3598</a>] - Improve JavaDoc of public API</li>     <li>[<a href="/misc/goto?guid=4958990684722096453">KAFKA-3599</a>] - Move WindowStoreUtils to package "internals"</li>     <li>[<a href="/misc/goto?guid=4958990684854840623">KAFKA-3612</a>] - Add initial set of integration tests</li>     <li>[<a href="/misc/goto?guid=4958990684979890122">KAFKA-3662</a>] - Failure in kafka.network.SocketServerTest.tooBigRequestIsRejecte</li>    </ul>    <h2>Bug修复</h2>    <ul>     <li>[<a href="/misc/goto?guid=4958990685104525219">KAFKA-725</a>] - Broker Exception: Attempt to read with a maximum offset less than start offset</li>     <li>[<a href="/misc/goto?guid=4958990685244420403">KAFKA-1148</a>] - Delayed fetch/producer requests should be satisfied on a leader change</li>     <li>[<a href="/misc/goto?guid=4958990685355657965">KAFKA-1554</a>] - Corrupt index found on clean startup</li>     <li>[<a href="/misc/goto?guid=4958990685480682508">KAFKA-1860</a>] - File system errors are not detected unless Kafka tries to write</li>     <li>[<a href="/misc/goto?guid=4958990685628250966">KAFKA-2146</a>] - adding partition did not find the correct startIndex</li>     <li>[<a href="/misc/goto?guid=4958990685750545064">KAFKA-2157</a>] - kafka-console-consumer.sh: Mismatch in CLI "usage" docs vs. Scala Option parsing</li>     <li>[<a href="/misc/goto?guid=4958990685880078972">KAFKA-2181</a>] - online doc issues</li>     <li>[<a href="/misc/goto?guid=4958990686006302665">KAFKA-2236</a>] - offset request reply racing with segment rolling</li>     <li>[<a href="/misc/goto?guid=4958990686134272620">KAFKA-2399</a>] - Replace Stream.continually with Iterator.continually</li>     <li>[<a href="/misc/goto?guid=4958990686270221072">KAFKA-2421</a>] - Upgrade LZ4 to version 1.3 to avoid crashing with IBM Java 7</li>     <li>[<a href="/misc/goto?guid=4958990686407887419">KAFKA-2524</a>] - Examples in class javadoc use unimplemented subscribe method</li>     <li>[<a href="/misc/goto?guid=4958990686512987037">KAFKA-2551</a>] - Unclean leader election docs outdated</li>     <li>[<a href="/misc/goto?guid=4958990686648150097">KAFKA-2578</a>] - Client Metadata internal state should be synchronized</li>     <li>[<a href="/misc/goto?guid=4958990686785892756">KAFKA-2589</a>] - Documentation bug: the default value for the "rebalance.backoff.ms" property is not specified correctly</li>     <li>[<a href="/misc/goto?guid=4958990686906070947">KAFKA-2672</a>] - SendFailedException when new consumer is run with SSL</li>     <li>[<a href="/misc/goto?guid=4958990687033232230">KAFKA-2757</a>] - Consolidate BrokerEndPoint and EndPoint</li>     <li>[<a href="/misc/goto?guid=4958990687161305186">KAFKA-2784</a>] - Mirror maker should swallow exceptions during shutdown.</li>     <li>[<a href="/misc/goto?guid=4958990687307640422">KAFKA-2803</a>] - Add hard bounce system test for distributed Kafka Connect</li>     <li>[<a href="/misc/goto?guid=4958990687430812134">KAFKA-2814</a>] - Kafka Connect system tests using REST interface fail on AWS</li>     <li>[<a href="/misc/goto?guid=4958990687554045841">KAFKA-2815</a>] - unit test failure in org.apache.kafka.streams.processor.internals.KafkaStreamingPartitionAssignorTest</li>     <li>[<a href="/misc/goto?guid=4958990687665239307">KAFKA-2820</a>] - System tests: log level is no longer propagating from service classes</li>     <li>[<a href="/misc/goto?guid=4958990687791295488">KAFKA-2824</a>] - MiniKDC based tests don't run in VirtualBox</li>     <li>[<a href="/misc/goto?guid=4958990687915418692">KAFKA-2826</a>] - Make Kafka Connect ducktape services easier to extend</li>     <li>[<a href="/misc/goto?guid=4958990688040890298">KAFKA-2844</a>] - Use different keyTab for client and server in SASL tests</li>     <li>[<a href="/misc/goto?guid=4958990688165663112">KAFKA-2850</a>] - SslTransportLayerTest.testInvalidEndpointIdentification fails consistently</li>     <li>[<a href="/misc/goto?guid=4958990688293570782">KAFKA-2859</a>] - Deadlock in WorkerSourceTask</li>     <li>[<a href="/misc/goto?guid=4958990688424060559">KAFKA-2862</a>] - Incorrect help description for MirrorMaker's message.handler.args</li>     <li>[<a href="/misc/goto?guid=4958990688552345778">KAFKA-2872</a>] - Error starting KafkaStream caused by sink not being connected to parent source/processor nodes</li>     <li>[<a href="/misc/goto?guid=4958990688676456155">KAFKA-2874</a>] - zookeeper-server-stop.sh may fail to shutdown ZK and/or may stop unrelated processes</li>     <li>[<a href="/misc/goto?guid=4958990688817031578">KAFKA-2878</a>] - Kafka broker throws OutOfMemory exception with invalid join group request</li>     <li>[<a href="/misc/goto?guid=4958990688943426964">KAFKA-2886</a>] - WorkerSinkTask doesn't catch exceptions from rebalance callbacks</li>     <li>[<a href="/misc/goto?guid=4958990689069719489">KAFKA-2892</a>] - Consumer Docs Use Wrong Method</li>     <li>[<a href="/misc/goto?guid=4958990689237048045">KAFKA-2902</a>] - StreamingConfig getConsumerConfiigs uses getRestoreConsumerConfigs instead of getBaseConsumerConfigs</li>     <li>[<a href="/misc/goto?guid=4958990689391645230">KAFKA-2906</a>] - Kafka Connect javadocs not built properly</li>     <li>[<a href="/misc/goto?guid=4958990689525260232">KAFKA-2911</a>] - Replace Utils.sleep() with Time.sleep() whenever possible</li>     <li>[<a href="/misc/goto?guid=4958990689644794980">KAFKA-2912</a>] - Add error code 4 (InvalidFetchSize) to Errors.java</li>     <li>[<a href="/misc/goto?guid=4958990689768137470">KAFKA-2915</a>] - System Tests that use bootstrap.servers embedded in jinja files are not working</li>     <li>[<a href="/misc/goto?guid=4958990689887931864">KAFKA-2923</a>] - Improve 0.9.0 Upgrade Documents</li>     <li>[<a href="/misc/goto?guid=4958990690005315834">KAFKA-2926</a>] - [MirrorMaker] InternalRebalancer calls wrong method of external rebalancer</li>     <li>[<a href="/misc/goto?guid=4958990690127396158">KAFKA-2927</a>] - System tests: reduce storage footprint of collected logs</li>     <li>[<a href="/misc/goto?guid=4958990690249876469">KAFKA-2928</a>] - system tests: failures in version-related sanity checks</li>     <li>[<a href="/misc/goto?guid=4958990690370509871">KAFKA-2934</a>] - Offset storage file configuration in Connect standalone mode is not included in StandaloneConfig</li>     <li>[<a href="/misc/goto?guid=4958990690509411187">KAFKA-2960</a>] - DelayedProduce may cause message loss during repeated leader change</li>     <li>[<a href="/misc/goto?guid=4958990690615019899">KAFKA-2965</a>] - Two variables should be exchanged.</li>     <li>[<a href="/misc/goto?guid=4958990690732369112">KAFKA-2973</a>] - Fix leak of child sensors on remove</li>     <li>[<a href="/misc/goto?guid=4958990690844201976">KAFKA-2990</a>] - NoSuchMethodError when Kafka is compiled with 1.8 and run on 1.7</li>     <li>[<a href="/misc/goto?guid=4958990690959853417">KAFKA-2998</a>] - Log warnings when client is disconnected from bootstrap brokers</li>     <li>[<a href="/misc/goto?guid=4958990691067615595">KAFKA-2999</a>] - Errors enum should be a 1 to 1 mapping of error codes and exceptions</li>     <li>[<a href="/misc/goto?guid=4958990691188588762">KAFKA-3009</a>] - Disallow star imports</li>     <li>[<a href="/misc/goto?guid=4958990691320440220">KAFKA-3037</a>] - Number of alive brokers not known after single node cluster startup</li>     <li>[<a href="/misc/goto?guid=4958990691437736081">KAFKA-3044</a>] - Consumer.poll doesnot return messages when poll interval is less</li>     <li>[<a href="/misc/goto?guid=4958990691557680045">KAFKA-3047</a>] - Explicit offset assignment in Log.append can corrupt the log</li>     <li>[<a href="/misc/goto?guid=4958990691671480000">KAFKA-3055</a>] - JsonConverter mangles schema during serialization (fromConnectData)</li>     <li>[<a href="/misc/goto?guid=4958990691819293892">KAFKA-3068</a>] - NetworkClient may connect to a different Kafka cluster than originally configured</li>     <li>[<a href="/misc/goto?guid=4958990691951373805">KAFKA-3069</a>] - Fix recursion in ZkSecurityMigrator</li>     <li>[<a href="/misc/goto?guid=4958990692135823266">KAFKA-3074</a>] - Regex sink connector support</li>     <li>[<a href="/misc/goto?guid=4958990692284947752">KAFKA-3080</a>] - ConsoleConsumerTest.test_version system test fails consistently</li>     <li>[<a href="/misc/goto?guid=4958990692444125603">KAFKA-3085</a>] - BrokerChangeListener computes inconsistent live/dead broker list</li>     <li>[<a href="/misc/goto?guid=4958990692587789245">KAFKA-3088</a>] - 0.9.0.0 broker crash on receipt of produce request with empty client ID</li>     <li>[<a href="/misc/goto?guid=4958990692694670247">KAFKA-3091</a>] - Broker with an invalid id would not start when its id is updated to a new valid one</li>     <li>[<a href="/misc/goto?guid=4958990692808222487">KAFKA-3095</a>] - No documentation on format of sasl.kerberos.principal.to.local.rules</li>     <li>[<a href="/misc/goto?guid=4958990692946430030">KAFKA-3098</a>] - "partition.assignment.strategy" appears twice in documentation</li>     <li>[<a href="/misc/goto?guid=4958990693059634356">KAFKA-3112</a>] - One incorrect bootstrap server will prevent Kafka producer from opening</li>     <li>[<a href="/misc/goto?guid=4958990693180759626">KAFKA-3132</a>] - URI scheme in "listeners" property should not be case-sensitive</li>     <li>[<a href="/misc/goto?guid=4958990693318928284">KAFKA-3134</a>] - Missing required configuration "value.deserializer" when initializing a KafkaConsumer with a valid "valueDeserializer"</li>     <li>[<a href="/misc/goto?guid=4958990693454515100">KAFKA-3138</a>] - 0.9.0 docs still say that log compaction doesn't work on compressed topics.</li>     <li>[<a href="/misc/goto?guid=4958990693575477111">KAFKA-3140</a>] - PatternSyntaxException thrown in MM, causes MM to hang</li>     <li>[<a href="/misc/goto?guid=4958990693724389389">KAFKA-3141</a>] - kafka-acls.sh throws ArrayIndexOutOfBoundsException for an invalid authorizer-property</li>     <li>[<a href="/misc/goto?guid=4958990693848882290">KAFKA-3147</a>] - Memory records is not writable in MirrorMaker</li>     <li>[<a href="/misc/goto?guid=4958990693948575525">KAFKA-3160</a>] - Kafka LZ4 framing code miscalculates header checksum</li>     <li>[<a href="/misc/goto?guid=4958990694050707603">KAFKA-3179</a>] - Kafka consumer delivers message whose offset is earlier than sought offset.</li>     <li>[<a href="/misc/goto?guid=4958990694156560408">KAFKA-3189</a>] - Kafka server returns UnknownServerException for inherited exceptions</li>     <li>[<a href="/misc/goto?guid=4958990694269623446">KAFKA-3194</a>] - Validate security.inter.broker.protocol against the advertised.listeners protocols</li>     <li>[<a href="/misc/goto?guid=4958990694367109081">KAFKA-3195</a>] - Transient test failure in OffsetCheckpointTest.testReadWrite</li>     <li>[<a href="/misc/goto?guid=4958990694489047086">KAFKA-3197</a>] - Producer can send message out of order even when in flight request is set to 1.</li>     <li>[<a href="/misc/goto?guid=4958990694597645102">KAFKA-3198</a>] - Ticket Renewal Thread exits prematurely due to inverted comparison</li>     <li>[<a href="/misc/goto?guid=4958990694703970885">KAFKA-3207</a>] - StateStore seems to be writing state to one topic but restoring from another</li>     <li>[<a href="/misc/goto?guid=4958990694797828050">KAFKA-3211</a>] - Handle Connect WorkerTask shutdown before startup correctly</li>     <li>[<a href="/misc/goto?guid=4958990694886904816">KAFKA-3216</a>] - "Modifying topics" section incorrectly says you can't change replication factor.</li>     <li>[<a href="/misc/goto?guid=4958990694996615010">KAFKA-3217</a>] - Unit tests which dont close producers auto-create topics in Kafka brokers of other tests when port is reused</li>     <li>[<a href="/misc/goto?guid=4958990695093367723">KAFKA-3219</a>] - Long topic names mess up broker topic state</li>     <li>[<a href="/misc/goto?guid=4958990695191342568">KAFKA-3225</a>] - Method commit() of class SourceTask never invoked</li>     <li>[<a href="/misc/goto?guid=4958990695289507385">KAFKA-3229</a>] - Root statestore is not registered with ProcessorStateManager, inner state store is registered instead</li>     <li>[<a href="/misc/goto?guid=4958990695401715399">KAFKA-3233</a>] - Per topic consumer metrics missing in new consumer's metrics reporter</li>     <li>[<a href="/misc/goto?guid=4958990695503390595">KAFKA-3235</a>] - Unclosed stream in AppInfoParser static block</li>     <li>[<a href="/misc/goto?guid=4958990695610893036">KAFKA-3237</a>] - ConfigDef validators require a default value</li>     <li>[<a href="/misc/goto?guid=4958990695715757854">KAFKA-3242</a>] - "Add Partition" log message doesn't actually indicate adding a partition</li>     <li>[<a href="/misc/goto?guid=4958990695826080988">KAFKA-3243</a>] - Fix Kafka basic ops documentation for Mirror maker, blacklist is not supported for new consumers</li>     <li>[<a href="/misc/goto?guid=4958990695943686544">KAFKA-3250</a>] - release tarball is unnecessarily large due to duplicate libraries</li>     <li>[<a href="/misc/goto?guid=4958990696042697737">KAFKA-3256</a>] - Large number of system test failures</li>     <li>[<a href="/misc/goto?guid=4958990696156478644">KAFKA-3257</a>] - bootstrap-test-env.sh version check fails when grep has --colour option enabled.</li>     <li>[<a href="/misc/goto?guid=4958990696279509454">KAFKA-3278</a>] - clientId is not unique in producer/consumer registration leads to mbean warning</li>     <li>[<a href="/misc/goto?guid=4958990696392328691">KAFKA-3279</a>] - SASL implementation checks for unused System property java.security.auth.login.config</li>     <li>[<a href="/misc/goto?guid=4958990696494516129">KAFKA-3280</a>] - KafkaConsumer Javadoc contains misleading description of heartbeat behavior and correct use</li>     <li>[<a href="/misc/goto?guid=4958990696604851520">KAFKA-3285</a>] - Mirror Maker whitelist behavior differs between old and new consumer</li>     <li>[<a href="/misc/goto?guid=4958990696725567736">KAFKA-3292</a>] - ClientQuotaManager.getOrCreateQuotaSensors() may return a null ClientSensors.throttleTimeSensor</li>     <li>[<a href="/misc/goto?guid=4958990696826108507">KAFKA-3299</a>] - KafkaConnect: DistributedHerder shouldn't wait forever to read configs after rebalance</li>     <li>[<a href="/misc/goto?guid=4958990696928950381">KAFKA-3310</a>] - fetch requests can trigger repeated NPE when quota is enabled</li>     <li>[<a href="/misc/goto?guid=4958990697037667102">KAFKA-3315</a>] - Add Connect API to expose connector configuration info</li>     <li>[<a href="/misc/goto?guid=4958990697158415218">KAFKA-3316</a>] - Add Connect REST API to list available connector classes</li>     <li>[<a href="/misc/goto?guid=4958990697257592840">KAFKA-3324</a>] - NullPointerException in StreamPartitionAssignor (Kafka Streams)</li>     <li>[<a href="/misc/goto?guid=4958990697374158121">KAFKA-3325</a>] - Out of date instructions in quickstart guide</li>     <li>[<a href="/misc/goto?guid=4958990697488880608">KAFKA-3328</a>] - SimpleAclAuthorizer can lose ACLs with frequent add/remove calls</li>     <li>[<a href="/misc/goto?guid=4958990697593017094">KAFKA-3330</a>] - Truncate log cleaner offset checkpoint if the log is truncated</li>     <li>[<a href="/misc/goto?guid=4958990697690137890">KAFKA-3341</a>] - Improve error handling on invalid requests</li>     <li>[<a href="/misc/goto?guid=4958990697793700498">KAFKA-3342</a>] - https://cwiki.apache.org/confluence/display/KAFKA/Log+Compaction has log.cleaner.min.cleanable.ratio listed twice in error</li>     <li>[<a href="/misc/goto?guid=4958990697890312804">KAFKA-3343</a>] - GroupMetadataManager should use NoTimestamp for message v0</li>     <li>[<a href="/misc/goto?guid=4958990698006482531">KAFKA-3344</a>] - Remove previous system test's leftover test-log4j.properties</li>     <li>[<a href="/misc/goto?guid=4958990698124218087">KAFKA-3354</a>] - Streams system tests fail in trunk</li>     <li>[<a href="/misc/goto?guid=4958990698251494775">KAFKA-3357</a>] - Update to Scala 2.11.8</li>     <li>[<a href="/misc/goto?guid=4958990698374352862">KAFKA-3372</a>] - Trailing space in Kafka ConsumerConfig</li>     <li>[<a href="/misc/goto?guid=4958990698496219862">KAFKA-3373</a>] - Add `log` prefix to KIP-31/32 configs</li>     <li>[<a href="/misc/goto?guid=4958990698601318714">KAFKA-3378</a>] - Client blocks forever if SocketChannel connects instantly</li>     <li>[<a href="/misc/goto?guid=4958990698720657849">KAFKA-3384</a>] - bin scripts may not be portable/POSIX compliant</li>     <li>[<a href="/misc/goto?guid=4958990698817881285">KAFKA-3388</a>] - Producer should only timeout a batch in the accumulator when metadata is missing.</li>     <li>[<a href="/misc/goto?guid=4958990698915581607">KAFKA-3392</a>] - ConsumerRecords iterator throws NoSuchElementException when a TopicPartition is empty</li>     <li>[<a href="/misc/goto?guid=4958990699012673900">KAFKA-3394</a>] - Broker fails to parse Null Metadata in OffsetCommit requests</li>     <li>[<a href="/misc/goto?guid=4958990699103188807">KAFKA-3397</a>] - use -1(latest) as time default value for tools.GetOffsetShell</li>     <li>[<a href="/misc/goto?guid=4958990699205228333">KAFKA-3402</a>] - Restore behaviour of MetadataCache.getTopicMetadata when unsupported security protocol is received</li>     <li>[<a href="/misc/goto?guid=4958990699298368722">KAFKA-3409</a>] - Mirror maker hangs indefinitely due to commit</li>     <li>[<a href="/misc/goto?guid=4958990699384990080">KAFKA-3412</a>] - Multiple commitAsync() calls causes SendFailedException in commit callback</li>     <li>[<a href="/misc/goto?guid=4958990699467294598">KAFKA-3414</a>] - Return of MetadataCache.getAliveBrokers should not be mutated by cache updates</li>     <li>[<a href="/misc/goto?guid=4958990699553146640">KAFKA-3421</a>] - Update docs with new connector features</li>     <li>[<a href="/misc/goto?guid=4958990699635124740">KAFKA-3424</a>] - Add CORS support to Connect REST API</li>     <li>[<a href="/misc/goto?guid=4958990699719164454">KAFKA-3427</a>] - broker can return incorrect version of fetch response when the broker hits an unknown exception</li>     <li>[<a href="/misc/goto?guid=4958990699804654134">KAFKA-3434</a>] - Add old ConsumerRecord constructor for compatibility</li>     <li>[<a href="/misc/goto?guid=4958990699884545022">KAFKA-3441</a>] - 0.10.0 documentation still says "0.9.0"</li>     <li>[<a href="/misc/goto?guid=4958990699978311018">KAFKA-3442</a>] - FetchResponse size exceeds max.partition.fetch.bytes</li>     <li>[<a href="/misc/goto?guid=4958990700059224572">KAFKA-3448</a>] - Support zone index in IPv6 regex</li>     <li>[<a href="/misc/goto?guid=4958990700149248696">KAFKA-3453</a>] - Transient test failures due to MiniKDC port allocation strategy</li>     <li>[<a href="/misc/goto?guid=4958990700224005965">KAFKA-3454</a>] - Add Kafka Streams section in documentation</li>     <li>[<a href="/misc/goto?guid=4958990700312318712">KAFKA-3459</a>] - Returning zero task configurations from a connector does not properly clean up existing tasks</li>     <li>[<a href="/misc/goto?guid=4958990700403101683">KAFKA-3461</a>] - Fix typos in Kafka web documentations</li>     <li>[<a href="/misc/goto?guid=4958990700480689138">KAFKA-3464</a>] - Connect security system tests</li>     <li>[<a href="/misc/goto?guid=4958990700570587900">KAFKA-3486</a>] - Autocommit does not execute periodically when partitions are manually assigned</li>     <li>[<a href="/misc/goto?guid=4958990700643244996">KAFKA-3488</a>] - commitAsync() fails if metadata update creates new SASL/SSL connection</li>     <li>[<a href="/misc/goto?guid=4958990700724426994">KAFKA-3489</a>] - Update request metrics if client closes connection while broker response is in flight</li>     <li>[<a href="/misc/goto?guid=4958990700819341988">KAFKA-3510</a>] - OffsetIndex thread safety</li>     <li>[<a href="/misc/goto?guid=4958990700892750603">KAFKA-3512</a>] - Add a foreach() operator in Kafka Streams DSL</li>     <li>[<a href="/misc/goto?guid=4958990700988193592">KAFKA-3516</a>] - Metrics settings in server.properties cause ClassCastException</li>     <li>[<a href="/misc/goto?guid=4958990701058109621">KAFKA-3519</a>] - Refactor Transformer templates to return the same strong-typed value.</li>     <li>[<a href="/misc/goto?guid=4958990701155433027">KAFKA-3521</a>] - Better handling NPEs in Streams DSL implementation</li>     <li>[<a href="/misc/goto?guid=4958990701234951446">KAFKA-3523</a>] - Capture org.apache.kafka.clients.consumer.CommitFailedException in UncaughtExceptionHandler</li>     <li>[<a href="/misc/goto?guid=4958990701323190573">KAFKA-3526</a>] - REST APIs return object representation instead of string for config values, default values and recommended values</li>     <li>[<a href="/misc/goto?guid=4958990701413674443">KAFKA-3527</a>] - Consumer commitAsync should not expose internal exceptions</li>     <li>[<a href="/misc/goto?guid=4958990701500868996">KAFKA-3528</a>] - AbstractCoordinator wakeup during rebalance can cause spurious rebalances</li>     <li>[<a href="/misc/goto?guid=4958990701580589434">KAFKA-3547</a>] - Broker does not disconnect client on unknown request</li>     <li>[<a href="/misc/goto?guid=4958990701675410074">KAFKA-3548</a>] - Locale is not handled properly in kafka-consumer</li>     <li>[<a href="/misc/goto?guid=4958990701751782261">KAFKA-3557</a>] - Update rocksdb to 4.4.1 and patch updates to snappy and slf4j</li>     <li>[<a href="/misc/goto?guid=4958990701842379415">KAFKA-3565</a>] - Producer's throughput lower with compressed data after KIP-31/32</li>     <li>[<a href="/misc/goto?guid=4958990701927685942">KAFKA-3569</a>] - commitAsync() sometimes fails with errors</li>     <li>[<a href="/misc/goto?guid=4958990702009278045">KAFKA-3581</a>] - Use timeout when joining threads in system test services</li>     <li>[<a href="/misc/goto?guid=4958990702083101426">KAFKA-3584</a>] - NullPointer Exception found when Delete Topic and Log delete concurrent</li>     <li>[<a href="/misc/goto?guid=4958990702176550683">KAFKA-3587</a>] - LogCleaner fails due to incorrect offset map computation on a replica</li>     <li>[<a href="/misc/goto?guid=4958990702263210293">KAFKA-3589</a>] - KTable.count(final KeyValueMapper<K, V, K1> selector, String name) throw NPE</li>     <li>[<a href="/misc/goto?guid=4958990702345352483">KAFKA-3594</a>] - Kafka new producer retries doesn't work in 0.9.0.1</li>     <li>[<a href="/misc/goto?guid=4958990702431483187">KAFKA-3602</a>] - Rename RecordAccumulator dequeFor() and ensure proper usage</li>     <li>[<a href="/misc/goto?guid=4958990702515555432">KAFKA-3605</a>] - Connector REST endpoint allows incorrectly overriding the connector name</li>     <li>[<a href="/misc/goto?guid=4958990702596366560">KAFKA-3606</a>] - Traverse CLASSPATH during herder start to list connectors</li>     <li>[<a href="/misc/goto?guid=4958990702677565661">KAFKA-3607</a>] - Close state stores explicitly in unit tests upon completing</li>     <li>[<a href="/misc/goto?guid=4958990702762292285">KAFKA-3619</a>] - State lock file handle leaks</li>     <li>[<a href="/misc/goto?guid=4958990702836784050">KAFKA-3627</a>] - New consumer doesn't run delayed tasks while under load</li>     <li>[<a href="/misc/goto?guid=4958990702935002629">KAFKA-3629</a>] - KStreamImpl.to(...) throws NPE when the value SerDe is null</li>     <li>[<a href="/misc/goto?guid=4958990703020197624">KAFKA-3631</a>] - Recent addition of "nullable array" to MetadataRequest is breaking MirrorMaker system tests</li>     <li>[<a href="/misc/goto?guid=4958990703097783387">KAFKA-3632</a>] - ConsumerLag metrics persist after partition migration</li>     <li>[<a href="/misc/goto?guid=4958990703183977078">KAFKA-3633</a>] - Kafka Consumer API breaking backward compatibility</li>     <li>[<a href="/misc/goto?guid=4958990703271007191">KAFKA-3639</a>] - Configure default serdes passed via StreamsConfig</li>     <li>[<a href="/misc/goto?guid=4958990703349971953">KAFKA-3641</a>] - Fix RecordMetadata constructor backward compatibility</li>     <li>[<a href="/misc/goto?guid=4958990703439384067">KAFKA-3642</a>] - Fix NPE from ProcessorStateManager when the changelog topic not exists</li>     <li>[<a href="/misc/goto?guid=4958990703528650538">KAFKA-3646</a>] - Console producer using new producer should set timestamp</li>     <li>[<a href="/misc/goto?guid=4958990703615082246">KAFKA-3648</a>] - maxTimeToBlock in BufferPool.allocate should be enforced</li>     <li>[<a href="/misc/goto?guid=4958990703694623966">KAFKA-3651</a>] - Whenever the BufferPool throws a "Failed to allocate memory within the configured max blocking time" exception, it should also remove the condition object from the waiters deque</li>     <li>[<a href="/misc/goto?guid=4958990703779346882">KAFKA-3652</a>] - Return error response for unsupported version of ApiVersionsRequest</li>     <li>[<a href="/misc/goto?guid=4958990703862071499">KAFKA-3654</a>] - Config validation should validate both common and connector specific configurations</li>     <li>[<a href="/misc/goto?guid=4958990703945788031">KAFKA-3655</a>] - awaitFlushCompletion() in RecordAccumulator should always decrement flushesInProgress count.</li>     <li>[<a href="/misc/goto?guid=4958990704041260912">KAFKA-3656</a>] - Avoid stressing system more when already under stress</li>     <li>[<a href="/misc/goto?guid=4958990704120505964">KAFKA-3658</a>] - Incorrect validation check on maintenance period with join window size</li>     <li>[<a href="/misc/goto?guid=4958990704208774721">KAFKA-3659</a>] - Consumer does not handle coordinator connection blackout period gracefully</li>     <li>[<a href="/misc/goto?guid=4958990704289448708">KAFKA-3661</a>] - org.apache.kafka.clients.consumer.RoundRobinAssignor throws NPE when topic metadata not found</li>     <li>[<a href="/misc/goto?guid=4958990704373427190">KAFKA-3669</a>] - Add secondary constructor for KafkaConfig with a default value for doLog</li>     <li>[<a href="/misc/goto?guid=4958990704460021356">KAFKA-3671</a>] - Topics should not be in common ConnectorConfig definitions</li>     <li>[<a href="/misc/goto?guid=4958990704554954192">KAFKA-3673</a>] - Connect tests dont handle concurrent config changes</li>     <li>[<a href="/misc/goto?guid=4958990704633051200">KAFKA-3674</a>] - Connector target state changes not propagated to all workers</li>     <li>[<a href="/misc/goto?guid=4958990704717128401">KAFKA-3684</a>] - Not all SinkConnectorConfig configs are returned</li>     <li>[<a href="/misc/goto?guid=4958990704801871069">KAFKA-3690</a>] - Avoid passing null to UnmodifiableMap</li>     <li>[<a href="/misc/goto?guid=4958990704901712625">KAFKA-3692</a>] - Wildcards in External CLASSPATH may cause it not be included in the CLASSPATH</li>     <li>[<a href="/misc/goto?guid=4958990704984228107">KAFKA-3694</a>] - Transient system test failure ReplicationTest.test_replication_with_broker_failure.security_protocol</li>     <li>[<a href="/misc/goto?guid=4958990705079299846">KAFKA-3713</a>] - test_producer_throughput is failing with compression_type=snappy</li>     <li>[<a href="/misc/goto?guid=4958990705176628939">KAFKA-3721</a>] - UpdateMetadataRequest V2 should be in API version 0.10.0-IV1</li>    </ul>    <h2>改进</h2>    <ul>     <li>[<a href="/misc/goto?guid=4958990705264684751">KAFKA-1215</a>] - Rack-Aware replica assignment option</li>     <li>[<a href="/misc/goto?guid=4958990705358709940">KAFKA-2511</a>] - KIP-31 & KIP-32: message format change + adding timestamp to messages</li>     <li>[<a href="/misc/goto?guid=4958990705450601125">KAFKA-2547</a>] - Make DynamicConfigManager to use the ZkNodeChangeNotificationListener introduced as part of KAFKA-2211</li>     <li>[<a href="/misc/goto?guid=4958990705534153802">KAFKA-2668</a>] - Add a metric that records the total number of metrics</li>     <li>[<a href="/misc/goto?guid=4958990705621949193">KAFKA-2800</a>] - Update outdated dependencies</li>     <li>[<a href="/misc/goto?guid=4958990705715137524">KAFKA-2816</a>] - selector.poll() no longer throws IOException</li>     <li>[<a href="/misc/goto?guid=4958990705797201448">KAFKA-2879</a>] - Make MiniKDC test service slightly more generic</li>     <li>[<a href="/misc/goto?guid=4958990705897384961">KAFKA-2881</a>] - Documentation improvement</li>     <li>[<a href="/misc/goto?guid=4958990706009578113">KAFKA-2929</a>] - Migrate server side error mapping functionality</li>     <li>[<a href="/misc/goto?guid=4958990706133054463">KAFKA-2930</a>] - Update references to ZooKeeper in the docs</li>     <li>[<a href="/misc/goto?guid=4958990706261611301">KAFKA-2957</a>] - Fix typos in Kafka documentation</li>     <li>[<a href="/misc/goto?guid=4958990706384433285">KAFKA-2958</a>] - Remove duplicate API key mapping functionality</li>     <li>[<a href="/misc/goto?guid=4958990706504327540">KAFKA-2964</a>] - Split Security Rolling Upgrade Test By Client and Broker Protocols</li>     <li>[<a href="/misc/goto?guid=4958990706613792031">KAFKA-2992</a>] - Trace log statements in the replica fetcher inner loop create large amounts of garbage</li>     <li>[<a href="/misc/goto?guid=4958990706730346303">KAFKA-3002</a>] - Make available to specify hostname with Uppercase at broker list</li>     <li>[<a href="/misc/goto?guid=4958990706825734844">KAFKA-3006</a>] - Make collection default container type for sequences in the consumer API</li>     <li>[<a href="/misc/goto?guid=4958990706926379859">KAFKA-3007</a>] - Implement max.poll.records for new consumer (KIP-41)</li>     <li>[<a href="/misc/goto?guid=4958990707015976071">KAFKA-3012</a>] - Avoid reserved.broker.max.id collisions on upgrade</li>     <li>[<a href="/misc/goto?guid=4958990707111919195">KAFKA-3013</a>] - Display the topic-partition in the exception message for expired batches in recordAccumulator</li>     <li>[<a href="/misc/goto?guid=4958990707201253972">KAFKA-3019</a>] - Add an exceptionName method to Errors</li>     <li>[<a href="/misc/goto?guid=4958990707306567318">KAFKA-3024</a>] - Remove old patch review tools</li>     <li>[<a href="/misc/goto?guid=4958990707406598683">KAFKA-3029</a>] - Make class org.apache.kafka.common.TopicPartition Serializable</li>     <li>[<a href="/misc/goto?guid=4958990707496498756">KAFKA-3043</a>] - Replace request.required.acks with acks in docs</li>     <li>[<a href="/misc/goto?guid=4958990707605504322">KAFKA-3058</a>] - remove the usage of deprecated config properties</li>     <li>[<a href="/misc/goto?guid=4958990707739066184">KAFKA-3067</a>] - Fix producer API documentation for case when RequiredAcks > 1</li>     <li>[<a href="/misc/goto?guid=4958990707872181896">KAFKA-3076</a>] - BrokerChangeListener should log the brokers in order</li>     <li>[<a href="/misc/goto?guid=4958990707996799234">KAFKA-3077</a>] - Enable KafkaLog4jAppender to work with SASL enabled brokers.</li>     <li>[<a href="/misc/goto?guid=4958990708119213707">KAFKA-3084</a>] - Topic existence checks in topic commands (create, alter, delete)</li>     <li>[<a href="/misc/goto?guid=4958990708243578761">KAFKA-3086</a>] - unused handle method in MirrorMakerMessageHandler</li>     <li>[<a href="/misc/goto?guid=4958990708375868626">KAFKA-3092</a>] - Rename SinkTask.onPartitionsAssigned/onPartitionsRevoked and Clarify Contract</li>     <li>[<a href="/misc/goto?guid=4958990708502265223">KAFKA-3093</a>] - Keep track of connector and task status info, expose it via the REST API</li>     <li>[<a href="/misc/goto?guid=4958990708633334220">KAFKA-3105</a>] - Use `Utils.atomicMoveWithFallback` instead of `File.rename`</li>     <li>[<a href="/misc/goto?guid=4958990708755503417">KAFKA-3116</a>] - Failure to build</li>     <li>[<a href="/misc/goto?guid=4958990708882940222">KAFKA-3119</a>] - Adding -daemon option to zookeeper-server-start.sh USAGE</li>     <li>[<a href="/misc/goto?guid=4958990709009341906">KAFKA-3128</a>] - Add metrics for ZooKeeper events</li>     <li>[<a href="/misc/goto?guid=4958990709126220638">KAFKA-3149</a>] - Extend SASL implementation to support more mechanisms</li>     <li>[<a href="/misc/goto?guid=4958990709209102485">KAFKA-3162</a>] - KIP-42: Add Producer and Consumer Interceptors</li>     <li>[<a href="/misc/goto?guid=4958990709299455242">KAFKA-3164</a>] - Document client and mirrormaker upgrade procedure/requirements</li>     <li>[<a href="/misc/goto?guid=4958990709425175021">KAFKA-3191</a>] - Improve offset committing JavaDoc in KafkaConsumer</li>     <li>[<a href="/misc/goto?guid=4958990709562412446">KAFKA-3196</a>] - KIP-42 (part 2): add record size and CRC to RecordMetadata and ConsumerRecords</li>     <li>[<a href="/misc/goto?guid=4958990709672726622">KAFKA-3221</a>] - kafka-acls.sh must verify if a user has sufficient privileges to perform acls CRUD</li>     <li>[<a href="/misc/goto?guid=4958990709775360366">KAFKA-3227</a>] - Conservative update of Kafka dependencies</li>     <li>[<a href="/misc/goto?guid=4958990709876213814">KAFKA-3253</a>] - Skip duplicate message size check if there is no re-compression during log appending.</li>     <li>[<a href="/misc/goto?guid=4958990709980219591">KAFKA-3259</a>] - KIP-31/KIP-32 clean-ups</li>     <li>[<a href="/misc/goto?guid=4958990710086527612">KAFKA-3260</a>] - Increase the granularity of commit for SourceTask</li>     <li>[<a href="/misc/goto?guid=4958990710200797867">KAFKA-3270</a>] - Add Basic Integration Tests Around ReassignPartitionsCommand</li>     <li>[<a href="/misc/goto?guid=4958990710283783346">KAFKA-3272</a>] - Add debugging options to kafka-run-class.sh so we can easily run remote debugging</li>     <li>[<a href="/misc/goto?guid=4958990710376172077">KAFKA-3273</a>] - MessageFormatter and MessageReader interfaces should be resilient to changes</li>     <li>[<a href="/misc/goto?guid=4958990710481100115">KAFKA-3291</a>] - DumpLogSegment tool should also provide an option to only verify index sanity.</li>     <li>[<a href="/misc/goto?guid=4958990710584167551">KAFKA-3301</a>] - CommonClientConfigs.METRICS_SAMPLE_WINDOW_MS_DOC is incorrect</li>     <li>[<a href="/misc/goto?guid=4958990710698065239">KAFKA-3303</a>] - Pass partial record metadata to Interceptor onAcknowledgement in case of errors</li>     <li>[<a href="/misc/goto?guid=4958990710800673736">KAFKA-3314</a>] - Add CDDL license to LICENSE and NOTICE file</li>     <li>[<a href="/misc/goto?guid=4958990710887697724">KAFKA-3318</a>] - Improve consumer rebalance error messaging</li>     <li>[<a href="/misc/goto?guid=4958990710976292374">KAFKA-3319</a>] - Improve session timeout broker and client configuration documentation</li>     <li>[<a href="/misc/goto?guid=4958990711070804781">KAFKA-3339</a>] - org.apache.kafka.clients.consumer.KafkaConsumer javadoc for seekToBeginning, seekToEnd incomplete</li>     <li>[<a href="/misc/goto?guid=4958990711175890464">KAFKA-3352</a>] - Avoid DNS reverse lookups</li>     <li>[<a href="/misc/goto?guid=4958990711297403692">KAFKA-3375</a>] - Suppress and fix compiler warnings where reasonable and tweak compiler settings</li>     <li>[<a href="/misc/goto?guid=4958990711412142076">KAFKA-3403</a>] - Upgrade ZkClient to 0.8</li>     <li>[<a href="/misc/goto?guid=4958990711502256839">KAFKA-3406</a>] - CommonClientConfigs.RETRY_BACKOFF_MS_DOC should be more general</li>     <li>[<a href="/misc/goto?guid=4958990711598717004">KAFKA-3407</a>] - ErrorLoggingCallback trims helpful diagnostic information.</li>     <li>[<a href="/misc/goto?guid=4958990711714556321">KAFKA-3411</a>] - Streams: stop using "job" terminology, rename job.id to application.id</li>     <li>[<a href="/misc/goto?guid=4958990711840847808">KAFKA-3418</a>] - Add section on detecting consumer failures in new consumer javadoc</li>     <li>[<a href="/misc/goto?guid=4958990711964858934">KAFKA-3419</a>] - New consumer javadoc unclear on topic subscription vs partition assignment</li>     <li>[<a href="/misc/goto?guid=4958990712093588395">KAFKA-3425</a>] - Add missing notes to upgrade docs</li>     <li>[<a href="/misc/goto?guid=4958990712220750401">KAFKA-3426</a>] - Improve protocol type errors when invalid sizes are received</li>     <li>[<a href="/misc/goto?guid=4958990712347696752">KAFKA-3431</a>] - Remove `o.a.k.common.BrokerEndPoint` in favour of `Node`</li>     <li>[<a href="/misc/goto?guid=4958990712469466310">KAFKA-3432</a>] - Cluster.update() thread-safety</li>     <li>[<a href="/misc/goto?guid=4958990712597579209">KAFKA-3445</a>] - ConnectorConfig should validate TASKS_MAX_CONFIG's lower bound limit</li>     <li>[<a href="/misc/goto?guid=4958990712715901573">KAFKA-3447</a>] - partitionState in UpdateMetadataRequest not logged properly state-change log</li>     <li>[<a href="/misc/goto?guid=4958990712846567036">KAFKA-3463</a>] - Change default consumer receive buffer size to 64K</li>     <li>[<a href="/misc/goto?guid=4958990712962117994">KAFKA-3470</a>] - Consumer group coordinator should take commit requests as effective as heartbeats</li>     <li>[<a href="/misc/goto?guid=4958990713091879431">KAFKA-3475</a>] - Introduce our own `MiniKdc`</li>     <li>[<a href="/misc/goto?guid=4958990713211346282">KAFKA-3483</a>] - Restructure ducktape tests to simplify running subsets of tests</li>     <li>[<a href="/misc/goto?guid=4958990713314983401">KAFKA-3495</a>] - `NetworkClient.blockingSendAndReceive` should rely on requestTimeout</li>     <li>[<a href="/misc/goto?guid=4958990713446060379">KAFKA-3506</a>] - Kafka Connect Task Restart API</li>     <li>[<a href="/misc/goto?guid=4958990713571040002">KAFKA-3549</a>] - Close consumers instantiated in consumer tests</li>     <li>[<a href="/misc/goto?guid=4958990713674560554">KAFKA-3558</a>] - Add compression_type parameter to benchmarks in benchmark_test.py</li>     <li>[<a href="/misc/goto?guid=4958990713786368815">KAFKA-3563</a>] - Maintain MessageAndMetadata constructor compatibility</li>     <li>[<a href="/misc/goto?guid=4958990713909938836">KAFKA-3578</a>] - Allow cross origin HTTP requests on all HTTP methods</li>     <li>[<a href="/misc/goto?guid=4958990714040319096">KAFKA-3579</a>] - TopicCommand references outdated consumer property fetch.message.max.bytes</li>     <li>[<a href="/misc/goto?guid=4958990714153247380">KAFKA-3580</a>] - improve error logging in ReplicaFetchThread with oversized message</li>     <li>[<a href="/misc/goto?guid=4958990714291846841">KAFKA-3582</a>] - remove references to Copcyat from connect property files</li>     <li>[<a href="/misc/goto?guid=4958990714415564264">KAFKA-3583</a>] - Docs on pause/resume/restart APIs.</li>     <li>[<a href="/misc/goto?guid=4958990714541934982">KAFKA-3592</a>] - System tests - don't hardcode paths to scripts</li>     <li>[<a href="/misc/goto?guid=4958990714671741128">KAFKA-3611</a>] - Remove WARNs when using reflections</li>     <li>[<a href="/misc/goto?guid=4958990714793231460">KAFKA-3613</a>] - Consolidate tumbling windows and hopping windows</li>     <li>[<a href="/misc/goto?guid=4958990714910206442">KAFKA-3614</a>] - Consolidate duplicate code in KGroupedTableImpl</li>     <li>[<a href="/misc/goto?guid=4958990715028895847">KAFKA-3615</a>] - Exclude test jars in CLASSPATH of kafka-run-class.sh</li>     <li>[<a href="/misc/goto?guid=4958990715152227990">KAFKA-3616</a>] - Make kafka producers/consumers injectable for KafkaStreams</li>     <li>[<a href="/misc/goto?guid=4958990715283992337">KAFKA-3636</a>] - Increase default group.max.session.timeout.ms to 5 minutes</li>     <li>[<a href="/misc/goto?guid=4958990715378683957">KAFKA-3666</a>] - Update new Consumer API links in the docs</li>     <li>[<a href="/misc/goto?guid=4958990715502367216">KAFKA-3670</a>] - ControlledShutdownLeaderSelector should pick the preferred replica as the new leader, if possible</li>     <li>[<a href="/misc/goto?guid=4958990715621703956">KAFKA-3698</a>] - Update website documentation when it comes to the message format</li>    </ul>    <h2>新功能</h2>    <ul>     <li>[<a href="/misc/goto?guid=4958990715744779566">KAFKA-2832</a>] - support exclude.internal.topics in new consumer</li>     <li>[<a href="/misc/goto?guid=4958990715859118204">KAFKA-3046</a>] - add ByteBuffer Serializer&Deserializer</li>     <li>[<a href="/misc/goto?guid=4958990715976656991">KAFKA-3490</a>] - Multiple version support for ducktape performance tests</li>    </ul>    <h2>Task</h2>    <ul>     <li>[<a href="/misc/goto?guid=4958990716099642042">KAFKA-2830</a>] - Change default fix version to 0.9.1.0 in kafka-merge-pr.py</li>     <li>[<a href="/misc/goto?guid=4958990716216204818">KAFKA-2845</a>] - Add 0.9 clients vs 0.8 brokers compatibility test</li>     <li>[<a href="/misc/goto?guid=4958990716343152234">KAFKA-2896</a>] - System test for partition re-assignment</li>     <li>[<a href="/misc/goto?guid=4958990716454674423">KAFKA-3435</a>] - Remove `Unstable` annotation from new Java Consumer</li>     <li>[<a href="/misc/goto?guid=4958990716584819083">KAFKA-3460</a>] - Remove old 0.7 KafkaMigrationTool</li>     <li>[<a href="/misc/goto?guid=4958990716703499224">KAFKA-3517</a>] - Document configuration of SASL/PLAIN and multiple mechanisms</li>     <li>[<a href="/misc/goto?guid=4958990716800291970">KAFKA-3618</a>] - Handle ApiVersionRequest before SASL handshake</li>     <li>[<a href="/misc/goto?guid=4958990716920159668">KAFKA-3621</a>] - Add tests for ApiVersionRequest/Response</li>    </ul>    <h2>Test</h2>    <ul>     <li>[<a href="/misc/goto?guid=4958990716996198609">KAFKA-2732</a>] - Add test cases with ZK Auth, SASL and SSL</li>     <li>[<a href="/misc/goto?guid=4958990717082022778">KAFKA-2825</a>] - Add controller failover to existing replication tests</li>     <li>[<a href="/misc/goto?guid=4958990717162988247">KAFKA-2846</a>] - Add Ducktape test for kafka-consumer-groups</li>     <li>[<a href="/misc/goto?guid=4958990717269719582">KAFKA-2905</a>] - System test for rolling upgrade to enable ZooKeeper ACLs with SASL</li>     <li>[<a href="/misc/goto?guid=4958990717344124598">KAFKA-2949</a>] - Make EndToEndAuthorizationTest replicated</li>     <li>[<a href="/misc/goto?guid=4958990717446285406">KAFKA-2979</a>] - Enable authorizer and ACLs in ducktape tests</li>     <li>[<a href="/misc/goto?guid=4958990717523182670">KAFKA-2989</a>] - Verify all partitions consumed after rebalancing in system tests</li>     <li>[<a href="/misc/goto?guid=4958990717606791813">KAFKA-3214</a>] - Add consumer system tests for compressed topics</li>     <li>[<a href="/misc/goto?guid=4958990717690922715">KAFKA-3255</a>] - Extra unit tests for NetworkClient.connectionDelay(Node node, long now)</li>     <li>[<a href="/misc/goto?guid=4958990717770629976">KAFKA-3371</a>] - ClientCompatibilityTest system test failing since KIP-31/KIP-32 was merged</li>     <li>[<a href="/misc/goto?guid=4958990717851556237">KAFKA-3520</a>] - System tests of config validate and list connectors REST APIs</li>     <li>[<a href="/misc/goto?guid=4958990717935632659">KAFKA-3597</a>] - Enable query ConsoleConsumer and VerifiableProducer if they shutdown cleanly</li>     <li>[<a href="/misc/goto?guid=4958990718024411852">KAFKA-3617</a>] - Add unit tests for SASL authentication</li>     <li>[<a href="/misc/goto?guid=4958990718111446727">KAFKA-3634</a>] - Add ducktape tests for upgrade with SASL</li>     <li>[<a href="/misc/goto?guid=4958990718184903905">KAFKA-3675</a>] - Add lz4 to parametrized `test_upgrade` system test</li>     <li>[<a href="/misc/goto?guid=4958990718298665057">KAFKA-3676</a>] - Add system tests for connector pause/resume</li>    </ul>    <h2>下载地址</h2>    <ul>     <li>Source download: <a href="/misc/goto?guid=4958990718413471228">kafka-0.10.0.0-src.tgz</a> (<a href="/misc/goto?guid=4958990718508366845">asc</a>, <a href="/misc/goto?guid=4958990718620143756">md5</a>)</li>     <li>Binary downloads:      <ul>       <li>Scala 2.10  - <a href="/misc/goto?guid=4958990718712358306">kafka_2.10-0.10.0.0.tgz</a> (<a href="/misc/goto?guid=4958990718812823492">asc</a>, <a href="/misc/goto?guid=4958990718915053958">md5</a>)</li>       <li>Scala 2.11  - <a href="/misc/goto?guid=4958990719011503536">kafka_2.11-0.10.0.0.tgz</a> (<a href="/misc/goto?guid=4958990719104634202">asc</a>, <a href="/misc/goto?guid=4958990719188358166">md5</a>)</li>      </ul> </li>    </ul>