[
https://issues.apache.org/jira/browse/HADOOP-16210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16804909#comment-16804909
]
Gabor Bota commented on HADOOP-16210:
-------------------------------------
Here is my opinion and justification about the other findbugs issues:
* *Null passed for non-null parameter of
com.google.common.base.Preconditions.checkState(boolean, String, Object,
Object, Object) in
org.apache.hadoop.hdfs.qjournal.server.Journal.getPersistedPaxosData(long)*
In {{org/apache/hadoop/hdfs/qjournal/server/Journal.java:1064}} we call
{code:java}
Preconditions.checkState(ret != null &&
ret.getSegmentState().getStartTxId() == segmentTxId,
"Bad persisted data for segment %s: %s ; journal id: %s",
segmentTxId, ret, journalId);
{code}
for this call findbug assumes that {{Argument 4 might be null but must not be
null}}, but Guava 27.0's
{{com.google.common.base.Preconditions#checkState(boolean, java.lang.String,
java.lang.Object, java.lang.Object, java.lang.Object)}} is annotated like the
following:
{code:java}
public static void checkState(
boolean b,
@Nullable String errorMessageTemplate,
@Nullable Object p1,
@Nullable Object p2,
@Nullable Object p3) {
{code}
so we have {{@Nullable}} on each parameter for the method. I don't see this
warning as justified, or need to be fixed.
* *Null passed for non-null parameter of
com.google.common.base.Preconditions.checkArgument(boolean, String, Object) in
org.apache.hadoop.hdfs.qjournal.server.JournalNode.getLogDir(String, String)*
In org/apache/hadoop/hdfs/qjournal/server/JournalNode.java:325 we call
{code:java}
Preconditions.checkArgument(jid != null &&
!jid.isEmpty(),
"bad journal identifier: %s", jid);
{code}
for this call findbug assumes that {{Argument 3 might be null but must not be
null}}, but Guava 27.0's
{{com.google.common.base.Preconditions#checkArgument(boolean, java.lang.String,
java.lang.Object)}} is annotated like the following:
{code:java}
public static void checkArgument(
boolean b, @Nullable String errorMessageTemplate, @Nullable Object p1) {
{code}
so we have {{@Nullable}} on argument 3, and that renders the assumption
incorrect.
* *Nullcheck of jid at line 346 of value previously dereferenced in
org.apache.hadoop.hdfs.qjournal.server.JournalNode.getLogDir(String, String)*
This is about the {{assert jid != null;}} at JournalNode.java:346. IMHO that
check is for devs to inform that the variable can't be null at that point - so
just for visibility. I would leave it as is, it's not a redundant check, just
additional information. (I'm not a fan of using {{assert}} in production code,
but if it's there we can leave it).
> Update guava to 27.0-jre in hadoop-project trunk
> ------------------------------------------------
>
> Key: HADOOP-16210
> URL: https://issues.apache.org/jira/browse/HADOOP-16210
> Project: Hadoop Common
> Issue Type: Sub-task
> Affects Versions: 3.3.0
> Reporter: Gabor Bota
> Assignee: Gabor Bota
> Priority: Critical
> Attachments: HADOOP-16210.001.patch
>
>
> com.google.guava:guava should be upgraded to 27.0-jre due to new CVE's found
> CVE-2018-10237.
> This is a sub-task for trunk from HADOOP-15960 to track issues with that
> particular branch.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]