Skip to content

Conversation

@runyontr
Copy link
Contributor

What is this PR for?

This pull request is a follow of #276 started by @raj-bains. The additional commits address comments from the pull request regarding string creation and error propagation for bad object requests.

What type of PR is it?

[Bug Fix | Improvement | Feature | Documentation | Hot Fix | Refactoring]
Feature/Subtask

Todos

Is there a relevant Jira issue?

ZEPPELIN-198

How should this be tested?

Outline the steps to test the PR here.

Screenshots (if appropriate)

selection_001
selection_002
selection_003
selection_004

Questions:

  • Does the licenses files need update? No
  • Is there breaking changes for older versions? No
  • Does this needs documentation? No

file/pom.xml Outdated
<artifactId>zeppelin-file</artifactId>
<packaging>jar</packaging>
<version>0.6.0-incubating-SNAPSHOT</version>
<name>Zeppelin: File Manager</name>
Copy link
Member

Choose a reason for hiding this comment

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

should probably say HDFS File Interpreter

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently the only file system implemented in this project is HDFS. The breakout of having a generic FileInterpreter that that other file systems could easily extend would enable faster turn around on future file system interpreters such as S3, Swift, or Ceph. (the two funcions required are listAll and isDirectory)

I see two paths:

  1. Change the current name to reflect its current use, and have the next implementation that uses this class rename later to be more generic, in which case I agree HDFS File Interpreter should be the name here.
  2. Rename to something that would suggest to new developers that this is where "File System Interpreters" should be created. I propose Zeppelin File System Interpreters

Copy link
Member

Choose a reason for hiding this comment

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

Zeppelin File System Interpreters sounds ok to me.

Copy link
Member

Choose a reason for hiding this comment

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

Documentation uses HDFS File Interpreter while package name does not.
@runyontr could you update documentation?

You'll also need to add an link https://github.com/apache/incubator-zeppelin/blob/master/docs/_includes/themes/zeppelin/_navigation.html#L41

@@ -0,0 +1,13 @@
----------------------------------------------------------------
Copy link
Member

Choose a reason for hiding this comment

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

hmm .. is this added by accident or missing .gitignore?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It looks like both were an issue. I accidentally added it, and it wasn't in the gitignore. When I deleted the file and removed it from git, after re-running mvn clean package, git wanted to add the file again. I've added a line to the .gitingore file to prevent this from happening again.

---
{% include JB/setup %}
.add(HDFS_USER, "hdfs", "The WebHDFS user")
.add(HDFS_MAXLENGTH, "1000", "Maximum number of lines of results fetched").build());
Copy link
Member

Choose a reason for hiding this comment

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

Is it intended to be here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, its absolutely not supposed to be there.

<br/>
This interpreter connects to HDFS using the HTTP WebHDFS interface.
It supports the basic shell file commands applied to HDFS, it currently only supports browsing
* You can use <i>ls [PATH]</i> and <i>ls -l [PATH]</i> to list a directory. If the path is missing, then the current directory is listed. <i>ls </i> supports a <i>-h</h> flag for human readable file sizes.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think <i>-h</h> should be changed to <i>-h</i> since all sentences after this are shown italic font.
screen shot 2016-03-07 at 3 37 31 pm

@runyontr
Copy link
Contributor Author

runyontr commented Mar 8, 2016

Thank you all for the comments. I've noticed that now there is a note for this pull request that this branch has conflicts that must be resolved. Would you like me to re-merge in the current master branch from apache/incubator-zeppelin, or will the approver of the pull request deal with the merge conflicts that have come up from pulling new branches into master?

@Leemoonsoo
Copy link
Member

It's more recommended to merge current master to solve conflict. That'll run additional CI test before merge it into master.

