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

Kumar Ravi updated HBASE-6945:
------------------------------

    Status: Patch Available  (was: Open)

--- curr_hbase/src/test/java/org/apache/hadoop/hbase/ResourceChecker.java       
2012-10-04 12:59:14.000000000 -0400
+++ new_hbase/src/test/java/org/apache/hadoop/hbase/ResourceChecker.java        
2012-10-08 16:32:00.000000000 -0400
@@ -20,13 +20,11 @@
 
 package org.apache.hadoop.hbase;
 
-import com.sun.management.UnixOperatingSystemMXBean;
+import org.apache.hadoop.hbase.util.OSMXBean;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.client.HConnectionTestingUtility;
 
-import java.lang.management.ManagementFactory;
-import java.lang.management.OperatingSystemMXBean;
 import java.util.*;
 
 
@@ -42,42 +40,33 @@
    * On unix, we know how to get the number of open file descriptor
    */
   private static class ResourceAnalyzer {
-    private static final OperatingSystemMXBean osStats;
-    private static final UnixOperatingSystemMXBean unixOsStats;
 
     public long getThreadsCount() {
       return Thread.getAllStackTraces().size();
     }
 
     public long getOpenFileDescriptorCount() {
-      if (unixOsStats == null) {
-        return 0;
-      } else {
-        return unixOsStats.getOpenFileDescriptorCount();
-      }
+         OSMXBean osMbean = new OSMXBean();
+         if (osMbean != null && osMbean.getUnix() == true) {
+            return osMbean.getOpenFileDescriptorCount();
+         }
+        else
+            return 0;
     }
 
     public long getMaxFileDescriptorCount() {
-      if (unixOsStats == null) {
-        return 0;
-      } else {
-        return unixOsStats.getMaxFileDescriptorCount();
+      OSMXBean osMbean = new OSMXBean();
+      if (osMbean != null && osMbean.getUnix() == true) {
+           return osMbean.getMaxFileDescriptorCount();
       }
+      else
+          return 0;
     }
 
     public long getConnectionCount(){
       return HConnectionTestingUtility.getConnectionCount();
     }
 
-    static {
-      osStats =
-        ManagementFactory.getOperatingSystemMXBean();
-      if (osStats instanceof UnixOperatingSystemMXBean) {
-        unixOsStats = (UnixOperatingSystemMXBean) osStats;
-      } else {
-        unixOsStats = null;
-      }
-    }
   }
 
   private static final ResourceAnalyzer rc = new ResourceAnalyzer();
                
> Compilation errors when using non-Sun JDKs to build HBase-0.94
> --------------------------------------------------------------
>
>                 Key: HBASE-6945
>                 URL: https://issues.apache.org/jira/browse/HBASE-6945
>             Project: HBase
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 0.94.1
>         Environment: RHEL 6.3, IBM Java 7 
>            Reporter: Kumar Ravi
>            Assignee: Kumar Ravi
>             Fix For: 0.94.3
>
>
> When using IBM Java 7 to build HBase-0.94.1, the following comilation error 
> is seen. 
> [INFO] -------------------------------------------------------------
> [ERROR] COMPILATION ERROR : 
> [INFO] -------------------------------------------------------------
> [ERROR] 
> /home/hadoop/hbase-0.94/src/test/java/org/apache/hadoop/hbase/ResourceChecker.java:[23,25]
>  error: package com.sun.management does not exist
> [ERROR] 
> /home/hadoop/hbase-0.94/src/test/java/org/apache/hadoop/hbase/ResourceChecker.java:[46,25]
>  error: cannot find symbol
> [ERROR]   symbol:   class UnixOperatingSystemMXBean
>   location: class ResourceAnalyzer
> /home/hadoop/hbase-0.94/src/test/java/org/apache/hadoop/hbase/ResourceChecker.java:[75,29]
>  error: cannot find symbol
> [ERROR]   symbol:   class UnixOperatingSystemMXBean
>   location: class ResourceAnalyzer
> /home/hadoop/hbase-0.94/src/test/java/org/apache/hadoop/hbase/ResourceChecker.java:[76,23]
>  error: cannot find symbol
> [INFO] 4 errors 
> [INFO] -------------------------------------------------------------
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
>  I have a patch available which should work for all JDKs including Sun.
>  I am in the process of testing this patch. Preliminary tests indicate the 
> build is working fine with this patch. I will post this patch when I am done 
> testing.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to