Commit Graph

48 Commits

Author SHA1 Message Date
Ismael Juma cbf8ad277a
MINOR: Upgrade to Scala 2.13.4 (#9643)
Scala 2.13.4 restores default global `ExecutionContext` to 2.12 behavior
(to fix a perf regression in some use cases) and improves pattern matching
(especially exhaustiveness checking). Most of the changes are related
to the latter as I have enabled the newly introduced `-Xlint:strict-unsealed-patmat`.

More details on the code changes:
* Don't swallow exception in `ReassignPartitionsCommand.topicDescriptionFutureToState`.
* `RequestChannel.Response` should be `sealed`.
* Introduce sealed ClientQuotaManager.BaseUserEntity to avoid false positive
exhaustiveness warning.
* Handle a number of cases where pattern matches were not exhaustive:
either by marking them with @unchecked or by adding a catch-all clause.
* Workaround scalac bug related to exhaustiveness warnings in ZooKeeperClient
* Remove warning suppression annotations related to the optimizer that are no
longer needed in ConsumerGroupCommand and AclAuthorizer.
* Use `forKeyValue` in `AclAuthorizer.acls` as the scala bug preventing us from
using it seems to be fixed.
* Also update scalaCollectionCompat to 2.3.0, which includes minor improvements.

Full release notes:
* https://github.com/scala/scala/releases/tag/v2.13.4
* https://github.com/scala/scala-collection-compat/releases/tag/v2.3.0

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2020-11-24 10:28:53 -08:00
bill 4d3036bb4e Updating trunk versions after cutting branch for 2.7 2020-10-08 07:47:36 -04:00
Ismael Juma 7f90a58b69
MINOR: Update Scala to 2.13.3 (#8931)
I had to fix several compiler errors due to deprecation of auto application of `()`. A related
Xlint config (`-Xlint:nullary-override`) is no longer valid in 2.13, so we now only enable it
for 2.12. The compiler flagged two new inliner warnings that required suppression and
the semantics of `&` in `@nowarn` annotations changed, requiring a small change in
one of the warning suppressions.

I also removed the deprecation of a number of methods in `KafkaZkClient` as
they should not have been deprecated in the first place since `KafkaZkClient` is an
internal class and we still use these methods in the Controller and so on. This
became visible because the Scala compiler now respects Java's `@Deprecated`
annotation.

Finally, I included a few minor clean-ups (eg using `toBuffer` instead `toList`) when fixing
the compilation warnings.

Noteworthy bug fixes in Scala 2.13.3:

* Fix 2.13-only bug in Java collection converters that caused some operations to perform an extra pass
* Fix 2.13.2 performance regression in Vector: restore special cases for small operands in appendedAll and prependedAll
* Increase laziness of #:: for LazyList
* Fixes related to annotation parsing of @Deprecated from Java sources in mixed compilation

Full release notes:
https://github.com/scala/scala/releases/tag/v2.13.3

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2020-06-26 10:19:04 -07:00
Ismael Juma 3af3ab9bf9
MINOR: Update to Gradle 6.5 and tweak build jvm config (#8751)
Gradle 6.5 includes a fix for https://github.com/gradle/gradle/pull/12866, which
affects the performance of Scala compilation.

I profiled the scalac build with async profiler and 54% of the time was on GC
even after the Gradle upgrade (it was more than 60% before), so I switched to
the throughput GC (GC latency is less important for batch builds) and it
was reduced to 38%.

I also centralized the jvm configuration in `build.gradle` and simplified it a bit
by removing the minHeapSize configuration from the test tasks.

On my desktop, the time to execute clean builds with no cached Gradle daemon
was reduced from 127 seconds to 97 seconds. With a cached daemon, it was
reduced from 120 seconds to 88 seconds. The performance regression when
we upgraded to Gradle 6.x was 27 seconds with a cached daemon 
(https://github.com/apache/kafka/pull/7677#issuecomment-616271179), so it
should be fixed now.

Gradle 6.4 with no cached daemon:

```
BUILD SUCCESSFUL in 2m 7s
115 actionable tasks: 112 executed, 3 up-to-date
./gradlew clean compileScala compileJava compileTestScala compileTestJava  1.15s user 0.12s system 0% cpu 2:08.06 total
```

Gradle 6.4 with cached daemon:

```
BUILD SUCCESSFUL in 2m 0s
115 actionable tasks: 111 executed, 4 up-to-date
./gradlew clean compileScala compileJava compileTestScala compileTestJava  0.95s user 0.10s system 0% cpu 2:01.42 total
```

Gradle 6.5 with no cached daemon:

```
BUILD SUCCESSFUL in 1m 46s
115 actionable tasks: 111 executed, 4 up-to-date
./gradlew clean compileScala compileJava compileTestScala compileTestJava  1.27s user 0.12s system 1% cpu 1:47.71 total
```

Gradle 6.5 with cached daemon:

```
BUILD SUCCESSFUL in 1m 37s
115 actionable tasks: 111 executed, 4 up-to-date
./gradlew clean compileScala compileJava compileTestScala compileTestJava  1.02s user 0.10s system 1% cpu 1:38.31 total
```

This PR with no cached Gradle daemon:

```
BUILD SUCCESSFUL in 1m 37s
115 actionable tasks: 81 executed, 34 up-to-date
./gradlew clean compileScala compileJava compileTestScala compileTestJava  1.27s user 0.10s system 1% cpu 1:38.70 total
```

This PR with cached Gradle daemon:

```
BUILD SUCCESSFUL in 1m 28s
115 actionable tasks: 111 executed, 4 up-to-date
./gradlew clean compileScala compileJava compileTestScala compileTestJava  1.02s user 0.10s system 1% cpu 1:29.35 total
```

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2020-06-03 13:18:50 -07:00
Randall Hauch 19e40788e7
Bump trunk to 2.7.0-SNAPSHOT (#8746) 2020-06-01 21:23:09 -05:00
Manikumar Reddy 9a18e0e3e8
MINOR: Increase gradle daemon’s heap size to 2g (#8700)
Reviewers: Ismael Juma <ismael@juma.me.uk>
2020-05-21 07:18:26 +05:30
Ismael Juma dbe618c63c
KAFKA-9907: Switch default build to Scala 2.13 (#8537)
Scala 2.13.2 introduces support for suppressing warnings,
which makes it possible to enable fatal warnings. This is
useful enough from a development perspective to justify
this change.

In addition, Scala 2.13.2 also has a Vector implementation
with significant performance improvements and encoding
of String matches to switches.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2020-04-23 07:02:54 -07:00
Ismael Juma 93f082e093
MINOR: Update Scala to 2.12.11 (#8308)
Highlights:
* Performance improvements in the ollections
library: algorithmic improvements and
changes to avoid unnecessary allocations.
* Performance improvements in the compiler.
* ASM was upgraded to 7.3.1, allowing the
optimizer to run on JDK 13+.

Full release notes: https://github.com/scala/scala/releases/tag/v2.12.11

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2020-03-18 09:33:14 -07:00
David Arthur 7e776b0462
Bump trunk to 2.6.0-SNAPSHOT (#8026) 2020-02-03 13:04:56 -05:00
Manikumar Reddy 4c2bd567b1
MINOR: Bump version to 2.5.0-SNAPSHOT (#7455) 2019-10-07 20:04:57 +05:30
Ismael Juma f718c5e1e1
MINOR: Update dependencies for Kafka 2.4 (part 2) (#7333)
Upgrade to Gradle 5.6.2 as a step towards Gradle 6.0 (necessary
for Java 13 support).

https://docs.gradle.org/5.5.1/release-notes.html
https://docs.gradle.org/5.6.2/release-notes.html

The other updates are mostly bug fixes:

* Scala 2.13.1: https://github.com/scala/scala/releases/tag/v2.13.1
* Scala 2.12.10: https://github.com/scala/scala/releases/tag/v2.12.10
* Jetty 9.4.20: https://www.eclipse.org/lists/jetty-announce/msg00133.html
* SLF4J 1.7.28: adds Automatic-Module-Name in MANIFEST.MF
* Bouncy castle 1.63: https://www.bouncycastle.org/releasenotes.html
* zstd 1.4.3: https://github.com/facebook/zstd/releases/tag/v1.4.3

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2019-09-18 12:51:47 -07:00
Ismael Juma 66d81a0e50
MINOR: Update dependencies for Kafka 2.4 (#7126)
Scala 2.12.9 brings another 5% ~ 10% improvement in compiler performance,
improved compatibility with JDK 11/12/13, and experimental infrastructure for
build pipelining.

zstd update includes performance improvements, among which the
primary improvement is that decompression is ~7% faster.

Level | v1.4.0 | v1.4.1 | Delta
-- | -- | -- | --
1 | 1390 MB/s | 1453 MB/s | +4.5%
3 | 1208 MB/s | 1301 MB/s | +7.6%
5 | 1129 MB/s | 1233 MB/s | +9.2%
7 | 1224 MB/s | 1347 MB/s | +10.0%
16 | 1278 MB/s | 1430 MB/s | +11.8%

Jetty 9.4.19 includes a number of bug fixes:
https://github.com/eclipse/jetty.project/releases/tag/jetty-9.4.19.v20190610

Mockito 3.0.0 switched the Java requirement from 7 to 8.

Several updates to owaspDepCheckPlugin (4.0.2 -> 5.2.1).

The rest are patch updates.

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>
2019-08-08 06:01:22 -07:00
Colin Patrick McCabe 87ff83a82e
MINOR: Bump version to 2.4.0-SNAPSHOT (#6774)
Reviewers: Jason Gustafson <jason@confluent.io>
2019-05-20 12:47:21 -07:00
Matthias J. Sax d2575f03a3
MINOR: Bump version to 2.3.0-SNAPSHOT (#6226)
* MINOR: Bump version to 2.3.0-SNAPSHOT

* Github comment
2019-02-11 14:46:49 -08:00
Ismael Juma 4154eb9f11
MINOR: Update dependencies for Kafka 2.2 (#6116)
- Scala 2.12.7 -> 2.12.8
- Gradle 5.0 -> 5.1
- Jetty 9.4.12 -> 9.4.14
- Rat 0.12 -> 0.13
- Patch bumps for easymock, jackson, powermock
- Patch bumps for gradle plugins: shadow, spotbugs, dependency-check, spotless

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2019-01-10 01:14:30 -08:00
Guozhang Wang 1f3cb6c4ef
MINOR: Bump js template to 2.2 (#6086)
Bump js template to 2.2; update gradle.properties

Reviewers: Jason Gustafson <jason@confluent.io>
2019-01-06 17:50:25 -08:00
Ismael Juma b4722cc16f
KAFKA-7524: Recommend Scala 2.12 and use it for development (#5530)
Scala 2.12 has better support for newer Java versions and includes additional
compiler warnings that are helpful during development. In addition, Scala 2.11
hasn't been supported by the Scala community for a long time, the soon to be
released Spark 2.4.0 will finally support Scala 2.12 (this was the main reason
preventing many from upgrading to Scala 2.12) and Scala 2.13 is at the RC stage.
It's time to start recommending the Scala 2.12 build as we prepare support for
Scala 2.13 and start thinking about removing support for Scala 2.11.

In the meantime, Jenkins will continue to build all supported Scala versions (including
Scala 2.11) so the PR and trunk jobs will fail if people accidentally use methods
introduced in Scala 2.12.

Reviewers: Ewen Cheslack-Postava <me@ewencp.org>
2018-10-28 11:31:39 -07:00
Dong Lin 2b37a041d3 MINOR: Bump version to 2.2.0-SNAPSHOT
Author: Dong Lin <lindong28@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>

Closes #5744 from lindong28/bump-up-version-2.2.0
2018-10-04 17:30:03 -07:00
Matthias J. Sax c140603fa9 MINOR: need to update system test version after version bump (#5156) 2018-06-06 23:29:42 +01:00
Rajini Sivaram a1ca07d316
MINOR: Bump version to 2.1.0-SNAPSHOT (#5153) 2018-06-06 17:24:53 +01:00
Ismael Juma b751321486 MINOR: Remove MaxPermSize from gradle.properties
No longer needed since we dropped support for Java 7.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Dong Lin <lindong28@gmail.com>

Closes #5083 from ijuma/remove-max-perm-size
2018-05-27 10:04:58 -07:00
Ismael Juma c853ef75a1 MINOR: Bump version to 2.0.0-SNAPSHOT (#4804) 2018-04-25 11:19:31 +01:00
Damian Guy ca01711c0e
Bump trunk versions to 1.2-SNAPSHOT (#4505) 2018-02-01 11:35:43 +00:00
Ismael Juma 3e86161b84 MINOR: Update to Scala 2.11.12 (part 2)
Missed a few places in the previous commit.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>

Closes #4200 from ijuma/scala-2.11.12-part2
2017-11-09 18:24:48 +00:00
Guozhang Wang 6bcbd17d34 Bump up version to 1.1.0-SNAPSHOT 2017-10-04 15:36:19 -07:00
Ismael Juma 5effe72390 MINOR: Next release will be 1.0.0
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Guozhang Wang <wangguoz@gmail.com>

Closes #3580 from ijuma/bump-to-1.0.0-SNAPSHOT
2017-07-26 13:01:41 -07:00
Ismael Juma 8b2995c31a MINOR: Bump Kafka version to 0.11.1.0-SNAPSHOT
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #3095 from ijuma/bump-kafka-version
2017-05-19 10:20:23 +01:00
Ismael Juma bcf447e93e KAFKA-4422; Drop support for Scala 2.10 (KIP-119)
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Ewen Cheslack-Postava <me@ewencp.org>

Closes #2956 from ijuma/kafka-4422-drop-support-scala-2.10
2017-05-11 08:08:11 +01:00
Ismael Juma 2e92f9b2e4 MINOR: Bump version to 0.11.0.0-SNAPSHOT
There won't be a 0.10.3.0.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson <jason@confluent.io>

Closes #2628 from ijuma/bump-version-to-0.11.0.0-SNAPSHOT
2017-03-03 22:23:20 +00:00
Ewen Cheslack-Postava 6e42ce8fe8 Bump version to 0.10.3.0-SNAPSHOT 2017-01-16 11:39:13 -08:00
Jason Gustafson 6acbf27aeb MINOR: Bump to version 0.10.2 2016-09-19 21:19:17 -07:00
Gwen Shapira 702d560c55 Changing version to 0.10.1.0-SNAPSHOT 2016-03-21 09:53:17 -07:00
Ewen Cheslack-Postava f98cb3aa24 MINOR: Add note about which files need to be edited when updating the version number
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Ismael Juma

Closes #879 from ewencp/version-bump-instructions
2016-02-24 10:12:51 -08:00
Ismael Juma b084c485e2 KAFKA-3277; Update trunk version to be 0.10.0.0-SNAPSHOT
Also update `kafka-merge-pr.py` and `tests/kafkatest/__init__.py`.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #963 from ijuma/update-trunk-0.10.0.0-SNAPSHOT
2016-02-24 09:21:38 -08:00
Ismael Juma f81dd4a4fb MINOR: Bump version to 0.9.1.0-SNAPSHOT
Since we created the 0.9.0 branch a while back.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jun Rao <junrao@gmail.com>

Closes #575 from ijuma/bump-to-0.9.1.0-SNAPSHOT
2015-11-23 07:38:10 -08:00
Grant Henke 8f6ffe1c28 KAFKA-2800; Update outdated dependencies
Changes:
* org.scala-lang:scala-library [2.10.5 -> 2.10.6]
   * Scala 2.10.6 resolves a license incompatibility in scala.util.Sorting
   * Otherwise identical to Scala 2.10.5
* org.xerial.snappy:snappy-java [1.1.1.7 -> 1.1.2]
   * Fixes SnappyOutputStream.close() is not idempotent
* net.jpountz.lz4:lz4 [1.2.0 -> 1.3]
* junit:junit [4.11 -> 4.12]
* org.easymock:easymock [3.3.1 -> 3.4]
* org.powermock:powermock-api-easymock [1.6.2 -> 1.6.3]
* org.powermock:powermock-module-junit4 [1.6.2 -> 1.6.3]
* org.slf4j:slf4j-api [1.7.6 -> 1.7.12]
* org.slf4j:slf4j-log4j12 [1.7.6 -> 1.7.12]
* com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider [2.5.4 -> 2.6.3]
* com.fasterxml.jackson.core:jackson-databind [2.5.4 -> 2.6.3]
* org.eclipse.jetty:jetty-server [9.2.12.v20150709 -> 9.2.14.v20151106]
* org.eclipse.jetty:jetty-servlet [9.2.12.v20150709 -> 9.2.14.v20151106]
* org.bouncycastle:bcpkix-jdk15on [1.52 -> 1.53]
* net.sf.jopt-simple:jopt-simple [3.2 -> 4.9]
* removed explicit entry for org.objenesis:objenesis:2.2 (resolved transitively)

Author: Grant Henke <granthenke@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Jun Rao <junrao@gmail.com>

Closes #513 from granthenke/update-deps
2015-11-18 10:42:15 -08:00
Manikumar reddy O ac757eb19e KAFKA-2554: change 0.8.3 to 0.9.0 in ApiVersion and other files
Updated the version from 0.8.3 to 0.9.0. in ApiVersion.  Also updated in gradle.propeties.

Author: Manikumar reddy O <manikumar.reddy@gmail.com>

Reviewers: Ismael Juma, Gwen Shapira

Closes #237 from omkreddy/KAFKA-2554
2015-09-24 12:38:27 -07:00
Ismael Juma 3285a9c890 KAFKA-2457; StackOverflowError during builds
The default is typically `1m` for 64-bit machines and the Scala compiler sometimes needs more than this.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Manikumar Reddy, Gwen Shapira

Closes #157 from ijuma/kafka-2457-stackoverflowerror-during-builds
2015-08-21 11:32:57 -07:00
Ewen Cheslack-Postava 3d8494bca3 KAFKA-2199 Make signing artifacts optional and disabled by
default for SNAPSHOTs and allow remote Maven repository configuration from
 the command line.
2015-05-29 14:50:45 -07:00
Ismael Juma 66c6f9b1c4 kafka-2039; Update Scala to 2.10.5 and 2.11.6; patched by Ismael Juma; reviewed by Jun Rao 2015-04-01 13:26:45 -07:00
Guozhang Wang 72601f783e KAFKA-1624; bump up default scala version to 2.11.4 to compile with java 8; reviewed by Joe Stein, Gwen Shapira and Joel Koshy 2014-11-24 11:45:14 -08:00
Joe Stein e05704c40b KAFKA-1662 gradle release issue permgen space patch by Sriharsha Chintalapani reviewed by Joe Sein 2014-10-03 22:04:36 -04:00
Jun Rao 795e262b9f bump up release version to 0.8.3 2014-09-30 08:13:45 -07:00
Joe Stein 8a8c49028a trunk is the 0.8.2 snapshot 2014-08-11 17:12:29 -04:00
Ivan Lyutov 4d0759713f kafka-1419; cross build for scala 2.11; patched by Ivan Lyutov; reviewed by Joe Stein and Jun Rao 2014-08-10 21:20:30 -07:00
Joe Stein 16c69a844f KAFKA-1274 gradle.properties needs the variables used in the build.gradle patch by Joe Stein; Reviewed by Jun Rao 2014-02-19 10:53:11 -05:00
Joe Stein dc5a993e67 KAFKA-1245 the jar files and pom are not being signed so nexus is failing to publish them patch by Joe Stein; Reviewed by Jun Rao 2014-02-14 14:15:32 -05:00
Jun Rao 52614ad65e kafka-1171; Gradle build for Kafka; patched by David Arthur, Joe Stein, Chris Freeman and Jun Rao; reviewed by Guozhang Wang, Joel Koshy and Neha Narkhede 2014-02-07 13:48:04 -08:00