[jira] [Created] (HBASE-24617) Enable injecting build start time value as part of build

2020-06-22 Thread Matthew Foley (Jira)
Matthew Foley created HBASE-24617:
-

 Summary: Enable injecting build start time value as part of build
 Key: HBASE-24617
 URL: https://issues.apache.org/jira/browse/HBASE-24617
 Project: HBase
  Issue Type: Improvement
  Components: create-release, UI
Affects Versions: 3.0.0-alpha-1, 2.3.0
Reporter: Matthew Foley
Assignee: Matthew Foley


The HBase build's creation time is presented in the HBase UI, and made 
available through Java, via the {{org.apache.hadoop.hbase.Version}} class's 
{{date}} value, which is generated at build time by 
{{hbase-common/src/saveVersion.sh}}. The script just invokes the shell command 
{{date}} and captures its result as a string.

The problem is, this occurs every time hbase-common is built. And, for good and 
sufficient reason, when making a release via dev-support/create-release, the 
task for building and deploying hbase jars as maven libraries and the task for 
building binary release artifacts as tarballs, EACH do a {{clean}} build. Thus, 
the build time found in the libs is different from the build time found in the 
release tarballs.

There is value in keeping the two tasks independent, and able to run fully each 
by themselves. And there is value in doing a {{clean}} at the start of such 
processes, to make sure you're releasing binaries that exactly match the source 
code.

So to keep these benefits, but enable the start time to be determined once and 
used for a couple builds in a row in a given environment, I propose to allow 
injecting the desired value. Specifically, I want to change saveVersion.sh to 
look for an existing value of env var HBASE_BUILD_TIME, and if it exists use it 
instead of calling {{date}}. One would of course set it as part of the build 
process (in create-release) and clear this value by unsetting the environment 
variable when done with the build.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24589) In HBase UI, srcChecksum has bad content

2020-06-19 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24589:
--
Description: 
The value of srcChecksum displayed in the HBase UI is generated at build time 
by 
https://github.com/apache/hbase/blob/master/hbase-common/src/saveVersion.sh#L53-L61

On a Linux build host,
if `openssl`(v 1.1.1) is available, the resulting value of srcChecksum is 
`(stdin)=`
else if `gpg` (v 2.2.19) is available, the value is only the first 8-character 
substring of the sha512 hash.

On a Mac build host,
if `openssl`(LibreSSL 2.8.3) is available, the resulting value of srcChecksum 
is correct
else if `gpg` (v 2.2.19) is available, the value is again the first 8-character 
substring of the sha512 hash.

Furthermore, while "sha512" is well defined and gives the same value from all 
four programs, the associated leader text for file names has a different 
format, and gpg generates uppercase hex divided into 8-character blocks while 
openssl generates lowercase hex in a single string.  Either of these 
differences will cause the sum-of-sums generated by openssl and gpg to be 
different!  Which is unacceptable if srcChecksum is to be used for validation.


  was:
The value of srcChecksum displayed in the HBase UI is generated at build time 
by 
https://github.com/apache/hbase/blob/master/hbase-common/src/saveVersion.sh#L53-L61

On a Linux build host,
if `openssl`(v 1.1.1) is available, the resulting value of srcChecksum is 
`(stdin)=`
else if `gpg` (v 2.2.19) is available, the value is only the first 8-character 
substring of the sha512 hash.

On a Mac build host,
if `openssl`(LibreSSL 2.8.3) is available, the resulting value of srcChecksum 
is correct
else if `gpg` (v 2.2.19) is available, the value is again the first 8-character 
substring of the sha512 hash.

Furthermore, while "sha512" is well defined and gives the same value from all 
four programs, the associated leader text for file names has a different 
format, therefore the sum-of-sums generated by openssl and gpg will be 
different!  Which is unacceptable if srcChecksum is to be used for validation.



> In HBase UI, srcChecksum has bad content
> 
>
> Key: HBASE-24589
> URL: https://issues.apache.org/jira/browse/HBASE-24589
> Project: HBase
>  Issue Type: Bug
>  Components: UI
>Affects Versions: 3.0.0-alpha-1, 2.3.0
>Reporter: Matthew Foley
>Assignee: Matthew Foley
>Priority: Minor
>
> The value of srcChecksum displayed in the HBase UI is generated at build time 
> by 
> https://github.com/apache/hbase/blob/master/hbase-common/src/saveVersion.sh#L53-L61
> On a Linux build host,
> if `openssl`(v 1.1.1) is available, the resulting value of srcChecksum is 
> `(stdin)=`
> else if `gpg` (v 2.2.19) is available, the value is only the first 
> 8-character substring of the sha512 hash.
> On a Mac build host,
> if `openssl`(LibreSSL 2.8.3) is available, the resulting value of srcChecksum 
> is correct
> else if `gpg` (v 2.2.19) is available, the value is again the first 
> 8-character substring of the sha512 hash.
> Furthermore, while "sha512" is well defined and gives the same value from all 
> four programs, the associated leader text for file names has a different 
> format, and gpg generates uppercase hex divided into 8-character blocks while 
> openssl generates lowercase hex in a single string.  Either of these 
> differences will cause the sum-of-sums generated by openssl and gpg to be 
> different!  Which is unacceptable if srcChecksum is to be used for validation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24589) In HBase UI, srcChecksum has bad content

