You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by gu...@apache.org on 2017/07/26 20:01:44 UTC
kafka git commit: MINOR: Next release will be 1.0.0
Repository: kafka
Updated Branches:
refs/heads/trunk f8498ec9e -> 5effe7239
MINOR: Next release will be 1.0.0
Author: Ismael Juma <is...@juma.me.uk>
Reviewers: Guozhang Wang <wa...@gmail.com>
Closes #3580 from ijuma/bump-to-1.0.0-SNAPSHOT
Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/5effe723
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/5effe723
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/5effe723
Branch: refs/heads/trunk
Commit: 5effe72390e0a3b7f82debcaaf069a531caaa351
Parents: f8498ec
Author: Ismael Juma <is...@juma.me.uk>
Authored: Wed Jul 26 13:01:41 2017 -0700
Committer: Guozhang Wang <wa...@gmail.com>
Committed: Wed Jul 26 13:01:41 2017 -0700
----------------------------------------------------------------------
core/src/main/scala/kafka/api/ApiVersion.scala | 8 +++---
.../controller/ControllerChannelManager.scala | 4 +--
.../scala/kafka/server/ReplicaManager.scala | 2 +-
docs/upgrade.html | 30 +++++++-------------
gradle.properties | 2 +-
kafka-merge-pr.py | 2 +-
tests/kafkatest/__init__.py | 4 +--
7 files changed, 21 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kafka/blob/5effe723/core/src/main/scala/kafka/api/ApiVersion.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/api/ApiVersion.scala b/core/src/main/scala/kafka/api/ApiVersion.scala
index 05658dd..a72d2e0 100644
--- a/core/src/main/scala/kafka/api/ApiVersion.scala
+++ b/core/src/main/scala/kafka/api/ApiVersion.scala
@@ -71,8 +71,8 @@ object ApiVersion {
"0.11.0-IV2" -> KAFKA_0_11_0_IV2,
"0.11.0" -> KAFKA_0_11_0_IV2,
// Introduced LeaderAndIsrRequest V1, UpdateMetadataRequest V4 and FetchRequest V6 via KIP-112
- "0.11.1-IV0" -> KAFKA_0_11_1_IV0,
- "0.11.1" -> KAFKA_0_11_1_IV0
+ "1.0-IV0" -> KAFKA_1_0_IV0,
+ "1.0" -> KAFKA_1_0_IV0
)
private val versionPattern = "\\.".r
@@ -175,8 +175,8 @@ case object KAFKA_0_11_0_IV2 extends ApiVersion {
val id: Int = 12
}
-case object KAFKA_0_11_1_IV0 extends ApiVersion {
- val version: String = "0.11.1-IV0"
+case object KAFKA_1_0_IV0 extends ApiVersion {
+ val version: String = "1.0-IV0"
val messageFormatVersion: Byte = RecordBatch.MAGIC_VALUE_V2
val id: Int = 13
}
http://git-wip-us.apache.org/repos/asf/kafka/blob/5effe723/core/src/main/scala/kafka/controller/ControllerChannelManager.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/controller/ControllerChannelManager.scala b/core/src/main/scala/kafka/controller/ControllerChannelManager.scala
index 8f9630e..b89fb62 100755
--- a/core/src/main/scala/kafka/controller/ControllerChannelManager.scala
+++ b/core/src/main/scala/kafka/controller/ControllerChannelManager.scala
@@ -394,7 +394,7 @@ class ControllerBrokerRequestBatch(controller: KafkaController) extends Logging
def sendRequestsToBrokers(controllerEpoch: Int) {
try {
val leaderAndIsrRequestVersion: Short =
- if (controller.config.interBrokerProtocolVersion >= KAFKA_0_11_1_IV0) 1
+ if (controller.config.interBrokerProtocolVersion >= KAFKA_1_0_IV0) 1
else 0
leaderAndIsrRequestMap.foreach { case (broker, leaderAndIsrPartitionStates) =>
@@ -425,7 +425,7 @@ class ControllerBrokerRequestBatch(controller: KafkaController) extends Logging
val partitionStates = Map(updateMetadataRequestPartitionInfoMap.toArray:_*)
val updateMetadataRequestVersion: Short =
- if (controller.config.interBrokerProtocolVersion >= KAFKA_0_11_1_IV0) 4
+ if (controller.config.interBrokerProtocolVersion >= KAFKA_1_0_IV0) 4
else if (controller.config.interBrokerProtocolVersion >= KAFKA_0_10_2_IV0) 3
else if (controller.config.interBrokerProtocolVersion >= KAFKA_0_10_0_IV1) 2
else if (controller.config.interBrokerProtocolVersion >= KAFKA_0_9_0) 1
http://git-wip-us.apache.org/repos/asf/kafka/blob/5effe723/core/src/main/scala/kafka/server/ReplicaManager.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/server/ReplicaManager.scala b/core/src/main/scala/kafka/server/ReplicaManager.scala
index 6cf2540..7c2f8e6 100644
--- a/core/src/main/scala/kafka/server/ReplicaManager.scala
+++ b/core/src/main/scala/kafka/server/ReplicaManager.scala
@@ -300,7 +300,7 @@ class ReplicaManager(val config: KafkaConfig,
// A follower can lag behind leader for up to config.replicaLagTimeMaxMs x 1.5 before it is removed from ISR
scheduler.schedule("isr-expiration", maybeShrinkIsr _, period = config.replicaLagTimeMaxMs / 2, unit = TimeUnit.MILLISECONDS)
scheduler.schedule("isr-change-propagation", maybePropagateIsrChanges _, period = 2500L, unit = TimeUnit.MILLISECONDS)
- val haltBrokerOnFailure = config.interBrokerProtocolVersion < KAFKA_0_11_1_IV0
+ val haltBrokerOnFailure = config.interBrokerProtocolVersion < KAFKA_1_0_IV0
logDirFailureHandler = new LogDirFailureHandler("LogDirFailureHandler", haltBrokerOnFailure)
logDirFailureHandler.start()
}
http://git-wip-us.apache.org/repos/asf/kafka/blob/5effe723/docs/upgrade.html
----------------------------------------------------------------------
diff --git a/docs/upgrade.html b/docs/upgrade.html
index 37313b6..bb3274a 100644
--- a/docs/upgrade.html
+++ b/docs/upgrade.html
@@ -17,9 +17,9 @@
<script><!--#include virtual="js/templateData.js" --></script>
-<h4><a id="upgrade_11_1_0" href="#upgrade_11_1_0">Upgrading from 0.8.x, 0.9.x, 0.10.0.x, 0.10.1.x, 0.10.2.x or 0.11.0.0 to 0.11.1.0</a></h4>
-<p>Kafka 0.11.1.0 introduces wire protocol changes. By following the recommended rolling upgrade plan below,
- you guarantee no downtime during the upgrade. However, please review the <a href="#upgrade_1110_notable">notable changes in 0.11.1.0</a> before upgrading.
+<h4><a id="upgrade_1_0_0" href="#upgrade_1_0_0">Upgrading from 0.8.x, 0.9.x, 0.10.0.x, 0.10.1.x, 0.10.2.x or 0.11.0.x to 1.0.0</a></h4>
+<p>Kafka 1.0.0 introduces wire protocol changes. By following the recommended rolling upgrade plan below,
+ you guarantee no downtime during the upgrade. However, please review the <a href="#upgrade_100_notable">notable changes in 1.0.0</a> before upgrading.
</p>
<p><b>For a rolling upgrade:</b></p>
@@ -33,7 +33,7 @@
</ul>
</li>
<li> Upgrade the brokers one at a time: shut down the broker, update the code, and restart it. </li>
- <li> Once the entire cluster is upgraded, bump the protocol version by editing <code>inter.broker.protocol.version</code> and setting it to 0.11.1.
+ <li> Once the entire cluster is upgraded, bump the protocol version by editing <code>inter.broker.protocol.version</code> and setting it to 1.0.0.
<li> Restart the brokers one by one for the new protocol version to take effect. </li>
</ol>
@@ -46,8 +46,12 @@
Similarly for the message format version.</li>
</ol>
-<h5><a id="upgrade_1110_notable" href="#upgrade_1100_notable">Notable changes in 0.11.1.0</a></h5>
+<h5><a id="upgrade_100_notable" href="#upgrade_100_notable">Notable changes in 1.0.0</a></h5>
<ul>
+ <li>Topic deletion is now enabled by default, since the functionality is now stable. Users who wish to
+ to retain the previous behavior should set the broker config <code>delete.topic.enable</code> to <code>false</code>. Keep in mind that topic deletion removes data and the operation is not reversible (i.e. there is no "undelete" operation)</li>
+ <li>For topics that support timestamp search if no offset can be found for a partition, that partition is now included in the search result with a null offset value. Previously, the partition was not included in the map.
+ This change was made to make the search behavior consistent with the case of topics not supporting timestamp search.
<li>If the <code>inter.broker.protocol.version</code> is 0.11.1 or later, a broker will now stay online to serve replicas
on live log directories even if there are offline log directories. A log directory may become offline due to IOException
caused by hardware failure. Users need to monitor the per-broker metric <code>offlineLogDirectoryCount</code> to check
@@ -56,7 +60,7 @@
if the version of client's FetchRequest or ProducerRequest does not support KafkaStorageException. </li>
</ul>
-<h5><a id="upgrade_1110_new_protocols" href="#upgrade_1110_new_protocols">New Protocol Versions</a></h5>
+<h5><a id="upgrade_100_new_protocols" href="#upgrade_100_new_protocols">New Protocol Versions</a></h5>
<ul>
<li> <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-112%3A+Handle+disk+failure+for+JBOD">KIP-112</a>: LeaderAndIsrRequest v1 introduces a partition-level <code>is_new</code> field. </li>
<li> <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-112%3A+Handle+disk+failure+for+JBOD">KIP-112</a>: UpdateMetadataRequest v4 introduces a partition-level <code>offline_replicas</code> field. </li>
@@ -65,20 +69,6 @@
<li> <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-112%3A+Handle+disk+failure+for+JBOD">KIP-112</a>: FetchResponse v6 introduces error code for KafkaStorageException. </li>
</ul>
-
-<h4><a id="upgrade_1_0_0" href="#upgrade_1_0_0"</h4> Upgrading from 0.8.x, 0.9.x, 0.10.0.x, 0.10.1.x, 0.10.2 or 0.11.0.0 to 1.0.0</a></h4>
-<p>1.0.0 is fully compatible with 0.11.0.0. The upgrade can be done one broker at a time by simply bringing it down, updating the code, and restarting it.
-To upgrade from earlier versions, please review the <a href="#upgrade_11_0_0">0.11.0.0 upgrade instructions</a>.
-</p>
-
-<h5><a id="upgrade_100_notable" href="#upgrade_100_notable">Notable changes in 1.0.0</a></h5>
-<ul>
- <li>Topic deletion is now enabled by default, since the functionality is now stable. Users who wish to
- to retain the previous behavior should set the broker config <code>delete.topic.enable</code> to <code>false</code>. Keep in mind that topic deletion removes data and the operation is not reversible (i.e. there is no "undelete" operation)</li>
- <li>For topics that support timestamp search if no offset can be found for a partition, that partition is now included in the search result with a null offset value. Previously, the partition was not included in the map.
- This change was made to make the search behavior consistent with the case of topics not supporting timestamp search.
-</ul>
-
<h4><a id="upgrade_11_0_0" href="#upgrade_11_0_0">Upgrading from 0.8.x, 0.9.x, 0.10.0.x, 0.10.1.x or 0.10.2.x to 0.11.0.0</a></h4>
<p>Kafka 0.11.0.0 introduces a new message format version as well as wire protocol changes. By following the recommended rolling upgrade plan below,
you guarantee no downtime during the upgrade. However, please review the <a href="#upgrade_1100_notable">notable changes in 0.11.0.0</a> before upgrading.
http://git-wip-us.apache.org/repos/asf/kafka/blob/5effe723/gradle.properties
----------------------------------------------------------------------
diff --git a/gradle.properties b/gradle.properties
index 6e81544..485afa9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -16,7 +16,7 @@
group=org.apache.kafka
# NOTE: When you change this version number, you should also make sure to update
# the version numbers in tests/kafkatest/__init__.py and kafka-merge-pr.py.
-version=0.11.1.0-SNAPSHOT
+version=1.0.0-SNAPSHOT
scalaVersion=2.11.11
task=build
org.gradle.jvmargs=-XX:MaxPermSize=512m -Xmx1024m -Xss2m
http://git-wip-us.apache.org/repos/asf/kafka/blob/5effe723/kafka-merge-pr.py
----------------------------------------------------------------------
diff --git a/kafka-merge-pr.py b/kafka-merge-pr.py
index 0206f1c..8cfae46 100755
--- a/kafka-merge-pr.py
+++ b/kafka-merge-pr.py
@@ -72,7 +72,7 @@ RELEASE_BRANCH_PREFIX = "0."
DEV_BRANCH_NAME = "trunk"
-DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "0.11.1.0")
+DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "1.0.0")
def get_json(url):
try:
http://git-wip-us.apache.org/repos/asf/kafka/blob/5effe723/tests/kafkatest/__init__.py
----------------------------------------------------------------------
diff --git a/tests/kafkatest/__init__.py b/tests/kafkatest/__init__.py
index 057b43a..85d668e 100644
--- a/tests/kafkatest/__init__.py
+++ b/tests/kafkatest/__init__.py
@@ -21,5 +21,5 @@
#
# Instead, in development branches, the version should have a suffix of the form ".devN"
#
-# For example, when Kafka is at version 0.9.0.0-SNAPSHOT, this should be something like "0.9.0.0.dev0"
-__version__ = '0.11.1.0.dev0'
+# For example, when Kafka is at version 1.0.0-SNAPSHOT, this should be something like "1.0.0.dev0"
+__version__ = '1.0.0.dev0'