Porting libhdfs to Windows
--------------------------

                 Key: HDFS-573
                 URL: https://issues.apache.org/jira/browse/HDFS-573
             Project: Hadoop HDFS
          Issue Type: Improvement
          Components: hdfs client
         Environment: Windows, Visual Studio 2008
            Reporter: Ziliang Guo


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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to