This is an automated email from the ASF dual-hosted git repository.

zhaijia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new b727acf  ISSUE #668: Use try-with-resources blocks whenever is possible
b727acf is described below

commit b727acf9f90314dd0deffad873841e474cc8b9d8
Author: Pasha Kuznetsov <[email protected]>
AuthorDate: Fri Dec 15 15:51:00 2017 +0800

    ISSUE #668: Use try-with-resources blocks whenever is possible
    
    Use java7 try-with-resources blocks in order to have error prone code and 
more elegant
    
    Author: Pasha Kuznetsov <[email protected]>
    
    Reviewers: Enrico Olivelli <[email protected]>, Jia Zhai <None>, Sijie 
Guo <[email protected]>
    
    This closes #845 from pasha-kuznetsov/try-with-resources, closes #668
---
 .../benchmark/BenchReadThroughputLatency.java           | 10 +++-------
 .../java/org/apache/bookkeeper/bookie/BookieShell.java  | 10 ++--------
 .../main/java/org/apache/bookkeeper/bookie/Cookie.java  | 13 ++++---------
 .../org/apache/bookkeeper/bookie/FileSystemUpgrade.java | 17 ++++-------------
 .../main/java/org/apache/bookkeeper/bookie/Journal.java |  5 +----
 .../bookkeeper/meta/FlatLedgerManagerFactory.java       |  5 +----
 .../org/apache/bookkeeper/tls/TLSContextFactory.java    | 10 ++--------
 .../bookkeeper/bookie/BookieInitializationTest.java     |  5 +----
 .../bookie/storage/ldb/KeyValueStorageTest.java         |  5 +----
 .../apache/bookkeeper/client/BookieRecoveryTest.java    |  5 +----
 .../org/apache/bookkeeper/client/TestBookieWatcher.java | 16 +++++-----------
 .../org/apache/bookkeeper/metastore/TestMetaStore.java  |  8 ++------
 .../bookkeeper/replication/TestReplicationWorker.java   |  7 ++-----
 13 files changed, 29 insertions(+), 87 deletions(-)

diff --git 
a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchReadThroughputLatency.java
 