2020-06-18 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24589:
--
Description: 
The value of srcChecksum displayed in the HBase UI is generated at build time 
by 
https://github.com/apache/hbase/blob/master/hbase-common/src/saveVersion.sh#L53-L61

On a Linux build host,
if `openssl`(v 1.1.1) is available, the resulting value of srcChecksum is 
`(stdin)=`
else if `gpg` (v 2.2.19) is available, the value is only the first 8-character 
substring of the sha512 hash.

On a Mac build host,
if `openssl`(LibreSSL 2.8.3) is available, the resulting value of srcChecksum 
is correct
else if `gpg` (v 2.2.19) is available, the value is again the first 8-character 
substring of the sha512 hash.

Furthermore, while "sha512" is well defined and gives the same value from all 
four programs, the associated leader text for file names has a different 
format, therefore the sum-of-sums generated by openssl and gpg will be 
different!  Which is unacceptable if srcChecksum is to be used for validation.


  was:
The value of srcChecksum displayed in the HBase UI is generated at build time 
by 
https://github.com/apache/hbase/blob/master/hbase-common/src/saveVersion.sh#L53-L61

On a Linux build host,
if `openssl`(v 1.1.1) is available, the resulting value of srcChecksum is 
`(stdin)=`
else if `gpg` (v 2.2.19) is available, the value is only the first 8-character 
substring of the sha512 hash.

On a Mac build host,
if `openssl`(LibreSSL 2.8.3) is available, the resulting value of srcChecksum 
is correct
else if `gpg` (v 2.2.19) is available, the value is again the first 8-character 
substring of the sha512 hash.




> In HBase UI, srcChecksum has bad content
> 
>
> Key: HBASE-24589
> URL: https://issues.apache.org/jira/browse/HBASE-24589
> Project: HBase
>  Issue Type: Bug
>  Components: UI
>Affects Versions: 3.0.0-alpha-1, 2.3.0
>Reporter: Matthew Foley
>Assignee: Matthew Foley
>Priority: Minor
>
> The value of srcChecksum displayed in the HBase UI is generated at build time 
> by 
> https://github.com/apache/hbase/blob/master/hbase-common/src/saveVersion.sh#L53-L61
> On a Linux build host,
> if `openssl`(v 1.1.1) is available, the resulting value of srcChecksum is 
> `(stdin)=`
> else if `gpg` (v 2.2.19) is available, the value is only the first 
> 8-character substring of the sha512 hash.
> On a Mac build host,
> if `openssl`(LibreSSL 2.8.3) is available, the resulting value of srcChecksum 
> is correct
> else if `gpg` (v 2.2.19) is available, the value is again the first 
> 8-character substring of the sha512 hash.
> Furthermore, while "sha512" is well defined and gives the same value from all 
> four programs, the associated leader text for file names has a different 
> format, therefore the sum-of-sums generated by openssl and gpg will be 
> different!  Which is unacceptable if srcChecksum is to be used for validation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-24589) In HBase UI, srcChecksum has bad content

2020-06-18 Thread Matthew Foley (Jira)
Matthew Foley created HBASE-24589:
-

 Summary: In HBase UI, srcChecksum has bad content
 Key: HBASE-24589
 URL: https://issues.apache.org/jira/browse/HBASE-24589
 Project: HBase
  Issue Type: Bug
  Components: UI
Affects Versions: 3.0.0-alpha-1, 2.3.0
Reporter: Matthew Foley
Assignee: Matthew Foley


The value of srcChecksum displayed in the HBase UI is generated at build time 
by 
https://github.com/apache/hbase/blob/master/hbase-common/src/saveVersion.sh#L53-L61

On a Linux build host,
if `openssl`(v 1.1.1) is available, the resulting value of srcChecksum is 
`(stdin)=`
else if `gpg` (v 2.2.19) is available, the value is only the first 8-character 
substring of the sha512 hash.

On a Mac build host,
if `openssl`(LibreSSL 2.8.3) is available, the resulting value of srcChecksum 
is correct
else if `gpg` (v 2.2.19) is available, the value is again the first 8-character 
substring of the sha512 hash.