# Conflicts:
#	conf/zeppelin-site.xml.template
static {
Interpreter.register(
"hdfs",
"hdfs",
Copy link
Member

Choose a reason for hiding this comment

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

The second "hdfs" is interpreter group name.
If 'file' interpreter submodule planning to have more implementation other than HDFSFileInterpreter, i suggest change group name as "file".

@Leemoonsoo
Copy link
Member

I have tested and working well. Thanks for the contribution!
I left few more comments. And you also probably want to add org.apache.zeppelin.file.HDFSFileInterpreter to ZeppelinConfiguration.java and conf/zeppelin-site.xml.template.


(CDDL 1.0) javax.activation (javax.activation:activation:jar:1.1.1 - http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp)
(CDDL 1.1) Jersey (com.sun.jersey:jersey:jar:1.9 - https://jersey.java.net/)
(CDDL 1.1) (GPL2) jersey-core (org.glassfish.jersey.core:jersey-core:2.22.2 - https://jersey.java.net/)
Copy link
Member

Choose a reason for hiding this comment

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

I think we can remove (GPL2) here, if we're providing jersey-core under CDDL 1.1 license.
Also all transitive dependency (e.g. org.glassfish.hk2:hk2-api, etc) need to be addressed, if license of jersey-core doesn't cover them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll make that change later and push the amended version back up.

WRT the transitive dependencies: I'm not very familiar with licensing and had a question: If there's a main package reference (e.g. org.glassfish.jersey in our case) that is provided under a particular license (e.g. CDDL 1.1) it's not true that the particular license covers all the dependencies of that package?

I'll run through the list individually and add any items that are needed.

Copy link
Member

Choose a reason for hiding this comment

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

Addressing all the transitive dependency is hard work. but, transitive dependencies are no different from first order dependencies. Please check here.

@Leemoonsoo
Copy link
Member

Looks good to me.

@Leemoonsoo
Copy link
Member

Merge if there're no more discussions

@asfgit asfgit closed this in b45663d Mar 17, 2016
onkarshedge pushed a commit to onkarshedge/incubator-zeppelin that referenced this pull request May 11, 2016
### What is this PR for?
This pull request is a follow of apache#276 started by raj-bains.  The additional commits address comments from the pull request regarding string creation and error propagation for bad object requests.

### What type of PR is it?
[Bug Fix | Improvement | Feature | Documentation | Hot Fix | Refactoring]
Feature/Subtask
### Todos

### Is there a relevant Jira issue?
[ZEPPELIN-198](https://issues.apache.org/jira/browse/ZEPPELIN-198)
### How should this be tested?
Outline the steps to test the PR here.

### Screenshots (if appropriate)

![selection_001](https://cloud.githubusercontent.com/assets/9200575/13370345/87a922ac-dcd2-11e5-9217-66ec21c016de.png)
![selection_002](https://cloud.githubusercontent.com/assets/9200575/13370347/89a5603e-dcd2-11e5-9555-9c38167e8667.png)
![selection_003](https://cloud.githubusercontent.com/assets/9200575/13370359/b9bbadc8-dcd2-11e5-97bd-47d216f0c7da.png)
![selection_004](https://cloud.githubusercontent.com/assets/9200575/13370364/16ff9274-dcd3-11e5-9b4c-f324e7035c20.png)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Tom Runyon <runyontr@gmail.com>
Author: Raj Bains <rajbains@Rajs-MacBook-Pro.local>

Closes apache#752 from runyontr/master and squashes the following commits:

f7bfef8 [Tom Runyon] ZEPPELIN-198 added transitive dependency lincense information
af16ce0 [Tom Runyon] ZEPPELIN-198 removed GPL2 reference from license file
5e9e131 [Tom Runyon] ZEPPELIN-198 Updated ZeppelinConfiguration to hold HDFS interpreter
9832622 [Tom Runyon] ZEPPELIN-198 Changed group for hdfs interpreter
c34a913 [Tom Runyon] ZEPPELIN-198 Updated licenses file to include org.glassfish.jersey.core
8d0ee3d [Tom Runyon] Merge https://github.com/apache/incubator-zeppelin
9f66514 [Tom Runyon] ZEPPELIN-198 Removed extra copy of configuration table and fixed formatting issues for hdfs.md
5938b0e [Tom Runyon] ZEPPELIN-198 Updated documentation to be consistent with naming between pom file and interpreter documentation.
67bbc5b [Tom Runyon] ZEPPELIN-198 Added navigation to hdfs interpreter
1c7a5c2 [Tom Runyon] ZEPPELIN-198 removed errant text in documentation.
56a5174 [Tom Runyon] ZEPPELIN-198 fixed logging to match standards
933c890 [Tom Runyon] MAINT Updated .gitignore file to remove zeppelin-server/derby.log
29540df [Tom Runyon] ZEPPELIN-198 removed zeppelin-server/derby.log
71d53d3 [Tom Runyon] ZEPPELIN-198 Changed pom name to Zeppelin File System Interpreters to match functionality
aec0512 [Tom Runyon] ZEPPELIN-198 Fixed compile error for error logging.
d24f4c0 [Tom Runyon] ZEPPELIN-198 Added error logging when returning error in interpet
227b815 [Tom Runyon] ZEPPELIN-198 Updated interpreter documentation.
b505391 [Tom Runyon] ZEPPELIN-198 Added completion functionality to HDFSInterpreter
32ed7cb [Tom Runyon] ZEPPELIN-198 Added -h flag for human readable byte sizes.  Updated string creation to StringBuilder.
797fd29 [Tom Runyon] Added org.glassfish.jersey.core to pom.xml file for hdfs intepretor
27e0438 [Tom Runyon] Modified string creation to use StringBuilder
79f0d90 [Tom Runyon] Merge branch 'master' of https://github.com/raj-bains/incubator-zeppelin
70507a8 [Raj Bains] Add Documentation and a missing dependency for HDFS File Browser
1239fe6 [Raj Bains] Merge remote-tracking branch 'upstream/master'
7d61e5f [Raj Bains] This is the first reviewed version of File Interpreter that adds basic ls, cd and pwd functionality against WebHDFS. It addresses ZEPPELIN-198
865e6ab [Raj Bains] Add File Interpreter, HDFS Interpreter and Tests
asfgit pushed a commit that referenced this pull request Jun 26, 2016
Closes #276 (fixed by #752)
Closes #381 (fixed by #378)
Closes #933 (fixed by #1043)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants