-
Notifications
You must be signed in to change notification settings - Fork 9.2k
HADOOP-16998 WASB : NativeAzureFsOutputStream#close() throwing java.l… #2073
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ang.IllegalArgumentException instead of IOE which causes HBase RS to get aborted.
ramkrish86
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non binding.
liuml07
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
nit: you may want to fix the checkstyle warnings, @anoopsjohn
Will keep it open this week so @steveloughran may take a look.
ayushtkn
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
steveloughran
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggested some changes. Also add a try-with-resources implicit close() wrapping a failing close(); that's where abfs + gzip was having problems
|
|
||
| import org.apache.hadoop.fs.StreamCapabilities; | ||
| import org.apache.hadoop.fs.Syncable; | ||
| import org.slf4j.Logger; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put in an import block just above the org.apache one. I know a lot of classes don't do that -but that is because the move from o.a.commons.logging to SLF4J was done with 'sed'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
org.apache.hadoop.classification.InterfaceAudience was wrongly placed. Corrected it now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry, i meant "org.slf4j to go into a block above the org.apache one", below the java. one...its where we like keep the non-apache, non-static imports
...ools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestSyncableDataOutputStream.java
Outdated
Show resolved
Hide resolved
...ools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestSyncableDataOutputStream.java
Outdated
Show resolved
Hide resolved
…ang.IllegalArgumentException instead of IOE which causes HBase RS to get aborted.
|
javadoc error is not related but checkstyle warning is related? |
…ang.IllegalArgumentException instead of IOE which causes HBase RS to get aborted.
Checkstyle is reported in test class So checkstyle applicable for Test classes also in Hadoop? This is my first patch here and so not really aware. Anyways I have pushed a new commit with private modifier. This was a static inner class in Test class so easy thing. |
steveloughran
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code is good, just those imports. Imports are a PITA as they create so much merge conflict.
in new code, current layout is
java.*
javax.*
all non static but org apache
org.apache.*
import static
``
existing code: keep the diff to a minimum, no reorder, etc, just to keep cherrypicking and merging of multiple patches viable
other than that: all good to go
|
|
||
| import org.apache.hadoop.fs.StreamCapabilities; | ||
| import org.apache.hadoop.fs.Syncable; | ||
| import org.slf4j.Logger; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry, i meant "org.slf4j to go into a block above the org.apache one", below the java. one...its where we like keep the non-apache, non-static imports
| import java.io.OutputStream; | ||
|
|
||
| import org.apache.hadoop.test.LambdaTestUtils; | ||
| import org.junit.Test; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
again, org.junit to a (new) "non org.apache imports' block
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Steve for explaining..
Sorry I did the organize import at eclipse level and just used the same import formatter what using for hbase.
Did the 2 import order changes as u suggested and pushed.
…ang.IllegalArgumentException instead of IOE which causes HBase RS to get aborted.
steveloughran
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
call me fussy for being strict about comments but for all the places where we have "false" merge conflict it's there. I wish we had spark's 'reject all patches with the wrong settings' check -but it is too late now. instead we do it by hand, and have to expect it to decay. What we can do is start right and hope to retain
please look at the previous discusssion and the ordering I discussed there.
|
|
||
| import org.apache.hadoop.fs.StreamCapabilities; | ||
| import org.apache.hadoop.fs.Syncable; | ||
| import org.apache.hadoop.classification.InterfaceAudience; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we are getting so close here. Now move this up to L28.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mean move to L27 so that org.slf4j and org.apche are single block?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry Steve am not getting fully.
So you say move this entire org.apache block to L27 (So that new new line between org.slf4j and org.apache block)
Or u want to move import org.apache.hadoop.classification.InterfaceAudience; (In L30) to L28 so that within org.apache block things are properly imported in order and still keep this org.apache and org.slf as 2 blocks.
|
This is still open. @steveloughran do you have a chance to look at the latest code and also question @anoopsjohn has? Thanks, |
|
Sorry I got confused with the order of imports that we follow in Hadoop.. Do we have a code formatter for Eclipse which specify the import order? Let me anyways change that in my PR. |
…ang.IllegalArgumentException instead of IOE which causes HBase RS to get aborted.
swapped the final two import blocks
|
merged to trunk; rebuilding branch 3.3 with the patch cherrypicked.. not quite set up to run wasb tests there so just validating that the patch went in OK |
|
💔 -1 overall
This message was automatically generated. |
…alArgumentException (#2073) Contributed by Anoop Sam John.
…ang.IllegalArgumentException instead of IOE which causes HBase RS to get aborted.