--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17127022#comment-17127022
 ] 

Matthew Foley edited comment on HBASE-24482 at 6/5/20, 7:13 PM:


As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, in HBCKMetaTableAccessor.java, and added a 
javax.annotation dependency to the hbase-hbck2/pom.xml, as 
{{com.google.code.findbugs:jsr305}}

As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as 
[HBASE-24482_missing_symbols_part_2.log|https://jira.apache.org/jira/secure/attachment/13004958/HBASE-24482_missing_symbols_part_2.log]

 


was (Author: mattf):
As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, and added a javax.annotation dependency to the 
hbase-hbck2 pom, as {{com.google.code.findbugs:jsr305}}

As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as 
[HBASE-24482_missing_symbols_part_2.log|https://jira.apache.org/jira/secure/attachment/13004958/HBASE-24482_missing_symbols_part_2.log]

 

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing dependencies
> --
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log, 
> HBASE-24482_missing_symbols_part_2.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> *Later Edit:* After addressing this missing dependency (see comment of 5 June 
> below), it unmasked a bunch more, in the hbck1 code path.  Please see second 
> attachment.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17127022#comment-17127022
 ] 

Matthew Foley edited comment on HBASE-24482 at 6/5/20, 7:11 PM:


As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, and added a javax.annotation dependency to the 
hbase-hbck2 pom, as {{com.google.code.findbugs:jsr305}}

As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as 
[HBASE-24482_missing_symbols_part_2.log|https://jira.apache.org/jira/secure/attachment/13004958/HBASE-24482_missing_symbols_part_2.log]

 


was (Author: mattf):
As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, and added a javax.annotation dependency to the 
hbase-hbck2 pom, as {{com.google.code.findbugs:jsr305}}

As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as [#HBASE-24482_missing_symbols_part_2.log]

 

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing dependencies
> --
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log, 
> HBASE-24482_missing_symbols_part_2.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> *Later Edit:* After addressing this missing dependency (see comment of 5 June 
> below), it unmasked a bunch more, in the hbck1 code path.  Please see second 
> attachment.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17127022#comment-17127022
 ] 

Matthew Foley edited comment on HBASE-24482 at 6/5/20, 7:10 PM:


As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, and added a javax.annotation dependency to the 
hbase-hbck2 pom, as {{com.google.code.findbugs:jsr305}}

As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as [#HBASE-24482_missing_symbols_part_2.log]

 


was (Author: mattf):
As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, and added a javax.annotation dependency to the 
hbase-hbck2 pom, as {{com.google.code.findbugs:jsr305}}

{{}}As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as HBASE-24482_missing_symbols_part_2.log

 

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing dependencies
> --
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log, 
> HBASE-24482_missing_symbols_part_2.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> *Later Edit:* After addressing this missing dependency (see comment of 5 June 
> below), it unmasked a bunch more, in the hbck1 code path.  Please see second 
> attachment.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17127022#comment-17127022
 ] 

Matthew Foley commented on HBASE-24482:
---

As an experiment, I changed {{edu.umd.cs.findbugs.annotations.Nullable}} to 
{{javax.annotation.Nullable}}, and added a javax.annotation dependency to the 
hbase-hbck2 pom, as {{com.google.code.findbugs:jsr305}}

{{}}As expected, the original “cannot find symbol … Nullable” on 
{{HBCKMetaTableAccessor}} went away, BUT a whole slew of new missing 
symbols/dependencies showed up on {{hbck1}} paths.  The compile failure log is 
attached as HBASE-24482_missing_symbols_part_2.log

 

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing dependencies
> --
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log, 
> HBASE-24482_missing_symbols_part_2.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> *Later Edit:* After addressing this missing dependency (see comment of 5 June 
> below), it unmasked a bunch more, in the hbck1 code path.  Please see second 
> attachment.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24482:
--
Attachment: HBASE-24482_missing_symbols_part_2.log

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing dependencies
> --
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log, 
> HBASE-24482_missing_symbols_part_2.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> *Later Edit:* After addressing this missing dependency (see comment of 5 June 
> below), it unmasked a bunch more, in the hbck1 code path.  Please see second 
> attachment.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24482:
--
Description: 
If we do a local build of the current HBase branch-2.3 as version 
2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 

then attempt to build hbase-operator-tools master branch, with 
-Dhbase.version=2.3.0-SNAPSHOT, 

the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with 
error: "package edu.umd.cs.findbugs.annotations does not exist", followed by 
multiple instances of missing "symbol: class Nullable".  (A longer log extract 
is attached.)

It would appear the default HBase version 2.1.6 made this dependency package 
available in some manner, but the newer HBase does not.

*Later Edit:* After addressing this missing dependency (see comment of 5 June 
below), it unmasked a bunch more, in the hbck1 code path.  Please see second 
attachment.

If the @Nullable annotation is still needed, it may be sufficient to simply add 
it to the hbase-operator-tools pom.xml file, so maven will load it.  However, 
it is actually deprecated in the current documentation for 
edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see eg
 * 
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]

 Does anyone know if that was HBase's approach?

  was:
If we do a local build of the current HBase branch-2.3 as version 
2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 

then attempt to build hbase-operator-tools master branch, with 
-Dhbase.version=2.3.0-SNAPSHOT, 

the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with 
error: "package edu.umd.cs.findbugs.annotations does not exist", followed by 
multiple instances of missing "symbol: class Nullable".  (A longer log extract 
is attached.)

It would appear the default HBase version 2.1.6 made this dependency package 
available in some manner, but the newer HBase does not.

If the @Nullable annotation is still needed, it may be sufficient to simply add 
it to the hbase-operator-tools pom.xml file, so maven will load it.  However, 
it is actually deprecated in the current documentation for 
edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see eg
 * 
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]

 Does anyone know if that was HBase's approach?


> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing dependencies
> --
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> *Later Edit:* After addressing this missing dependency (see comment of 5 June 
> below), it unmasked a bunch more, in the hbck1 code path.  Please see second 
> attachment.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing dependencies

2020-06-05 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24482:
--
Summary: [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, 
due to missing dependencies  (was: [hbase-operator-tools] build of hbck2 fails 
with HBase branch-2.3, due to missing edu.umd.cs.findbugs.annotations 
dependency)

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing dependencies
> --
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing edu.umd.cs.findbugs.annotations dependency

2020-05-31 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17120761#comment-17120761
 ] 

Matthew Foley commented on HBASE-24482:
---

Interesting, grepping the branch-2.3 of HBase, I see the poms do _not_ mention 
edu.umd.cs.findbugs.annotations, and _do_ mention javax.annotation.  BUT there 
are still scads of uses of edu.umd.cs.findbugs.annotations in java files.  The 
tag 2.1.6RC1 has the same behavior.  So I infer that the 
edu.umd.cs.findbugs.annotations package was being pulled in by an indirect 
dependency, and either an assembly or a shadowing somewhere along the line 
changed since 2.1.6.

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing edu.umd.cs.findbugs.annotations dependency
> 
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing edu.umd.cs.findbugs.annotations dependency

2020-05-31 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24482:
--
Description: 
If we do a local build of the current HBase branch-2.3 as version 
2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 

then attempt to build hbase-operator-tools master branch, with 
-Dhbase.version=2.3.0-SNAPSHOT, 

the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with 
error: "package edu.umd.cs.findbugs.annotations does not exist", followed by 
multiple instances of missing "symbol: class Nullable".  (A longer log extract 
is attached.)

It would appear the default HBase version 2.1.6 made this dependency package 
available in some manner, but the newer HBase does not.

If the @Nullable annotation is still needed, it may be sufficient to simply add 
it to the hbase-operator-tools pom.xml file, so maven will load it.  However, 
it is actually deprecated in the current documentation for 
edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see eg
 * 
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]

 Does anyone know if that was HBase's approach?

  was:
If we do a local build of the current HBase branch-2.3 as version 
2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 

then attempt to build hbase-operator-tools master branch, with 
-Dhbase.version=2.3.0-SNAPSHOT, 

the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with 
error: "package edu.umd.cs.findbugs.annotations does not exist", followed by 
multiple instances of missing "symbol: class Nullable".  (A longer log extract 
is attached.)

It would appear the default HBase version 2.1.6 made this dependency package 
available in some manner, but the newer HBase does not.

If the @Nullable annotation is still needed, it may be sufficient to simply add 
it to the hbase-operator-tools pom.xml file, so maven will load it.  However, 
it is actually deprecated in the current documentation for 
edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see eg
 * 
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]

 


> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing edu.umd.cs.findbugs.annotations dependency
> 
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  Does anyone know if that was HBase's approach?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing edu.umd.cs.findbugs.annotations dependency

2020-05-31 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24482:
--
Description: 
If we do a local build of the current HBase branch-2.3 as version 
2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 

then attempt to build hbase-operator-tools master branch, with 
-Dhbase.version=2.3.0-SNAPSHOT, 

the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with 
error: "package edu.umd.cs.findbugs.annotations does not exist", followed by 
multiple instances of missing "symbol: class Nullable".  (A longer log extract 
is attached.)

It would appear the default HBase version 2.1.6 made this dependency package 
available in some manner, but the newer HBase does not.

