[ 
https://issues.apache.org/jira/browse/HDFS-12911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16291461#comment-16291461
 ] 

Anu Engineer commented on HDFS-12911:
-------------------------------------

I feel like I am repeating myself, It must be pretty painful for the others :), 
but I am going to answer each question since you asked.

bq. 1. With disable of SPS, absolutely no effect on NN, I have posted 
benchmarks.
I consider this feature far from complete and I am worried that other feature 
additions will hurt namenode more and more. Here is the bottom line, either you 
are building an HSM -- when fully featured will have different policies, or 
this is one off. Either one, I am against having this inside Namenode.

bq. 2. Front Q filing up is not real issue, as that is not going to be too much 
memory consumption with realistic scenarios. To increase the speed of 
processing, we have to tune DN bandwidths, but not NN Qs. So, with throttling, 
processing memory will be constant.

*realistic scenarios* -  You would be surprised by what you find in the field. 
The notion of reasonable use goes out of the window as soon as you support 
cases like, "I accidentally ran format on my production cluster, can you please 
recover it". 

bq. 3. It will be easy to respect replication tasks as high priority tasks if 
we are inside Hadoop via keeping inline tasks controlling via xmits.
We have seen issues with IBR handling and hence things like lifeline protocol. 
So I am not willing to buy that xmits or any such control will work effectively 
if your Namenode is under severe load. Then you will be sitting around trying 
to get data or maintaining large work queues which you cannot make any forward 
progress.


bq. 4. Non of the tools like, Balancer/DiskBalancer, need to track or access 
namespace, they just need utilization and DN block informations. So, this is 
not exactly same as that.
I completely disagree, this is a design choice that was made. Nothing prevents 
this process from working outside the Namenode.

bq. 5. We did not get consensus to add new process yet.
Agree, but we have no consensus to merge the code into Namenode either.

bq. 6. We got comments from other reviewer about lock and other stuff, 
respecting their reviews, we are continuing to do this task. We can continue 
discussions in HDFS-10285 if further issues.
In my humble opinion, if you have not resolved the big picture, then proceeding 
with things like optimizing lock is pointless. Unless you are sure you *will be 
able to merge* this into Namenode, optimizing a lock path that is inside 
namenode is a waste of time.

And let me come back to the issue which does not seem to be discussed, we have 
an existing pattern that works well. The only argument I have heard so far is 
management tools have to do extra work if this feature is outside. I am sure 
management tools have to do extra work even if this is inside. I have already 
shared my point of view about that. I am still in the camp that this process 
should be outside inside of Namenode.


> [SPS]: Fix review comments from discussions in HDFS-10285
> ---------------------------------------------------------
>
>                 Key: HDFS-12911
>                 URL: https://issues.apache.org/jira/browse/HDFS-12911
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, namenode
>            Reporter: Uma Maheswara Rao G
>            Assignee: Rakesh R
>         Attachments: HDFS-12911.00.patch
>
>
> This is the JIRA for tracking the possible improvements or issues discussed 
> in main JIRA
> So far comments to handle
> Daryn:
>  # Lock should not kept while executing placement policy.
>  # While starting up the NN, SPS Xattrs checks happen even if feature 
> disabled. This could potentially impact the startup speed. 
> UMA:
> # I am adding one more possible improvement to reduce Xattr objects 
> significantly.
>  SPS Xattr is constant object. So, we create one Xattr deduplication object 
> once statically and use the same object reference when required to add SPS 
> Xattr to Inode. So, here additional bytes required for storing SPS Xattr 
> would turn to same as single object ref ( i.e 4 bytes in 32 bit). So Xattr 
> overhead should come down significantly IMO. Lets explore the feasibility on 
> this option.
> Xattr list Future will not be specially created for SPS, that list would have 
> been created by SetStoragePolicy already on the same directory. So, no extra 
> Feature creation because of SPS alone.
> # Currently SPS putting long id objects in Q for tracking SPS called Inodes. 
> So, it is additional created and size of it would be (obj ref + value) = (8 + 
> 8) bytes [ ignoring alignment for time being]
> So, the possible improvement here is, instead of creating new Long obj, we 
> can keep existing inode object for tracking. Advantage is, Inode object 
> already maintained in NN, so no new object creation is needed. So, we just 
> need to maintain one obj ref. Above two points should significantly reduce 
> the memory requirements of SPS. So, for SPS call: 8bytes for called inode 
> tracking + 8 bytes for Xattr ref.
> # Use LightWeightLinkedSet instead of using LinkedList for from Q. This will 
> reduce unnecessary Node creations inside LinkedList. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to