YUBI LEE created ZEPPELIN-5594:
----------------------------------

             Summary: HDFS file id should be read as "long", not "int".
                 Key: ZEPPELIN-5594
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-5594
             Project: Zeppelin
          Issue Type: Bug
          Components: Interpreters
    Affects Versions: 0.10.0
            Reporter: YUBI LEE


 
{code:java}
ERROR [2021-11-29 14:46:51,519] 
({FIFOScheduler-org.apache.zeppelin.file.FileInterpreter1871691756-Worker-1} 
HDFSFileInterpreter.java[listAll]:249) - listall: listDir /user/*******
com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected 
an int but was 4947954640 at line 1 column 585 path 
$.FileStatuses.FileStatus[2].fileId {code}
I found this error when using file(hdfs) interpreter.

 

Some paths are okay.

I met this exception when trying to access paths with high file id (above 
integer).

I think that "blockSize" & "fileId" should be declared as "long"

 

Refer to HdfsFileStatus.java,

 
{code:java}
  class Builder {
    // Changing default values will affect cases where values are not
    // specified. Be careful!
    private long length                    = 0L;
    private boolean isdir                  = false;
    private int replication                = 0;
    private long blocksize                 = 0L;
    private long mtime                     = 0L;
    private long atime                     = 0L;
    private FsPermission permission        = null;
    private EnumSet<Flags> flags           = EnumSet.noneOf(Flags.class);
    private String owner                   = null;
    private String group                   = null;
    private byte[] symlink                 = null;
    private byte[] path                    = EMPTY_NAME;
    private long fileId                    = -1L;
    private int childrenNum                = 0;
    private FileEncryptionInfo feInfo      = null;
    private byte storagePolicy             =
        HdfsConstants.BLOCK_STORAGE_POLICY_ID_UNSPECIFIED;
    private ErasureCodingPolicy ecPolicy   = null;
    private LocatedBlocks locations        = null;
...

{code}
 

 
 * HDFSFileInterpreter.java: 
[https://github.com/apache/zeppelin/blob/85ed8e2e51e1ea10df38d4710216343efe218d60/file/src/main/java/org/apache/zeppelin/file/HDFSFileInterpreter.java#L87]
 * HdfsFileStatus.java: 
[https://github.com/apache/hadoop/blob/branch-3.1.2/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsFileStatus.java#L62-L83]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to