You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by eo...@apache.org on 2017/06/01 11:20:03 UTC

bookkeeper git commit: BOOKKEEPER-1074: Remove JMX Bean

Repository: bookkeeper
Updated Branches:
  refs/heads/master d1f37dafb -> dd08ce1a6


BOOKKEEPER-1074: Remove JMX Bean

This change is based on #160 , the change here is: gitsha [b3be81f](https://github.com/sijie/bookkeeper/commit/b3be81fadae50f2d4a2e938c2735fa35c6c31421)

Author: Sijie Guo <si...@apache.org>
Author: Sijie Guo <si...@twitter.com>

Reviewers: Enrico Olivelli, Matteo Merli

Closes #161 from sijie/remove_jmx_beam


Project: http://git-wip-us.apache.org/repos/asf/bookkeeper/repo
Commit: http://git-wip-us.apache.org/repos/asf/bookkeeper/commit/dd08ce1a
Tree: http://git-wip-us.apache.org/repos/asf/bookkeeper/tree/dd08ce1a
Diff: http://git-wip-us.apache.org/repos/asf/bookkeeper/diff/dd08ce1a

Branch: refs/heads/master
Commit: dd08ce1a644de00967dd5fe34ce15caa9789d775
Parents: d1f37da
Author: Sijie Guo <si...@apache.org>
Authored: Thu Jun 1 13:19:58 2017 +0200
Committer: Enrico Olivelli <eo...@apache.org>
Committed: Thu Jun 1 13:19:58 2017 +0200

----------------------------------------------------------------------
 .../org/apache/bookkeeper/bookie/Bookie.java    | 63 +-------------
 .../apache/bookkeeper/bookie/BookieBean.java    | 56 ------------
 .../apache/bookkeeper/bookie/BookieMXBean.java  | 31 -------
 .../bookie/InterleavedLedgerStorage.java        |  6 --
 .../apache/bookkeeper/bookie/LedgerCache.java   |  2 -
 .../bookkeeper/bookie/LedgerCacheBean.java      | 27 ------
 .../bookkeeper/bookie/LedgerCacheImpl.java      | 41 ---------
 .../bookkeeper/bookie/LedgerCacheMXBean.java    | 50 -----------
 .../apache/bookkeeper/bookie/LedgerStorage.java |  8 +-
 .../org/apache/bookkeeper/jmx/BKMBeanInfo.java  | 27 ------
 .../apache/bookkeeper/jmx/BKMBeanRegistry.java  | 89 --------------------
 .../apache/bookkeeper/proto/BookieServer.java   | 32 -------
 .../bookkeeper/proto/BookieServerBean.java      | 82 ------------------
 .../bookkeeper/proto/BookieServerMXBean.java    | 53 ------------
 .../bookkeeper/bookie/TestSyncThread.java       |  4 -
 .../apache/bookkeeper/meta/GcLedgersTest.java   |  6 --
 .../bookkeeper/meta/LedgerManagerTestCase.java  |  6 --
 17 files changed, 3 insertions(+), 580 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
index 090574c..63e1708 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
@@ -43,18 +43,16 @@ import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.bookkeeper.bookie.Journal.JournalScanner;
 import org.apache.bookkeeper.bookie.LedgerDirsManager.LedgerDirsListener;
 import org.apache.bookkeeper.bookie.LedgerDirsManager.NoWritableLedgerDirException;
 import org.apache.bookkeeper.conf.ServerConfiguration;
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
-import org.apache.bookkeeper.jmx.BKMBeanRegistry;
-
 import org.apache.bookkeeper.meta.LedgerManager;
 import org.apache.bookkeeper.meta.LedgerManagerFactory;
-
 import org.apache.bookkeeper.net.BookieSocketAddress;
 import org.apache.bookkeeper.net.DNS;
 import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.WriteCallback;
