diff --git a/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java b/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java
index 2491107..e8af92e 100644
--- a/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java
+++ b/gitiles-servlet/src/test/java/com/google/gitiles/PaginatorTest.java
@@ -50,7 +50,7 @@
 
   @After
   public void tearDown() throws Exception {
-    walk.release();
+    walk.close();
   }
 
   @Test
diff --git a/gitiles-servlet/src/test/java/com/google/gitiles/RefServletTest.java b/gitiles-servlet/src/test/java/com/google/gitiles/RefServletTest.java
index 4e4d603..467a65e 100644
--- a/gitiles-servlet/src/test/java/com/google/gitiles/RefServletTest.java
+++ b/gitiles-servlet/src/test/java/com/google/gitiles/RefServletTest.java
@@ -364,12 +364,9 @@
   }
 
   private List<?> buildTagsSoyData() throws Exception {
-    RevWalk rw = new RevWalk(repo.getRepository());
-    try {
+    try (RevWalk rw = new RevWalk(repo.getRepository())) {
       return RefServlet.getTagsSoyData(buildSoyRequest(),
           new TimeCache(TimeCache.defaultBuilder()), rw, Integer.MAX_VALUE);
-    } finally {
-      rw.release();
     }
   }
 
diff --git a/gitiles-servlet/src/test/java/com/google/gitiles/TimeCacheTest.java b/gitiles-servlet/src/test/java/com/google/gitiles/TimeCacheTest.java
index 6481101..8317363 100644
--- a/gitiles-servlet/src/test/java/com/google/gitiles/TimeCacheTest.java
+++ b/gitiles-servlet/src/test/java/com/google/gitiles/TimeCacheTest.java
@@ -116,13 +116,10 @@
     builder.setObjectId(commit);
     builder.setTag("tag");
     builder.setMessage("");
-    ObjectInserter ins = repo.getRepository().newObjectInserter();
     ObjectId id;
-    try {
+    try (ObjectInserter ins = repo.getRepository().newObjectInserter()) {
       id = ins.insert(builder);
       ins.flush();
-    } finally {
-      ins.release();
     }
     assertEquals(start + 1, getTime(commit));
     assertEquals(start + 1, getTime(id));
@@ -139,13 +136,10 @@
     builder.setObjectId(tag);
     builder.setTag("tagtag");
     builder.setMessage("");
-    ObjectInserter ins = repo.getRepository().newObjectInserter();
     ObjectId tagTagId;
-    try {
+    try (ObjectInserter ins = repo.getRepository().newObjectInserter()) {
       tagTagId = ins.insert(builder);
       ins.flush();
-    } finally {
-      ins.release();
     }
     assertEquals(start + 1, getTime(commit));
     assertEquals(start + 2, getTime(tag));
