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

Abraham Elmahrek commented on HADOOP-10640:
-------------------------------------------

Awesome stuff Colin. Just a few comments:

* Do we need to call free in hadoop_err_prepend.c for asprintf error cases? 
Docs say no memory is allocated in this case.
{code}
if (asprintf(&nmsg, "%s: %s", prepend_str, err->msg) < 0) {
    free(prepend_str);
    return (struct hadoop_err*)err;
}
{code}

* The hash table implementation has an unbounded while loop. Though, it will 
probably never happen since we guarantee there will always be an open spot, 
would we add a terminal case to it?
{code}
static void htable_insert_internal(struct htable_pair *nelem, 
        uint32_t capacity, htable_hash_fn_t hash_fun, void *key,
        void *val)
{
    uint32_t i;

    i = hash_fun(key, capacity);
    while (1) {
        if (!nelem[i].key) {
            nelem[i].key = key;
            nelem[i].val = val;
            return;
        }
        i++;
        if (i == capacity) {
            i = 0;
        }
    }
}
{code}

* Should the above hash table be modified to allow custom hash functions in the 
future? Modifications would include ensuring the hash function was within 
bounds, providing an interface, etc.

* The config object seems to be using the builder pattern. Wouldn't it make 
sense to just create a configuration object and provide 'set' and 'get' 
functions? Unless the configuration object is immutable?


> Implement Namenode RPCs in HDFS native client
> ---------------------------------------------
>
>                 Key: HADOOP-10640
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10640
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: native
>    Affects Versions: HADOOP-10388
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HADOOP-10640-pnative.001.patch, 
> HADOOP-10640-pnative.002.patch, HADOOP-10640-pnative.003.patch
>
>
> Implement the parts of libhdfs that just involve making RPCs to the Namenode, 
> such as mkdir, rename, etc.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to