@@ -72,7 +70,6 @@ import org.apache.bookkeeper.versioning.Versioned;
 import org.apache.bookkeeper.zookeeper.BoundExponentialBackoffRetryPolicy;
 import org.apache.bookkeeper.zookeeper.ZooKeeperClient;
 import org.apache.commons.io.FileUtils;
-
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.KeeperException.NodeExistsException;
@@ -80,15 +77,11 @@ import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
 import org.apache.zookeeper.Watcher.Event.EventType;
 import org.apache.zookeeper.Watcher.Event.KeeperState;
-
 import org.apache.zookeeper.ZooKeeper;
 import org.apache.zookeeper.data.Stat;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.Sets;
-
 import static org.apache.bookkeeper.bookie.BookKeeperServerStats.BOOKIE_ADD_ENTRY;
 import static org.apache.bookkeeper.bookie.BookKeeperServerStats.BOOKIE_ADD_ENTRY_BYTES;
 import static org.apache.bookkeeper.bookie.BookKeeperServerStats.BOOKIE_READ_ENTRY;
@@ -142,10 +135,6 @@ public class Bookie extends BookieCriticalThread {
 
     private int exitCode = ExitCode.OK;
 
-    // jmx related beans
-    BookieBean jmxBookieBean;
-    BKMBeanInfo jmxLedgerStorageBean;
-
     private final ConcurrentLongHashMap<byte[]> masterKeyCache = new ConcurrentLongHashMap<>();
 
     final protected String zkBookieRegPath;
@@ -894,54 +883,6 @@ public class Bookie extends BookieCriticalThread {
     }
 
     /**
-     * Register jmx with parent
-     *
-     * @param parent parent bk mbean info
-     */
-    public void registerJMX(BKMBeanInfo parent) {
-        try {
-            jmxBookieBean = new BookieBean(this);
-            BKMBeanRegistry.getInstance().register(jmxBookieBean, parent);
-
-            try {
-                jmxLedgerStorageBean = this.ledgerStorage.getJMXBean();
-                if (jmxLedgerStorageBean != null) {
-                    BKMBeanRegistry.getInstance().register(jmxLedgerStorageBean, jmxBookieBean);
-                }
-            } catch (Exception e) {
-                LOG.warn("Failed to register with JMX for ledger cache", e);
-                jmxLedgerStorageBean = null;
-            }
-        } catch (Exception e) {
-            LOG.warn("Failed to register with JMX", e);
-            jmxBookieBean = null;
-        }
-    }
-
-    /**
-     * Unregister jmx
-     */
-    public void unregisterJMX() {
-        try {
-            if (jmxLedgerStorageBean != null) {
-                BKMBeanRegistry.getInstance().unregister(jmxLedgerStorageBean);
-            }
-        } catch (Exception e) {
-            LOG.warn("Failed to unregister with JMX", e);
-        }
-        try {
-            if (jmxBookieBean != null) {
-                BKMBeanRegistry.getInstance().unregister(jmxBookieBean);
-            }
-        } catch (Exception e) {
-            LOG.warn("Failed to unregister with JMX", e);
-        }
-        jmxBookieBean = null;
-        jmxLedgerStorageBean = null;
-    }
-
-
-    /**
      * Instantiate the ZooKeeper client for the Bookie.
      */
     private ZooKeeper instantiateZookeeperClient(ServerConfiguration conf)

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieBean.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieBean.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieBean.java
deleted file mode 100644
index 67d0129..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieBean.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.bookie;
-
-import java.io.File;
-
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
-
-/**
- * Bookie Bean
- */
-public class BookieBean implements BookieMXBean, BKMBeanInfo {
-
-    protected Bookie bk;
-
-    public BookieBean(Bookie bk) {
-        this.bk = bk;
-    }
-
-    @Override
-    public String getName() {
-        return "Bookie";
-    }
-
-    @Override
-    public boolean isHidden() {
-        return false;
-    }
-
-    @Override
-    public int getQueueLength() {
-
-        int totalLength = 0;
-        for (Journal journal : bk.journals) {
-            totalLength += journal.getJournalQueueLength();
-        }
-        return totalLength;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieMXBean.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieMXBean.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieMXBean.java
deleted file mode 100644
index 24f299c..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieMXBean.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.bookie;
-
-import java.io.File;
-
-/**
- * Bookie MBean
- */
-public interface BookieMXBean {
-    /**
-     * @return log entry queue length
-     */
-    public int getQueueLength();
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
index 61a81c4..b8a6e53 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/InterleavedLedgerStorage.java
@@ -40,7 +40,6 @@ import java.util.Map;
 import java.util.NavigableMap;
 
 import org.apache.bookkeeper.conf.ServerConfiguration;
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
 import org.apache.bookkeeper.meta.LedgerManager;
 import org.apache.bookkeeper.proto.BookieProtocol;
 import org.apache.bookkeeper.stats.OpStatsLogger;
@@ -421,11 +420,6 @@ public class InterleavedLedgerStorage implements CompactableLedgerStorage, Entry
     }
 
     @Override
-    public BKMBeanInfo getJMXBean() {
-        return ledgerCache.getJMXBean();
-    }
-
-    @Override
     public void registerLedgerDeletionListener(LedgerDeletionListener listener) {
         ledgerDeletionListeners.add(listener);
     }

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java
index efb67dc..c55592f 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java
@@ -23,7 +23,6 @@ package org.apache.bookkeeper.bookie;
 
 import java.io.Closeable;
 import java.io.IOException;
-import java.nio.ByteBuffer;
 
 import io.netty.buffer.ByteBuf;
 
@@ -52,7 +51,6 @@ interface LedgerCache extends Closeable {
 
     void deleteLedger(long ledgerId) throws IOException;
 
-    LedgerCacheBean getJMXBean();
     void setExplicitLac(long ledgerId, ByteBuf lac) throws IOException;
     ByteBuf getExplicitLac(long ledgerId);
 }

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheBean.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheBean.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheBean.java
deleted file mode 100644
index dabc12d..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheBean.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.bookie;
-
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
-
-/**
- * Ledger Cache Bean
- */
-public interface LedgerCacheBean extends LedgerCacheMXBean, BKMBeanInfo {
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheImpl.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheImpl.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheImpl.java
index 515b64b..6fd6ecf 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheImpl.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheImpl.java
@@ -22,7 +22,6 @@
 package org.apache.bookkeeper.bookie;
 
 import java.io.IOException;
-import java.nio.ByteBuffer;
 
 import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.stats.NullStatsLogger;
@@ -158,46 +157,6 @@ public class LedgerCacheImpl implements LedgerCache {
     }
 
     @Override
-    public LedgerCacheBean getJMXBean() {
-        return new LedgerCacheBean() {
-            @Override
-            public String getName() {
-                return "LedgerCache";
-            }
-
-            @Override
-            public boolean isHidden() {
-                return false;
-            }
-
-            @Override
-            public int getPageCount() {
-                return LedgerCacheImpl.this.indexPageManager.getNumUsedPages();
-            }
-
-            @Override
-            public int getPageSize() {
-                return LedgerCacheImpl.this.getPageSize();
-            }
-
-            @Override
-            public int getOpenFileLimit() {
-                return LedgerCacheImpl.this.indexPersistenceManager.getOpenFileLimit();
-            }
-
-            @Override
-            public int getPageLimit() {
-                return LedgerCacheImpl.this.indexPageManager.getPageLimit();
-            }
-
-            @Override
-            public int getNumOpenLedgers() {
-                return LedgerCacheImpl.this.indexPersistenceManager.getNumOpenLedgers();
-            }
-        };
-    }
-
-    @Override
     public void close() throws IOException {
         indexPersistenceManager.close();
     }

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheMXBean.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheMXBean.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheMXBean.java
deleted file mode 100644
index c24e348..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCacheMXBean.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.bookie;
-
-/**
- * Ledger Cache MBean
- */
-public interface LedgerCacheMXBean {
-
-    /**
-     * @return number of page used in cache
-     */
-    public int getPageCount();
-
-    /**
-     * @return page size
-     */
-    public int getPageSize();
-
-    /**
-     * @return the limit of open files
-     */
-    public int getOpenFileLimit();
-
-    /**
-     * @return the limit number of pages
-     */
-    public int getPageLimit();
-
-    /**
-     * @return number of open ledgers
-     */
-    public int getNumOpenLedgers();
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerStorage.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerStorage.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerStorage.java
index 4587460..9d2161e 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerStorage.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerStorage.java
@@ -28,7 +28,6 @@ import java.io.IOException;
 import org.apache.bookkeeper.bookie.CheckpointSource.Checkpoint;
 import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.stats.StatsLogger;
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
 import org.apache.bookkeeper.meta.LedgerManager;
 
 /**
@@ -132,7 +131,7 @@ public interface LedgerStorage {
      * before that point already persist.
      *
      * @param checkpoint
-     *          Check Point that {@link Checkpointer} proposed.
+     *          Check Point that {@link Checkpoint} proposed.
      * @throws IOException
      * @return the checkpoint that the ledger storage finished.
      */
@@ -157,11 +156,6 @@ public interface LedgerStorage {
      */
     void registerLedgerDeletionListener(LedgerDeletionListener listener);
 
-    /**
-     * Get the JMX management bean for this LedgerStorage
-     */
-    BKMBeanInfo getJMXBean();
-
     void setExplicitlac(long ledgerId, ByteBuf lac) throws IOException;
 
     ByteBuf getExplicitLac(long ledgerId);

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanInfo.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanInfo.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanInfo.java
deleted file mode 100644
index 5d4f120..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.jmx;
-
-import org.apache.zookeeper.jmx.ZKMBeanInfo;
-
-/**
- * BookKeeper MBean info interface.
- */
-public interface BKMBeanInfo extends ZKMBeanInfo {
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanRegistry.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanRegistry.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanRegistry.java
deleted file mode 100644
index 3988916..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/jmx/BKMBeanRegistry.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.jmx;
-
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.zookeeper.jmx.MBeanRegistry;
-import org.apache.zookeeper.jmx.ZKMBeanInfo;
-
-/**
- * This class provides a unified interface for registering/unregistering of
- * bookkeeper MBeans with the platform MBean server. It builds a hierarchy of MBeans
- * where each MBean represented by a filesystem-like path. Eventually, this hierarchy
- * will be stored in the zookeeper data tree instance as a virtual data tree.
- */
-public class BKMBeanRegistry extends MBeanRegistry {
-    static final Logger LOG = LoggerFactory.getLogger(BKMBeanRegistry.class);
-    
-    static final String DOMAIN = "org.apache.BookKeeperService";
-
-    static BKMBeanRegistry instance=new BKMBeanRegistry(); 
-
-    public static BKMBeanRegistry getInstance(){
-        return instance;
-    }
-
-    protected String getDomainName() {
-        return DOMAIN;
-    }
-    
-    /**
-     * This takes a path, such as /a/b/c, and converts it to 
-     * name0=a,name1=b,name2=c
-     * 
-     * Copy from zookeeper MBeanRegistry since tokenize is private
-     */
-    protected int tokenize(StringBuilder sb, String path, int index) {
-        String[] tokens = path.split("/");
-        for (String s: tokens) {
-            if (s.length()==0)
-                continue;
-            sb.append("name").append(index++).append("=").append(s).append(",");
-        }
-        return index;
-    }
-
-    /**
-     * Builds an MBean path and creates an ObjectName instance using the path. 
-     * @param path MBean path
-     * @param bean the MBean instance
-     * @return ObjectName to be registered with the platform MBean server
-     */
-    protected ObjectName makeObjectName(String path, ZKMBeanInfo bean)
-        throws MalformedObjectNameException {
-        if(path==null)
-            return null;
-        StringBuilder beanName = new StringBuilder(getDomainName() + ":");
-        int counter=0;
-        counter=tokenize(beanName,path,counter);
-        tokenize(beanName,bean.getName(),counter);
-        beanName.deleteCharAt(beanName.length()-1);
-        try {
-            return new ObjectName(beanName.toString());
-        } catch (MalformedObjectNameException e) {
-            LOG.warn("Invalid name \"" + beanName.toString() + "\" for class "
-                    + bean.getClass().toString());
-            throw e;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java
index 7f437ff..38d79c4 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java
@@ -33,7 +33,6 @@ import org.apache.bookkeeper.bookie.BookieCriticalThread;
 import org.apache.bookkeeper.bookie.BookieException;
 import org.apache.bookkeeper.bookie.ExitCode;
 import org.apache.bookkeeper.conf.ServerConfiguration;
-import org.apache.bookkeeper.jmx.BKMBeanRegistry;
 import org.apache.bookkeeper.net.BookieSocketAddress;
 import org.apache.bookkeeper.processor.RequestProcessor;
 import org.apache.bookkeeper.replication.AutoRecoveryMain;
@@ -75,7 +74,6 @@ public class BookieServer {
     int exitCode = ExitCode.OK;
 
     // operation stats
-    protected BookieServerBean jmxBkServerBean;
     AutoRecoveryMain autoRecoveryMain = null;
     private boolean isAutoRecoveryDaemonEnabled;
 
@@ -128,9 +126,6 @@ public class BookieServer {
         running = true;
         deathWatcher = new DeathWatcher(conf);
         deathWatcher.start();
-
-        // register jmx
-        registerJMX();
     }
 
     @VisibleForTesting
@@ -173,33 +168,6 @@ public class BookieServer {
         }
         this.requestProcessor.close();
         running = false;
-
-        // unregister JMX
-        unregisterJMX();
-    }
-
-    protected void registerJMX() {
-        try {
-            jmxBkServerBean = new BookieServerBean(conf, this);
-            BKMBeanRegistry.getInstance().register(jmxBkServerBean, null);
-
-            bookie.registerJMX(jmxBkServerBean);
-        } catch (Exception e) {
-            LOG.warn("Failed to register with JMX", e);
-            jmxBkServerBean = null;
-        }
-    }
-
-    protected void unregisterJMX() {
-        try {
-            bookie.unregisterJMX();
-            if (jmxBkServerBean != null) {
-                BKMBeanRegistry.getInstance().unregister(jmxBkServerBean);
-            }
-        } catch (Exception e) {
-            LOG.warn("Failed to unregister with JMX", e);
-        }
-        jmxBkServerBean = null;
     }
 
     public boolean isRunning() {

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java
deleted file mode 100644
index afb763e..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.proto;
-
-import java.net.UnknownHostException;
-
-import org.apache.bookkeeper.bookie.Bookie;
-import org.apache.bookkeeper.conf.ServerConfiguration;
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
-import org.apache.bookkeeper.proto.BKStats.OpStatData;
-
-/**
- * Bookie Server Bean
- */
-public class BookieServerBean implements BookieServerMXBean, BKMBeanInfo {
-
-    protected final BookieServer bks;
-    protected final ServerConfiguration conf;
-    private final String name;
-
-    public BookieServerBean(ServerConfiguration conf, BookieServer bks) {
-        this.conf = conf;
-        this.bks = bks;
-        name = "BookieServer_" + conf.getBookiePort();
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public boolean isHidden() {
-        return false;
-    }
-
-    @Override
-    public long getNumPacketsReceived() {
-        return ServerStats.getInstance().getPacketsReceived();
-    }
-
-    @Override
-    public long getNumPacketsSent() {
-        return ServerStats.getInstance().getPacketsSent();
-    }
-
-    @Override
-    public OpStatData getAddStats() {
-        return BKStats.getInstance().getOpStats(BKStats.STATS_ADD).toOpStatData();
-    }
-
-    @Override
-    public OpStatData getReadStats() {
-        return BKStats.getInstance().getOpStats(BKStats.STATS_READ).toOpStatData();
-    }
-
-    @Override
-    public String getServerPort() {
-        try {
-            return Bookie.getBookieAddress(conf).toString();
-        } catch (UnknownHostException e) {
-            return "localhost:" + conf.getBookiePort();
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerMXBean.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerMXBean.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerMXBean.java
deleted file mode 100644
index 054309f..0000000
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerMXBean.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.bookkeeper.proto;
-
-import org.apache.bookkeeper.proto.BKStats.OpStatData;
-
-/**
- * Bookie Server MBean
- */
-public interface BookieServerMXBean {
-
-    /**
-     * @return packets received
-     */
-    public long getNumPacketsReceived();
-
-    /**
-     * @return packets sent
-     */
-    public long getNumPacketsSent();
-
-    /**
-     * @return add stats
-     */
-    public OpStatData getAddStats();
-
-    /**
-     * @return read stats
-     */
-    public OpStatData getReadStats();
-
-    /**
-     * @return server port
-     */
-    public String getServerPort();
-
-}

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestSyncThread.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestSyncThread.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestSyncThread.java
index 9352db3..6be898d 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestSyncThread.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/TestSyncThread.java
@@ -39,7 +39,6 @@ import org.apache.bookkeeper.stats.StatsLogger;
 import org.apache.bookkeeper.bookie.CheckpointSource.Checkpoint;
 import org.apache.bookkeeper.bookie.LedgerDirsManager.LedgerDirsListener;
 import org.apache.bookkeeper.bookie.LedgerDirsManager.NoWritableLedgerDirException;
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
 import org.apache.bookkeeper.meta.LedgerManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -346,9 +345,6 @@ public class TestSyncThread {
         }
 
         @Override
-        public BKMBeanInfo getJMXBean() { return null; }
-
-        @Override
         public void registerLedgerDeletionListener(LedgerDeletionListener listener) {
         }
     }

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java
index 0db938b..48b8bab 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java
@@ -60,7 +60,6 @@ import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.BookKeeper.DigestType;
 import org.apache.bookkeeper.client.LedgerMetadata;
 import org.apache.bookkeeper.conf.ServerConfiguration;
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
 import org.apache.bookkeeper.meta.LedgerManager.LedgerRange;
 import org.apache.bookkeeper.meta.LedgerManager.LedgerRangeIterator;
 import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
@@ -404,11 +403,6 @@ public class GcLedgersTest extends LedgerManagerTestCase {
         }
 
         @Override
-        public BKMBeanInfo getJMXBean() {
-            return null;
-        }
-
-        @Override
         public EntryLogger getEntryLogger() {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/bookkeeper/blob/dd08ce1a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java
----------------------------------------------------------------------
diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java
index ac9fe59..d962264 100644
--- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java
+++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/LedgerManagerTestCase.java
@@ -35,7 +35,6 @@ import org.apache.bookkeeper.bookie.EntryLocation;
 import org.apache.bookkeeper.bookie.EntryLogger;
 import org.apache.bookkeeper.bookie.LedgerDirsManager;
 import org.apache.bookkeeper.conf.ServerConfiguration;
-import org.apache.bookkeeper.jmx.BKMBeanInfo;
 import org.apache.bookkeeper.stats.StatsLogger;
 import org.apache.bookkeeper.test.BookKeeperClusterTestCase;
 import org.apache.bookkeeper.util.SnapshotMap;
@@ -195,11 +194,6 @@ public abstract class LedgerManagerTestCase extends BookKeeperClusterTestCase {
         }
 
         @Override
-        public BKMBeanInfo getJMXBean() {
-            return null;
-        }
-
-        @Override
         public EntryLogger getEntryLogger() {
             return null;
         }