Skip to content

MINOR: Add verification step for Streams archetype to Jenkins build#6431

Merged
bbejeck merged 4 commits intoapache:trunkfrom
mjsax:add-quickstart-test
Mar 21, 2019
Merged

MINOR: Add verification step for Streams archetype to Jenkins build#6431
bbejeck merged 4 commits intoapache:trunkfrom
mjsax:add-quickstart-test

Conversation

@mjsax
Copy link
Copy Markdown
Member

@mjsax mjsax commented Mar 11, 2019

Updates ./jenkins.sh to build stream archetype and install it in local maven cache. Afterward, archetype is used to create a new maven project and maven project is compiled for verification.

@mjsax mjsax added the streams label Mar 11, 2019
@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Mar 12, 2019

Retest this please.

@mjsax mjsax force-pushed the add-quickstart-test branch 3 times, most recently from 0d080ae to 82cd5ab Compare March 13, 2019 22:02
@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Mar 14, 2019

Call for review @guozhangwang @bbejeck @vvcephei @ableegoldman (\cc @ijuma)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fix should actually be provided by #6194 -- I included it here to let the build pass.

Comment thread jenkins.sh Outdated
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The created archetype, only works for Java8 -- we would need to create a different archetype for Java11.

What we could do, is to include the Java11 setting as comments in the archetype (thoughts)?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could do that, or we can just publish another archetype for use with Java 11+. Then, when we drop support for Java 8, it's as simple as just deleting the Java 8 archetype.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how we could have two archetypes at the same time? I guess we would need to encode the Java version in the archetype name?

-DarchetypeGroupId=org.apache.kafka
-DarchetypeArtifactId=streams-quickstart-java   <--- change this to `streams-quickstart-java-8` and `streams-quickstart-java-11` ?
-DarchetypeVersion=$version 

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, that would be the way to do it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@guozhangwang Can/should we do this in this PR? Or would this need a KIP? Or just create a JIRA for a follow up PR?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can create a JIRA ticket for a follow-up PR (this would need a KIP, yes).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Mar 14, 2019

Java8 failed as expected:

21:35:30 [ERROR] COMPILATION ERROR : 
21:35:30 [INFO] -------------------------------------------------------------
21:35:30 [ERROR] /home/jenkins/jenkins-slave/workspace/kafka-pr-jdk8-scala2.11@2/streams/quickstart/test-streams-archetype/streams.examples/src/main/java/myapps/LineSplit.java:[48] 
21:35:30 	.flatMapValues(value -> Arrays.asList(value.split("\\W+")))
21:35:30 	                                            ^^^^^
21:35:30 The method split(String) is undefined for the type Object
21:35:30 1 problem (1 error)

Copy link
Copy Markdown
Contributor

@vvcephei vvcephei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @mjsax , thanks for taking care of this!

I've responded to your question with my $0.02.

Comment thread jenkins.sh Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could do that, or we can just publish another archetype for use with Java 11+. Then, when we drop support for Java 8, it's as simple as just deleting the Java 8 archetype.

Copy link
Copy Markdown
Contributor

@guozhangwang guozhangwang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Please feel free to merge after jenkins.

Comment thread docs/streams/tutorial.html Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: one more indent.

Comment thread jenkins.sh Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can create a JIRA ticket for a follow-up PR (this would need a KIP, yes).

@mjsax mjsax force-pushed the add-quickstart-test branch from 3fd34ea to 7fc213e Compare March 16, 2019 02:58
@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Mar 16, 2019

Rebased to get the fix from #6194.

@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Mar 16, 2019

Java11 failed with known flaky tests.