If the @Nullable annotation is still needed, it may be sufficient to simply add 
it to the hbase-operator-tools pom.xml file, so maven will load it.  However, 
it is actually deprecated in the current documentation for 
edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see eg
 * 
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]

 

  was:
If we do a local build of the current HBase branch-2.3 as version 
2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 

then attempt to build hbase-operator-tools master branch, with 
-Dhbase.version=2.3.0-SNAPSHOT, 

the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with 
error: "package edu.umd.cs.findbugs.annotations does not exist", followed by 
multiple instances of missing "symbol: class Nullable".  (A longer log extract 
is attached.)

It would appear the default HBase version 2.1.6 made this dependency package 
available in some manner, but the newer HBase does not.

If the @Nullable annotation is still needed, it may be sufficient to simply add 
it to the hbase-operator-tools pom.xml file, so maven will load it.  However, 
various commentary online suggest that we should be using the similar 
jsr305.jar (*{{javax.annotation)}}* instead; see eg

* 
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]

 


> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing edu.umd.cs.findbugs.annotations dependency
> 
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, it is actually deprecated in the current documentation for 
> edu.umd.cs.findbugs.annotations. Various commentary online suggest that we 
> should be using the similar jsr305.jar (*{{javax.annotation)}}* instead; see 
> eg
>  * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing edu.umd.cs.findbugs.annotations dependency

2020-05-31 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24482:
--
Attachment: HBASE-24482_compile_error.log

> [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to 
> missing edu.umd.cs.findbugs.annotations dependency
> 
>
> Key: HBASE-24482
> URL: https://issues.apache.org/jira/browse/HBASE-24482
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-operator-tools
>Affects Versions: hbase-operator-tools-1.1.0
>Reporter: Matthew Foley
>Priority: Major
> Attachments: HBASE-24482_compile_error.log
>
>
> If we do a local build of the current HBase branch-2.3 as version 
> 2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 
> then attempt to build hbase-operator-tools master branch, with 
> -Dhbase.version=2.3.0-SNAPSHOT, 
> the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile 
> with error: "package edu.umd.cs.findbugs.annotations does not exist", 
> followed by multiple instances of missing "symbol: class Nullable".  (A 
> longer log extract is attached.)
> It would appear the default HBase version 2.1.6 made this dependency package 
> available in some manner, but the newer HBase does not.
> If the @Nullable annotation is still needed, it may be sufficient to simply 
> add it to the hbase-operator-tools pom.xml file, so maven will load it.  
> However, various commentary online suggest that we should be using the 
> similar jsr305.jar (*{{javax.annotation)}}* instead; see eg
> * 
> [https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-24482) [hbase-operator-tools] build of hbck2 fails with HBase branch-2.3, due to missing edu.umd.cs.findbugs.annotations dependency

2020-05-31 Thread Matthew Foley (Jira)
Matthew Foley created HBASE-24482:
-

 Summary: [hbase-operator-tools] build of hbck2 fails with HBase 
branch-2.3, due to missing edu.umd.cs.findbugs.annotations dependency
 Key: HBASE-24482
 URL: https://issues.apache.org/jira/browse/HBASE-24482
 Project: HBase
  Issue Type: Bug
  Components: hbase-operator-tools
Affects Versions: hbase-operator-tools-1.1.0
Reporter: Matthew Foley


If we do a local build of the current HBase branch-2.3 as version 
2.3.0-SNAPSHOT, and 'mvn install' it in the local maven repository, 

then attempt to build hbase-operator-tools master branch, with 
-Dhbase.version=2.3.0-SNAPSHOT, 

the HBCK2 class file HBCKMetaTableAccessor.java (line 25) fails to compile with 
error: "package edu.umd.cs.findbugs.annotations does not exist", followed by 
multiple instances of missing "symbol: class Nullable".  (A longer log extract 
is attached.)

It would appear the default HBase version 2.1.6 made this dependency package 
available in some manner, but the newer HBase does not.

If the @Nullable annotation is still needed, it may be sufficient to simply add 
it to the hbase-operator-tools pom.xml file, so maven will load it.  However, 
various commentary online suggest that we should be using the similar 
jsr305.jar (*{{javax.annotation)}}* instead; see eg

* 
[https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use]

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-12187) Review in source the paper "Simple Testing Can Prevent Most Critical Failures"

2020-05-21 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-12187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17113667#comment-17113667
 ] 

Matthew Foley commented on HBASE-12187:
---