b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchReadThroughputLatency.java
index a3b8f6f..a55ff04 100644
--- 
a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchReadThroughputLatency.java
+++ 
b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchReadThroughputLatency.java
@@ -192,17 +192,15 @@ public class BenchReadThroughputLatency {
         final ClientConfiguration conf = new ClientConfiguration();
         conf.setReadTimeout(sockTimeout).setZkServers(servers);
 
-
-        final ZooKeeper zk = new ZooKeeper(servers, 3000, new Watcher() {
+        try (ZooKeeper zk = new ZooKeeper(servers, 3000, new Watcher() {
                 public void process(WatchedEvent event) {
                     if (event.getState() == Event.KeeperState.SyncConnected
                             && event.getType() == Event.EventType.None) {
                         connectedLatch.countDown();
                     }
                 }
-            });
-        final Set<String> processedLedgers = new HashSet<String>();
-        try {
+        })) {
+            final Set<String> processedLedgers = new HashSet<String>();
             zk.register(new Watcher() {
                     public void process(WatchedEvent event) {
                         try {
@@ -269,8 +267,6 @@ public class BenchReadThroughputLatency {
             }
             shutdownLatch.await();
             LOG.info("Shutting down");
-        } finally {
-            zk.close();
         }
     }
 }
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
index a8550ee..f8946c1 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieShell.java
@@ -458,8 +458,7 @@ public class BookieShell implements Tool {
         private void deleteCookies(ClientConfiguration conf,
                                    Set<BookieSocketAddress> bookieAddrs) 
throws BKException {
             ServerConfiguration serverConf = new ServerConfiguration(conf);
-            RegistrationManager rm = new ZKRegistrationManager();
-            try {
+            try (RegistrationManager rm = new ZKRegistrationManager()) {
                 rm.initialize(serverConf, () -> {}, NullStatsLogger.INSTANCE);
                 for (BookieSocketAddress addr : bookieAddrs) {
                     deleteCookie(rm, addr);
@@ -468,8 +467,6 @@ public class BookieShell implements Tool {
                 BKException bke = new BKException.MetaStoreException();
                 bke.initCause(be);
                 throw bke;
-            } finally {
-                rm.close();
             }
         }
 
@@ -1748,8 +1745,7 @@ public class BookieShell implements Tool {
         @Override
         int runCmd(CommandLine cmdLine) {
             ServerConfiguration conf = new ServerConfiguration(bkConf);
-            RegistrationManager rm = new ZKRegistrationManager();
-            try {
+            try (RegistrationManager rm = new ZKRegistrationManager()) {
                 try {
                     rm.initialize(bkConf, () -> {}, NullStatsLogger.INSTANCE);
                 } catch (BookieException e) {
@@ -1773,8 +1769,6 @@ public class BookieShell implements Tool {
                     return -1;
                 }
                 return 0;
-            } finally {
-                rm.close();
             }
         }
     }
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java
index e2d4f12..4a9f6f6 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java
@@ -330,14 +330,12 @@ public class Cookie {
     public static Versioned<Cookie> 
readFromRegistrationManager(RegistrationManager rm,
                                                          BookieSocketAddress 
address) throws BookieException {
         Versioned<byte[]> cookieData = rm.readCookie(address.toString());
-        BufferedReader reader = new BufferedReader(new StringReader(new 
String(cookieData.getValue(), UTF_8)));
         try {
-            try {
+            try (BufferedReader reader = new BufferedReader(
+                    new StringReader(new String(cookieData.getValue(), 
UTF_8)))) {
                 Builder builder = parse(reader);
                 Cookie cookie = builder.build();
                 return new Versioned<Cookie>(cookie, cookieData.getVersion());
-            } finally {
-                reader.close();
             }
         } catch (IOException ioe) {
             throw new InvalidCookieException(ioe);
@@ -353,12 +351,9 @@ public class Cookie {
      */
     public static Cookie readFromDirectory(File directory) throws IOException {
         File versionFile = new File(directory, 
BookKeeperConstants.VERSION_FILENAME);
-        BufferedReader reader = new BufferedReader(
-                new InputStreamReader(new FileInputStream(versionFile), 
UTF_8));
-        try {
+        try (BufferedReader reader = new BufferedReader(
+                new InputStreamReader(new FileInputStream(versionFile), 
UTF_8))) {
             return parse(reader).build();
-        } finally {
-            reader.close();
         }
     }
 
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
index 4158abd..d499ce3 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
@@ -113,17 +113,14 @@ public class FileSystemUpgrade {
         if (!v2versionFile.exists()) {
             return 1;
         }
-        Scanner s = new Scanner(v2versionFile, UTF_8.name());
-        try {
+        try (Scanner s = new Scanner(v2versionFile, UTF_8.name())) {
             return s.nextInt();
         } catch (NoSuchElementException nse) {
-            LOG.error("Couldn't parse version file " + v2versionFile , nse);
+            LOG.error("Couldn't parse version file " + v2versionFile, nse);
             throw new IOException("Couldn't parse version file", nse);
         } catch (IllegalStateException ise) {
             LOG.error("Error reading file " + v2versionFile, ise);
             throw new IOException("Error reading version file", ise);
-        } finally {
-            s.close();
         }
     }
 
@@ -169,8 +166,7 @@ public class FileSystemUpgrade {
             throws BookieException.UpgradeException, InterruptedException {
         LOG.info("Upgrading...");
 
-        RegistrationManager rm = newRegistrationManager(conf);
-        try {
+        try (RegistrationManager rm = newRegistrationManager(conf)) {
             Map<File, File> deferredMoves = new HashMap<File, File>();
             Cookie.Builder cookieBuilder = Cookie.generateCookie(conf);
             Cookie c = cookieBuilder.build();
@@ -228,8 +224,6 @@ public class FileSystemUpgrade {
             }
         } catch (IOException ioe) {
             throw new BookieException.UpgradeException(ioe);
-        } finally {
-            rm.close();
         }
         LOG.info("Done");
     }
@@ -275,8 +269,7 @@ public class FileSystemUpgrade {
     public static void rollback(ServerConfiguration conf)
             throws BookieException.UpgradeException, InterruptedException {
         LOG.info("Rolling back upgrade...");
-        RegistrationManager rm = newRegistrationManager(conf);
-        try {
+        try (RegistrationManager rm = newRegistrationManager(conf)) {
             for (File d : getAllDirectories(conf)) {
                 LOG.info("Rolling back {}", d);
                 try {
@@ -303,8 +296,6 @@ public class FileSystemUpgrade {
                 LOG.error("Error deleting cookie from Registration Manager");
                 throw new BookieException.UpgradeException(ke);
             }
-        } finally {
-            rm.close();
         }
         LOG.info("Done");
     }
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
index faac1b4..d54961e 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Journal.java
@@ -212,15 +212,12 @@ public class Journal extends BookieCriticalThread 
implements CheckpointSource {
             for (File dir: ledgerDirsManager.getAllLedgerDirs()) {
                 File file = new File(dir, "lastMark");
                 try {
-                    FileInputStream fis = new FileInputStream(file);
-                    try {
+                    try (FileInputStream fis = new FileInputStream(file)) {
                         int bytesRead = fis.read(buff);
                         if (bytesRead != 16) {
                             throw new IOException("Couldn't read enough bytes 
from lastMark."
                                                   + " Wanted " + 16 + ", got " 
+ bytesRead);
                         }
-                    } finally {
-                        fis.close();
                     }
                     bb.clear();
                     mark.readLogMark(bb);
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java
index c736e0e..1db220a 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManagerFactory.java
@@ -84,8 +84,7 @@ public class FlatLedgerManagerFactory extends 
LedgerManagerFactory {
     @Override
     public void format(AbstractConfiguration conf, ZooKeeper zk)
             throws InterruptedException, KeeperException, IOException {
-        FlatLedgerManager ledgerManager = (FlatLedgerManager) 
newLedgerManager();
-        try {
+        try (FlatLedgerManager ledgerManager = (FlatLedgerManager) 
newLedgerManager()) {
             String ledgersRootPath = conf.getZkLedgersRootPath();
             List<String> children = zk.getChildren(ledgersRootPath, false);
             for (String child : children) {
@@ -94,8 +93,6 @@ public class FlatLedgerManagerFactory extends 
LedgerManagerFactory {
                 }
                 ZKUtil.deleteRecursive(zk, ledgersRootPath + "/" + child);
             }
-        } finally {
-            ledgerManager.close();
         }
         // Delete and recreate the LAYOUT information.
         super.format(conf, zk);
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java
index f9c673a..040bc9b 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/tls/TLSContextFactory.java
@@ -57,16 +57,13 @@ public class TLSContextFactory implements 
SecurityHandlerFactory {
     private SslContext sslContext;
 
     private String getPasswordFromFile(String path) throws IOException {
-        FileInputStream pwdin = new FileInputStream(path);
         byte[] pwd;
-        try {
+        try (FileInputStream pwdin = new FileInputStream(path)) {
             File passwdFile = new File(path);
             if (passwdFile.length() == 0) {
                 return "";
             }
             pwd = FileUtils.readFileToByteArray(passwdFile);
-        } finally {
-            pwdin.close();
         }
         return new String(pwd, "UTF-8");
     }
@@ -74,11 +71,8 @@ public class TLSContextFactory implements 
SecurityHandlerFactory {
     private KeyStore loadKeyStore(String keyStoreType, String 
keyStoreLocation, String keyStorePassword)
             throws KeyStoreException, NoSuchAlgorithmException, 
CertificateException, IOException {
         KeyStore ks = KeyStore.getInstance(keyStoreType);
-        FileInputStream ksin = new FileInputStream(keyStoreLocation);
-        try {
+        try (FileInputStream ksin = new FileInputStream(keyStoreLocation)) {
             ks.load(ksin, keyStorePassword.trim().toCharArray());
-        } finally {
-            ksin.close();
         }
         return ks;
     }
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java
index dbb9c3c..a1fa290 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieInitializationTest.java
@@ -205,12 +205,11 @@ public class BookieInitializationTest extends 
BookKeeperClusterTestCase {
 
         // simulating bookie restart, on restart bookie will create new
         // zkclient and doing the registration.
-        ZooKeeperClient newZk = createNewZKClient();
         RegistrationManager newRm = new ZKRegistrationManager();
         newRm.initialize(conf, () -> {}, NullStatsLogger.INSTANCE);
         b.registrationManager = newRm;
 
-        try {
+        try (ZooKeeperClient newZk = createNewZKClient()) {
             // deleting the znode, so that the bookie registration should
             // continue successfully on NodeDeleted event
             new Thread(() -> {
@@ -241,8 +240,6 @@ public class BookieInitializationTest extends 
BookKeeperClusterTestCase {
             assertTrue("Bookie is referring to old registration znode:"
                 + bkRegNode1 + ", New ZNode:" + bkRegNode2, bkRegNode1
                 .getEphemeralOwner() != bkRegNode2.getEphemeralOwner());
-        } finally {
-            newZk.close();
         }
     }
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageTest.java
index d1c366f..65bcfb8 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageTest.java
@@ -107,13 +107,10 @@ public class KeyValueStorageTest {
 
         // Iterate
         List<Long> foundKeys = Lists.newArrayList();
-        CloseableIterator<Entry<byte[], byte[]>> iter = db.iterator();
-        try {
+        try (CloseableIterator<Entry<byte[], byte[]>> iter = db.iterator()) {
             while (iter.hasNext()) {
                 foundKeys.add(fromArray(iter.next().getKey()));
             }
-        } finally {
-            iter.close();
         }
 
         assertEquals(Lists.newArrayList(3L, 5L), foundKeys);
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
index bb59f29..38bb59d 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
@@ -251,11 +251,8 @@ public class BookieRecoveryTest extends 
BookKeeperClusterTestCase {
         ClientConfiguration newConf = new ClientConfiguration(baseClientConf);
         newConf.setZkServers(zkUtil.getZooKeeperConnectString());
         newConf.setDelayEnsembleChange(true);
-        BookKeeper newBkc = new BookKeeper(newConf);
-        try {
+        try (BookKeeper newBkc = new BookKeeper(newConf)) {
             metadataConflictWithRecovery(newBkc);
-        } finally {
-            newBkc.close();
         }
     }
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java
index 710c77b..acd231f 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestBookieWatcher.java
@@ -69,14 +69,11 @@ public class TestBookieWatcher extends 
BookKeeperClusterTestCase {
     @Test
     public void testBookieWatcherSurviveWhenSessionExpired() throws Exception {
         final int timeout = 2000;
-        ZooKeeper zk = ZooKeeperClient.newBuilder()
+        try (ZooKeeper zk = ZooKeeperClient.newBuilder()
                 .connectString(zkUtil.getZooKeeperConnectString())
                 .sessionTimeoutMs(timeout)
-                .build();
-        try {
+                .build()) {
             runBookieWatcherWhenSessionExpired(zk, timeout, true);
-        } finally {
-            zk.close();
         }
     }
 
@@ -84,7 +81,7 @@ public class TestBookieWatcher extends 
BookKeeperClusterTestCase {
     public void testBookieWatcherDieWhenSessionExpired() throws Exception {
         final int timeout = 2000;
         final CountDownLatch connectLatch = new CountDownLatch(1);
-        ZooKeeper zk = new ZooKeeper(zkUtil.getZooKeeperConnectString(), 
timeout, new Watcher() {
+        try (ZooKeeper zk = new ZooKeeper(zkUtil.getZooKeeperConnectString(), 
timeout, new Watcher() {
             @Override
             public void process(WatchedEvent watchedEvent) {
                 if (EventType.None == watchedEvent.getType()
@@ -92,12 +89,9 @@ public class TestBookieWatcher extends 
BookKeeperClusterTestCase {
                     connectLatch.countDown();
                 }
             }
-        });
-        connectLatch.await();
-        try {
+        })) {
+            connectLatch.await();
             runBookieWatcherWhenSessionExpired(zk, timeout, false);
-        } finally {
-            zk.close();
         }
     }
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/metastore/TestMetaStore.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/metastore/TestMetaStore.java
index b86f187..40e60cd 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/metastore/TestMetaStore.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/metastore/TestMetaStore.java
@@ -526,10 +526,8 @@ public class TestMetaStore {
                              Order order, Set<String> fields,
                              Iterator<Map.Entry<String, Value>> expectedValues,
                              int numEntriesPerScan) throws Exception {
-        MetastoreCursor cursor = myTable.openCursor(firstKey, firstInclusive,
-                                                    lastKey, lastInclusive,
-                                                    order, fields);
-        try {
+        try (MetastoreCursor cursor =
+                     myTable.openCursor(firstKey, firstInclusive, lastKey, 
lastInclusive, order, fields)) {
             while (cursor.hasMoreEntries()) {
                 Iterator<MetastoreTableItem> iter = 
cursor.readEntries(numEntriesPerScan);
                 while (iter.hasNext()) {
@@ -541,8 +539,6 @@ public class TestMetaStore {
                 }
             }
             assertFalse(expectedValues.hasNext());
-        } finally {
-            cursor.close();
         }
     }
 
diff --git 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
index 737b1e3..61e363e 100644
--- 
a/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
+++ 
b/bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
@@ -510,12 +510,11 @@ public class TestReplicationWorker extends 
BookKeeperClusterTestCase {
      */
     @Test
     public void testRWZKConnectionLost() throws Exception {
-        ZooKeeper zk = ZooKeeperClient.newBuilder()
+        try (ZooKeeper zk = ZooKeeperClient.newBuilder()
                 .connectString(zkUtil.getZooKeeperConnectString())
                 .sessionTimeoutMs(10000)
-                .build();
+                .build()) {
 
-        try {
             ReplicationWorker rw = new ReplicationWorker(zk, baseConf);
             rw.start();
             for (int i = 0; i < 10; i++) {
@@ -538,8 +537,6 @@ public class TestReplicationWorker extends 
BookKeeperClusterTestCase {
             startZKCluster();
 
             assertTrue("Replication worker should still be running", 
rw.isRunning());
-        } finally {
-            zk.close();
         }
     }
 

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to