@Override public void run(Coordinator coordinator) throws IOException { DomainVersion domainVersion = getDomainVersion(coordinator, domainName, domainVersionNumber); LOG.info("Closing new version #" + domainVersion.getVersionNumber() + " of domain: " + domainName); domainVersion.close(); } }
@Override protected void action(HttpServletRequest req, HttpServletResponse resp) throws IOException { Domain domain = DomainController.this.coordinator.getDomain(req.getParameter("n")); final DomainVersion domainVersion = domain.getVersion(Integer.parseInt(req.getParameter("ver"))); domainVersion.close(); redirect("/domain.jsp?n=" + req.getParameter("n"), resp); } });
ver.close(); ver = d0.openNewVersion(null); final Domain d1 = coordinator.addDomain(DOMAIN_1, 32, Echo.Factory.class.getName(), "---", Murmur64Partitioner.class.getName(), Collections.<String>emptyList()); ver = d1.openNewVersion(null); dumpZk(); ver.close(); ver = d1.openNewVersion(null); ver.close();
@Test public void testVersioning() throws Exception { final ZkDomain dc = ZkDomain.create(getZk(), getRoot(), "domain0", 1, STORAGE_ENGINE_FACTORY, STORAGE_ENGINE_OPTS, CONST_PARTITIONER, 0, Collections.<String>emptyList()); assertTrue(dc.getVersions().isEmpty()); DomainVersion version = dc.openNewVersion(null); assertEquals(0, version.getVersionNumber()); assertEquals(1, dc.getVersions().size()); version.close(); Thread.sleep(1000); version = dc.openNewVersion(null); assertNotNull(version); assertEquals(1, version.getVersionNumber()); assertEquals(2, dc.getVersions().size()); // Test getVersionShallow assertTrue(dc.getVersionShallow(0) != null); assertEquals(dc.getVersion(0), dc.getVersionShallow(0)); }
@Test public void testCloseVersion() throws Exception { final DomainVersion dv = ZkDomainVersion.create(getZk(), getRoot(), 1, null, null); assertEquals(1, dv.getVersionNumber()); assertNull(dv.getClosedAt()); assertFalse(DomainVersions.isClosed(dv)); dv.close(); WaitUntil.orDie(() -> { try { return dv.getClosedAt() != null; } catch (IOException e) { throw new RuntimeException(e); } }); assertNotNull(dv.getClosedAt()); assertTrue(DomainVersions.isClosed(dv)); }