Not sure whether this ever got done or not, but seeing as the Jira is still 
open, I thought y'all might be interested to know that a couple days ago, 
[https://github.com/google/error-prone/pull/372] , consisting of these rules, 
was finally merged into [error-prone|https://github.com/google/error-prone]!  
No release yet, (last one was version 2.3.4 on 12/2/2019), but maybe someday :)

 

> Review in source the paper "Simple Testing Can Prevent Most Critical Failures"
> --
>
> Key: HBASE-12187
> URL: https://issues.apache.org/jira/browse/HBASE-12187
> Project: HBase
>  Issue Type: Bug
>Reporter: Michael Stack
>Priority: Critical
> Attachments: HBASE-12187.patch, abortInOvercatch.warnings.txt, 
> emptyCatch.warnings.txt, todoInCatch.warnings.txt
>
>
> Review the helpful paper 
> https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf
> It describes 'catastrophic failures', especially issues where exceptions are 
> thrown but not properly handled.  Their static analysis tool Aspirator turns 
> up a bunch of the obvious offenders (Lets add to test-patch.sh alongside 
> findbugs?).  This issue is about going through code base making sub-issues to 
> root out these and others (Don't we have the test described in figure #6 
> already? I thought we did?  If we don't, need to add).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (HBASE-24318) Create-release scripts fixes and enhancements

2020-05-13 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley resolved HBASE-24318.
---
Fix Version/s: 3.0.0-alpha-1
   Resolution: Fixed

> Create-release scripts fixes and enhancements
> -
>
> Key: HBASE-24318
> URL: https://issues.apache.org/jira/browse/HBASE-24318
> Project: HBase
>  Issue Type: Improvement
>  Components: create-release
>Affects Versions: 3.0.0-alpha-1, 2.3.0
> Environment: Linux Docker container, or Mac OS X without Docker
>Reporter: Matthew Foley
>Assignee: Matthew Foley
>Priority: Major
> Fix For: 3.0.0-alpha-1
>
>
> The create-release tools are a set of scripts that promote best practice in 
> making Apache releases, by automating most of the steps and running them 
> under Docker for reliability. However, the current state of the scripts has 
> many bugs and ambiguities.  
> The proposed PR cleans up the code and clarifies usage. It enables:
> - Clear statement of the four steps, which are now called `tag`, 
> `publish-dist`, `publish-snapshot`, and `publish-release` (the latter two 
> being mutually exclusive alternatives).
> - Ability to do the three tag-dist-release steps with a single command, or do 
> any of the steps singly. (Running singly had bugs and unfulfilled 
> dependencies before.)
> - Ability to do a reliable and useful "dry run" of all steps or each step, 
> and chain together the tag step with publish steps in a dry run.
> - Ability to run any or all steps correctly in Docker or outside of Docker, 
> on Linux and Mac.
> - Cleaned up all `shellcheck` errors in the scripts, and removed ambiguities 
> and redundancies in the many environment variables used.
> In addition, the changes move the code toward being more general / less 
> HBase-specific, so it can be run on any Apache project (while still 
> accommodating HBase-specific features regarding how sub-projects are named 
> and organized in Jira and release repos). In future I propose to take it 
> further along that path, and move create-release into Yetus (recognizing that 
> this create-release code has been passed between a couple other projects 
> already).
> These changes have NO IMPACT on HBase functionality.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-24318) Create-release scripts fixes and enhancements

2020-05-13 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-24318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17106519#comment-17106519
 ] 

Matthew Foley commented on HBASE-24318:
---

Merged to master as commit f3c0a0e06df80a8a8cc5de0a8c5ab2ccf680f973, by 
[~busbey]
Thanks, Sean!

> Create-release scripts fixes and enhancements
> -
>
> Key: HBASE-24318
> URL: https://issues.apache.org/jira/browse/HBASE-24318
> Project: HBase
>  Issue Type: Improvement
>  Components: create-release
>Affects Versions: 3.0.0-alpha-1, 2.3.0
> Environment: Linux Docker container, or Mac OS X without Docker
>Reporter: Matthew Foley
>Assignee: Matthew Foley
>Priority: Major
>
> The create-release tools are a set of scripts that promote best practice in 
> making Apache releases, by automating most of the steps and running them 
> under Docker for reliability. However, the current state of the scripts has 
> many bugs and ambiguities.  
> The proposed PR cleans up the code and clarifies usage. It enables:
> - Clear statement of the four steps, which are now called `tag`, 
> `publish-dist`, `publish-snapshot`, and `publish-release` (the latter two 
> being mutually exclusive alternatives).
> - Ability to do the three tag-dist-release steps with a single command, or do 
> any of the steps singly. (Running singly had bugs and unfulfilled 
> dependencies before.)
> - Ability to do a reliable and useful "dry run" of all steps or each step, 
> and chain together the tag step with publish steps in a dry run.
> - Ability to run any or all steps correctly in Docker or outside of Docker, 
> on Linux and Mac.
> - Cleaned up all `shellcheck` errors in the scripts, and removed ambiguities 
> and redundancies in the many environment variables used.
> In addition, the changes move the code toward being more general / less 
> HBase-specific, so it can be run on any Apache project (while still 
> accommodating HBase-specific features regarding how sub-projects are named 
> and organized in Jira and release repos). In future I propose to take it 
> further along that path, and move create-release into Yetus (recognizing that 
> this create-release code has been passed between a couple other projects 
> already).
> These changes have NO IMPACT on HBase functionality.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24318) Create-release scripts fixes and enhancements