Java8 failed with (https://builds.apache.org/job/kafka-pr-jdk8-scala2.11/20398/console):

22:29:21 org.apache.kafka.streams.KafkaStreamsTest.statefulTopologyShouldCreateStateDirectory failed, log available in /home/jenkins/jenkins-slave/workspace/kafka-pr-jdk8-scala2.11/streams/build/reports/testOutput/org.apache.kafka.streams.KafkaStreamsTest.statefulTopologyShouldCreateStateDirectory.test.stdout
22:29:21 
22:29:21 org.apache.kafka.streams.KafkaStreamsTest > statefulTopologyShouldCreateStateDirectory FAILED
22:29:21     java.io.UncheckedIOException: java.nio.file.NoSuchFileException: /tmp/kafka-9Bd3Q/appId/1_0/rocksdb/statefulTopologyShouldCreateStateDirectory-counts/000007.dbtmp
22:29:21         at java.nio.file.FileTreeIterator.fetchNextIfNeeded(FileTreeIterator.java:88)
22:29:21         at java.nio.file.FileTreeIterator.hasNext(FileTreeIterator.java:104)
22:29:21         at java.util.Iterator.forEachRemaining(Iterator.java:115)
22:29:21         at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
22:29:21         at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
22:29:21         at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
22:29:21         at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
22:29:21         at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
22:29:21         at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
22:29:21         at org.apache.kafka.streams.KafkaStreamsTest.startStreamsAndCheckDirExists(KafkaStreamsTest.java:744)
22:29:21         at org.apache.kafka.streams.KafkaStreamsTest.statefulTopologyShouldCreateStateDirectory(KafkaStreamsTest.java:661)
22:29:21 
22:29:21         Caused by:
22:29:21         java.nio.file.NoSuchFileException: /tmp/kafka-9Bd3Q/appId/1_0/rocksdb/statefulTopologyShouldCreateStateDirectory-counts/000007.dbtmp
22:29:21             at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
22:29:21             at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
22:29:21             at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
22:29:21             at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
22:29:21             at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144)
22:29:21             at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
22:29:21             at java.nio.file.Files.readAttributes(Files.java:1737)
22:29:21             at java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:219)
22:29:21             at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:276)
22:29:21             at java.nio.file.FileTreeWalker.next(FileTreeWalker.java:372)
22:29:21             at java.nio.file.FileTreeIterator.fetchNextIfNeeded(FileTreeIterator.java:84)
22:29:21             ... 10 more

Is this an environmental issue or indicates a flaky test?

Retest this please.

@mjsax
Copy link
Copy Markdown
Member Author

mjsax commented Mar 18, 2019

Java 11 failed. Created ticket.
Java 8 passed.

Retest this please.

Copy link
Copy Markdown
Member

@bbejeck bbejeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bbejeck bbejeck merged commit 4cae452 into apache:trunk Mar 21, 2019
@bbejeck
Copy link
Copy Markdown
Member

bbejeck commented Mar 21, 2019

Merged #6431 into trunk.

@mjsax mjsax deleted the add-quickstart-test branch March 22, 2019 00:59
jarekr pushed a commit to confluentinc/kafka that referenced this pull request Apr 18, 2019
* apache/trunk: (23 commits)
  KAFKA-7986: Distinguish logging from different ZooKeeperClient instances (apache#6493)
  KAFKA-8102: Add an interval-based Trogdor transaction generator (apache#6444)
  MINOR: Fix misspelling in protocol documentation
  KAFKA-8150: Fix bugs in handling null arrays in generated RPC code (apache#6489)
  KAFKA-8014: Extend Connect integration tests to add and remove workers dynamically (apache#6342)
  MINOR: Remove line for testing repartition topic name (apache#6488)
  MINOR: add MacOS requirement to Streams docs
  MINOR: fix message protocol help text for ElectPreferredLeadersResult (apache#6479)
  MINOR: list-topics should not require topic param
  MINOR: Clean up ThreadCacheTest (apache#6485)
  MINOR: Avoid unnecessary collection copy in MetadataCache (apache#6397)
  KAFKA-8142: Fix NPE for nulls in Headers (apache#6484)
  KAFKA-7243: Add unit integration tests to validate metrics in Kafka Streams (apache#6080)
  MINOR: Add verification step for Streams archetype to Jenkins build (apache#6431)
  KAFKA-7819: Improve RoundTripWorker (apache#6187)
  KAFKA-7989: RequestQuotaTest should wait for quota config change before running tests (apache#6482)
  KAFKA-8098: Fix Flaky Test testConsumerGroups
  KAFKA-6958: Add new NamedOperation interface to enforce consistency in naming operations (apache#6409)
  MINOR: capture result timestamps in Kafka Streams DSL tests (apache#6447)
  MINOR: updated names for deprecated streams constants (apache#6466)
  ...
pengxiaolong pushed a commit to pengxiaolong/kafka that referenced this pull request Jun 14, 2019
…pache#6431)

Updates ./jenkins.sh to build stream archetype and install it in local maven cache. Afterward, archetype is used to create a new maven project and maven project is compiled for verification.

Reviewers: Guozhang Wang <wangguoz@gmail.com>, John Roesler <john@confluent.io>,  Bill Bejeck <bbejeck@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants