apache yetus: intro to precommit for hbase contributors

10
Apache Yetus: Intro to Precommit for Apache HBase Contributors Allen Wittenauer Effective Machines Apache HBase Meetup 2016-05-23

Upload: allen-wittenauer

Post on 07-Apr-2017

362 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Apache Yetus: Intro to Precommit for HBase Contributors

Apache Yetus: Intro to Precommit for Apache HBase ContributorsAllen Wittenauer Effective Machines

Apache HBase Meetup 2016-05-23

Page 2: Apache Yetus: Intro to Precommit for HBase Contributors

! email: aw @ effectivemachines.com, aw @ apache.org ! github: aw-was-here ! gitlab: _a__w_ ! slideshare: allenwittenauer ! twitter: @_a__w_ ( 1 a 2 w 1 )

22016-05-23

Page 3: Apache Yetus: Intro to Precommit for HBase Contributors

WARNING! Apache Yetus is still a "version-0". This means bits

will likely change in newer releases. This presentation is for v0.3.0 primarily.

Page 4: Apache Yetus: Intro to Precommit for HBase Contributors

Driver

Personality Bug Systems Build Tools Tests

Language Support Static Analysis

Unit Tests

Test Log Processing

4

Page 5: Apache Yetus: Intro to Precommit for HBase Contributors

Apache HBase Personality

!Dictates the defaults

! Two available – Bundled with Apache Yetus – Bundled with Apache HBase (dev-support/hbase-personality.sh)

! For details on using test-patch manually, see: – https://yetus.apache.org/documentation/0.3.0/precommit-basic/

!Adds several Apache HBase-specific tests – hadoopcheck = compile against various Apache Hadoop versions – hbaseprotoc = checks for protobuf problems – hbaseanti = checks for Apache HBase source anti-patterns ! (e.g., using Apache Hadoop annotations)

Page 6: Apache Yetus: Intro to Precommit for HBase Contributors

Patch Naming Conventions

JIRA Project and Issue Number

Branch Revision Patch Filename

HBASE-55 Master 0 HBASE-55.000.patch

HBASE-55 Master 3 HBASE-55.003.patch

HBASE-55 branch-1 0 HBASE-55-branch-1.000.patch

HBASE-55 branch-1.2 2 HBASE-55.branch-1.2.002.patch

HBASE-55 branch-1 2 HBASE-55.branch-1.2.patch ??

Page 7: Apache Yetus: Intro to Precommit for HBase Contributors

Output Anatomy: Vote Table

Precheck

CompileCycle(Branch)

CompileCycle(Patch)

UnitandotherTests

Page 8: Apache Yetus: Intro to Precommit for HBase Contributors

Output Anatomy: Footer

Configura=onInforma=on

MoreinfoonFailures

Page 9: Apache Yetus: Intro to Precommit for HBase Contributors

Log Files are the Key

! Located in --patch-dir/Jenkins artifact dir/linked in footer

! Three kinds – Full logs of maven runs – Individual test logs – Diffs of pre- and post- runs

! Tell them apart: – "Before": branch-* – "After": patch-* – diffs of the two: diff-* – Maven module – JDK version (multijdk mode)

!Generics lack -fixes

Page 10: Apache Yetus: Intro to Precommit for HBase Contributors

Administrivia

!Website: https://yetus.apache.org

!Mailing list: [email protected]

! Twitter: @ApacheYetus

!Current Release: 0.3.0 (2016-05-23)

!Yetus is an archaic synonym of the Cymbium genus of gastropods

! First ASF TLP with a ‘Y’

102016-05-23