[ 
https://issues.apache.org/jira/browse/HDFS-2920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Todd Lipcon updated HDFS-2920:
------------------------------

    Attachment: hdfs-2920-v1.txt

Attached is a preliminary patch that addresses a bunch of TODOs. This doesn't 
address all of them, but since this is sort of a "grab bag" issue I wanted to 
put it up for early review now, and will add some more deltas on top in the 
next couple days.

Summary of changes:
----

 .../src/main/java/org/apache/hadoop/ipc/RPC.java   |    6 ++
 .../java/org/apache/hadoop/hdfs/DFSClient.java     |   15 +----
 .../ClientDatanodeProtocolTranslatorPB.java        |    9 ++-
Fixes a bunch of warnings I saw in the logs where RPC.stopProxy() was being 
called on translator objects. This would partially apply to trunk, but some of 
the HA changes we've done made it worse here, and would conflict anyway, so 
addressed in this patch.

----
 .../hdfs/server/blockmanagement/BlockManager.java  |    1 -
Remove unused import

----
 .../hdfs/server/datanode/BPOfferService.java       |   14 +---
- Remove a TODO about a potential synchronization problem - we we haven't seen 
it in practice, and it's only in shutdown, so I'm not too concerned.
- remove {{getNNSocketAddress}} since a BPOS now has multiple NNs associated.
- undeprecate {{getActiveNN}}, remove the TODO, since it's actually used by 
block synchronization (one of the few cases where we want to RPC directly to 
whichever NN is active and not the other). This is also used by the 
(now-abandoned) "distributed upgrade" code.

----
 .../hdfs/server/datanode/BPServiceActor.java       |    4 +-

Remove TODO about the way that {{addBlockPool}} is called. It strikes me as 
weird that we initialize the scanner after every heartbeat, but it's not 
related to HA.

----
 .../hdfs/server/datanode/BlockPoolManager.java     |   10 ---

Remove getter which takes an NN address, since a block pool can correspond to 
multiple NN addresses.

----
 .../hadoop/hdfs/server/datanode/DataNode.java      |   71 ++++++++++++--------
- refactor cases where {{errorReport}} was directly called on an NN proxy to be 
passed through the DataNode->BPOS path more centrally. errorReports should go 
to both nodes.
- remove {{getNameNodeAddr(bpid)}} since again, a BP may have multiple NN 
addresses
- rename {{getBPNamenode}} to {{getActiveNamenodeForBP}} to clarify the result 
in the case of HA
- fix {{getNamenodeAddresses}} (part of JMX bean) to properly include all HA NNs
- rename {{isBPServiceAlive}} to {{isConnectedToNN}} to clarify its purpose - 
this is only used by MiniDFS currently, in order to determine when each DN has 
connected to the NNs in the cluster.

----
 .../server/datanode/UpgradeManagerDatanode.java    |    2 +-
 .../server/datanode/UpgradeObjectDatanode.java     |   11 +---

(updates based on above method renames)
----

 .../hadoop/hdfs/server/namenode/FSDirectory.java   |   15 ++---
- remove a TODO about a useless lock - was taking a writeLock despite asserting 
just above that the writeLock was already held

----
 .../hdfs/server/namenode/FSEditLogLoader.java      |    4 +-
- remove a TODO and replace it with an explanation about why the code is 
counter-intuitive there

----
 .../hadoop/hdfs/server/namenode/FSImage.java       |    4 -

- remove TODO about never saving a checkpoint on startup in HA. We addressed 
this issue with HDFS-2794.
- remove TODO about quota tracking being slow - filed HDFS-2989

----
 .../hadoop/hdfs/server/namenode/FSNamesystem.java  |    2 -
 .../hadoop/hdfs/server/namenode/NameNode.java      |    1 -
Removed three TODOs which were really more like idle design thoughts, don't 
seme to be relevant.

----
 .../org/apache/hadoop/hdfs/MiniDFSCluster.java     |    6 +-
 .../hdfs/server/datanode/TestBlockRecovery.java    |    6 +-
 .../TestDataNodeMultipleRegistrations.java         |   20 ++++--
 .../hdfs/server/datanode/TestRefreshNamenodes.java |   28 +++++---
Just tracking renames above
----
 .../server/namenode/ha/TestPipelinesFailover.java  |    4 +-
 .../server/namenode/ha/TestStandbyCheckpoints.java |    3 -
Stray TODOs which were already addressed previously
                
> HA: fix remaining TODO items
> ----------------------------
>
>                 Key: HDFS-2920
>                 URL: https://issues.apache.org/jira/browse/HDFS-2920
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ha
>            Reporter: Eli Collins
>            Assignee: Todd Lipcon
>         Attachments: hdfs-2920-v1.txt
>
>
> There are a number of "TODO(HA)" and "TODO:HA" comments we need to fix or 
> remove.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to