[ https://issues.apache.org/jira/browse/HDFS-573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081356#comment-14081356 ]
Stephen Bovy commented on HDFS-573: ----------------------------------- Gentlemen, One thing to keep in mind, is that the thread-support should not be hard-coded. It should be "optional" Why waste recourses and cpu cycles for a feature that may seldom be required ? If threads are not required many optimizations are possible including no-need to "lock" the hash-table. > Porting libhdfs to Windows > -------------------------- > > Key: HDFS-573 > URL: https://issues.apache.org/jira/browse/HDFS-573 > Project: Hadoop HDFS > Issue Type: Improvement > Components: libhdfs > Environment: Windows, Visual Studio 2008 > Reporter: Ziliang Guo > Assignee: Chris Nauroth > Attachments: HDFS-573.1.patch > > Original Estimate: 336h > Remaining Estimate: 336h > > The current C code in libhdfs is written using C99 conventions and also uses > a few POSIX specific functions such as hcreate, hsearch, and pthread mutex > locks. To compile it using Visual Studio would require a conversion of the > code in hdfsJniHelper.c and hdfs.c to C89 and replacement/reimplementation of > the POSIX functions. The code also uses the stdint.h header, which is not > part of the original C89, but there exists what appears to be a BSD licensed > reimplementation written to be compatible with MSVC floating around. I have > already done the other necessary conversions, as well as created a simplistic > hash bucket for use with hcreate and hsearch and successfully built a DLL of > libhdfs. Further testing is needed to see if it is usable by other programs > to actually access hdfs, which will likely happen in the next few weeks as > the Condor Project continues with its file transfer work. > In the process, I've removed a few what I believe are extraneous consts and > also fixed an incorrect array initialization where someone was attempting to > initialize with something like this: JavaVMOption options[noArgs]; where > noArgs was being incremented in the code above. This was in the > hdfsJniHelper.c file, in the getJNIEnv function. -- This message was sent by Atlassian JIRA (v6.2#6252)