You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2017/12/15 07:51:14 UTC

[GitHub] jiazhai closed pull request #845: ISSUE #668: Use try-with-resources blocks whenever is possible

jiazhai closed pull request #845: ISSUE #668: Use try-with-resources blocks whenever is possible
URL: https://github.com/apache/bookkeeper/pull/845
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

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 a3b8f6f50..a55ff0462 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 static void main(String[] args) throws Exception {
         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 void run() {
             }
             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 a8550eee3..f8946c1f6 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 @@ private int bkRecovery(BookKeeperAdmin bkAdmin,
         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 @@ private void deleteCookies(ClientConfiguration conf,
                 BKException bke = new BKException.MetaStoreException();
                 bke.initCause(be);
                 throw bke;
-            } finally {
-                rm.close();
             }
         }
 
@@ -1748,8 +1745,7 @@ String getUsage() {
         @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 @@ int runCmd(CommandLine cmdLine) {
                     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 e2d4f1281..4a9f6f6c7 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 @@ static Builder generateCookie(ServerConfiguration conf)
     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 @@ static Builder generateCookie(ServerConfiguration conf)
      */
     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 4158abdda..d499ce357 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 @@ private static int detectPreviousVersion(File directory) throws IOException {
         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 static void upgrade(ServerConfiguration conf)
             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 boolean accept(File dir, String name) {
             }
         } catch (IOException ioe) {
             throw new BookieException.UpgradeException(ioe);
-        } finally {
-            rm.close();
         }
         LOG.info("Done");
     }
@@ -275,8 +269,7 @@ public static void finalizeUpgrade(ServerConfiguration conf)
     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 static void rollback(ServerConfiguration conf)
                 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 faac1b443..d54961ef5 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 @@ void readLog() {
             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 c736e0ecc..1db220aeb 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 LedgerUnderreplicationManager newLedgerUnderreplicationManager()
     @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 void format(AbstractConfiguration conf, ZooKeeper zk)
                 }
                 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 f9c673a83..040bc9b2b 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 @@
     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 @@ private String getPasswordFromFile(String path) throws IOException {
     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 dbb9c3caa..a1fa29039 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 void testBookieRegistration() throws Exception {
 
         // 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 void testBookieRegistration() throws Exception {
             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 d1c366fc3..65bcfb816 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 void simple() throws Exception {
 
         // 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 bb59f2972..38bb59d0d 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 void testMetadataConflictWhenDelayingEnsembleChange() throws Exception {
         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 710c77b9a..acd231f6d 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 void process(WatchedEvent event) {
     @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 void testBookieWatcherSurviveWhenSessionExpired() throws Exception {
     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 void process(WatchedEvent watchedEvent) {
                     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 b86f187f8..40e60cd3c 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 @@ void openRangeCursorTest(String firstKey, boolean firstInclusive,
                              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 @@ void openRangeCursorTest(String firstKey, boolean firstInclusive,
                 }
             }
             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 737b1e356..61e363e78 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 void testRWShouldReplicateTheLedgersAfterTimeoutIfLastFragmentIsNotUR()
      */
     @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 void testRWZKConnectionLost() throws Exception {
             startZKCluster();
 
             assertTrue("Replication worker should still be running", rw.isRunning());
-        } finally {
-            zk.close();
         }
     }
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services