2020-05-05 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthew Foley updated HBASE-24318:
--
Release Note: 
Release Managers will want to take note of two changes in the create-release 
tools:
- The names of the release steps are now `tag`, `publish-dist`, 
`publish-snapshot`, and `publish-release` (the latter two being mutually 
exclusive alternatives).  `Publish-dist` was formerly just named `build`, which 
disguised the fact that it built AND published tarballs to 
https://dist.apache.org/repos/dist/release/ , and that 
publish-snapshot/publish-release do their own build before publishing maven 
artifacts to the Nexus repos.
- "Dry run" has become the _default_ behavior.  Doing a dry run first decreases 
the likelihood of failure part-way through, which could result in inconsistent 
artifacts in the repos. To actually do the release, add the `-f` (force) option 
flag when you invoke `do-release-docker.sh` or `do-release.sh`.  This is 
similar to `-f` usage in some Linux and git commands that have high cost for 
mistakes. This is a change from the former `-n` to turn ON dry run.

> Create-release scripts fixes and enhancements
> -
>
> Key: HBASE-24318
> URL: https://issues.apache.org/jira/browse/HBASE-24318
> Project: HBase
>  Issue Type: Improvement
>  Components: create-release
>Affects Versions: 3.0.0-alpha-1, 2.3.0
> Environment: Linux Docker container, or Mac OS X without Docker
>Reporter: Matthew Foley
>Assignee: Matthew Foley
>Priority: Major
>
> The create-release tools are a set of scripts that promote best practice in 
> making Apache releases, by automating most of the steps and running them 
> under Docker for reliability. However, the current state of the scripts has 
> many bugs and ambiguities.  
> The proposed PR cleans up the code and clarifies usage. It enables:
> - Clear statement of the four steps, which are now called `tag`, 
> `publish-dist`, `publish-snapshot`, and `publish-release` (the latter two 
> being mutually exclusive alternatives).
> - Ability to do the three tag-dist-release steps with a single command, or do 
> any of the steps singly. (Running singly had bugs and unfulfilled 
> dependencies before.)
> - Ability to do a reliable and useful "dry run" of all steps or each step, 
> and chain together the tag step with publish steps in a dry run.
> - Ability to run any or all steps correctly in Docker or outside of Docker, 
> on Linux and Mac.
> - Cleaned up all `shellcheck` errors in the scripts, and removed ambiguities 
> and redundancies in the many environment variables used.
> In addition, the changes move the code toward being more general / less 
> HBase-specific, so it can be run on any Apache project (while still 
> accommodating HBase-specific features regarding how sub-projects are named 
> and organized in Jira and release repos). In future I propose to take it 
> further along that path, and move create-release into Yetus (recognizing that 
> this create-release code has been passed between a couple other projects 
> already).
> These changes have NO IMPACT on HBase functionality.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Work started] (HBASE-24318) Create-release scripts fixes and enhancements

2020-05-05 Thread Matthew Foley (Jira)


 [ 
https://issues.apache.org/jira/browse/HBASE-24318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on HBASE-24318 started by Matthew Foley.
-
> Create-release scripts fixes and enhancements
> -
>
> Key: HBASE-24318
> URL: https://issues.apache.org/jira/browse/HBASE-24318
> Project: HBase
>  Issue Type: Improvement
>  Components: create-release
>Affects Versions: 3.0.0-alpha-1, 2.3.0
> Environment: Linux Docker container, or Mac OS X without Docker
>Reporter: Matthew Foley
>Assignee: Matthew Foley
>Priority: Major
>
> The create-release tools are a set of scripts that promote best practice in 
> making Apache releases, by automating most of the steps and running them 
> under Docker for reliability. However, the current state of the scripts has 
> many bugs and ambiguities.  
> The proposed PR cleans up the code and clarifies usage. It enables:
> - Clear statement of the four steps, which are now called `tag`, 
> `publish-dist`, `publish-snapshot`, and `publish-release` (the latter two 
> being mutually exclusive alternatives).
> - Ability to do the three tag-dist-release steps with a single command, or do 
> any of the steps singly. (Running singly had bugs and unfulfilled 
> dependencies before.)
> - Ability to do a reliable and useful "dry run" of all steps or each step, 
> and chain together the tag step with publish steps in a dry run.
> - Ability to run any or all steps correctly in Docker or outside of Docker, 
> on Linux and Mac.
> - Cleaned up all `shellcheck` errors in the scripts, and removed ambiguities 
> and redundancies in the many environment variables used.
> In addition, the changes move the code toward being more general / less 
> HBase-specific, so it can be run on any Apache project (while still 
> accommodating HBase-specific features regarding how sub-projects are named 
> and organized in Jira and release repos). In future I propose to take it 
> further along that path, and move create-release into Yetus (recognizing that 
> this create-release code has been passed between a couple other projects 
> already).
> These changes have NO IMPACT on HBase functionality.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-24318) Create-release scripts fixes and enhancements

