You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Manoj Govindassamy (JIRA)" <ji...@apache.org> on 2017/07/26 19:05:00 UTC
[jira] [Created] (HDFS-12201) INode#getSnapshotINode() should get
INodeAttributes from INodeAttributesProvider for the current INode
Manoj Govindassamy created HDFS-12201:
-----------------------------------------
Summary: INode#getSnapshotINode() should get INodeAttributes from INodeAttributesProvider for the current INode
Key: HDFS-12201
URL: https://issues.apache.org/jira/browse/HDFS-12201
Project: Hadoop HDFS
Issue Type: Bug
Components: snapshots
Affects Versions: 2.8.0
Reporter: Manoj Govindassamy
Assignee: Manoj Govindassamy
{{INodeFile}}
{noformat}
@Override
public INodeFileAttributes getSnapshotINode(final int snapshotId) {
FileWithSnapshotFeature sf = this.getFileWithSnapshotFeature();
if (sf != null) {
return sf.getDiffs().getSnapshotINode(snapshotId, this);
} else {
return this;
}
}
{noformat}
{{AbstractINodeDiffList#getSnapshotINode}}
{noformat}
public A getSnapshotINode(final int snapshotId, final A currentINode) {
final D diff = getDiffById(snapshotId);
final A inode = diff == null? null: diff.getSnapshotINode();
return inode == null? currentINode: inode;
}
{noformat}
INodeFile, INodeDirectory #getSnapshotINode() returns the current INode's local INodeAttributes if there is anything available for the given snapshot id. When there is an INodeAttributesProvider configured, attributes are retrieved from this external provider instead of the local. But, getSnapshotINode always returns the local attributes without retrieving them from attributes provider.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org