[
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)