2020-05-04 Thread Matthew Foley (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-24318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17099480#comment-17099480
 ] 

Matthew Foley commented on HBASE-24318:
---

Thanks, here's the link.

> Create-release scripts fixes and enhancements
> -
>
> Key: HBASE-24318
> URL: https://issues.apache.org/jira/browse/HBASE-24318
> Project: HBase
>  Issue Type: Improvement
>  Components: create-release
>Affects Versions: 3.0.0-alpha-1, 2.3.0
> Environment: Linux Docker container, or Mac OS X without Docker
>Reporter: Matthew Foley
>Priority: Major
>
> The create-release tools are a set of scripts that promote best practice in 
> making Apache releases, by automating most of the steps and running them 
> under Docker for reliability. However, the current state of the scripts has 
> many bugs and ambiguities.  
> The proposed PR cleans up the code and clarifies usage. It enables:
> - Clear statement of the four steps, which are now called `tag`, 
> `publish-dist`, `publish-snapshot`, and `publish-release` (the latter two 
> being mutually exclusive alternatives).
> - Ability to do the three tag-dist-release steps with a single command, or do 
> any of the steps singly. (Running singly had bugs and unfulfilled 
> dependencies before.)
> - Ability to do a reliable and useful "dry run" of all steps or each step, 
> and chain together the tag step with publish steps in a dry run.
> - Ability to run any or all steps correctly in Docker or outside of Docker, 
> on Linux and Mac.
> - Cleaned up all `shellcheck` errors in the scripts, and removed ambiguities 
> and redundancies in the many environment variables used.
> In addition, the changes move the code toward being more general / less 
> HBase-specific, so it can be run on any Apache project (while still 
> accommodating HBase-specific features regarding how sub-projects are named 
> and organized in Jira and release repos). In future I propose to take it 
> further along that path, and move create-release into Yetus (recognizing that 
> this create-release code has been passed between a couple other projects 
> already).
> These changes have NO IMPACT on HBase functionality.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-24318) Create-release scripts fixes and enhancements

2020-05-04 Thread Matthew Foley (Jira)
Matthew Foley created HBASE-24318:
-

 Summary: Create-release scripts fixes and enhancements
 Key: HBASE-24318
 URL: https://issues.apache.org/jira/browse/HBASE-24318
 Project: HBase
  Issue Type: Improvement
  Components: create-release
Affects Versions: 3.0.0-alpha-1, 2.3.0
 Environment: Linux Docker container, or Mac OS X without Docker
Reporter: Matthew Foley


The create-release tools are a set of scripts that promote best practice in 
making Apache releases, by automating most of the steps and running them under 
Docker for reliability. However, the current state of the scripts has many bugs 
and ambiguities.  

The proposed PR cleans up the code and clarifies usage. It enables:
- Clear statement of the four steps, which are now called `tag`, 
`publish-dist`, `publish-snapshot`, and `publish-release` (the latter two being 
mutually exclusive alternatives).
- Ability to do the three tag-dist-release steps with a single command, or do 
any of the steps singly. (Running singly had bugs and unfulfilled dependencies 
before.)
- Ability to do a reliable and useful "dry run" of all steps or each step, and 
chain together the tag step with publish steps in a dry run.
- Ability to run any or all steps correctly in Docker or outside of Docker, on 
Linux and Mac.
- Cleaned up all `shellcheck` errors in the scripts, and removed ambiguities 
and redundancies in the many environment variables used.

In addition, the changes move the code toward being more general / less 
HBase-specific, so it can be run on any Apache project (while still 
accommodating HBase-specific features regarding how sub-projects are named and 
organized in Jira and release repos). In future I propose to take it further 
along that path, and move create-release into Yetus (recognizing that this 
create-release code has been passed between a couple other projects already).

These changes have NO IMPACT on HBase functionality.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)