Esempio n. 1
0
 private void doUpdateDomain(HttpServletRequest req, HttpServletResponse resp) throws IOException {
   final String domainName = req.getParameter("name");
   final String storageEngineOptions = req.getParameter("storageEngineOptions");
   final Domain domain = coordinator.getDomain(domainName);
   if (domain == null) {
     throw new IOException("Could not get Domain '" + domainName + "' from Configurator.");
   } else {
     coordinator.updateDomain(
         domainName,
         domain.getNumParts(),
         domain.getStorageEngineFactoryClass().getName(),
         storageEngineOptions,
         domain.getPartitioner().getClass().getName());
   }
   resp.sendRedirect("/domains.jsp");
 }
 // Compute, for each domain, the number of _domain partitions_ (unique partitions)
 // that are fully (all copies) served and up to date
 public ServingStatus computeUniquePartitionsServingStatus(DomainGroup domainGroup)
     throws IOException {
   ServingStatus result = new ServingStatus();
   for (DomainGroupDomainVersion dgvdv : domainGroup.getDomainVersions()) {
     Domain domain = dgvdv.getDomain();
     Map<Integer, ServingStatus> partitionToServingStatus =
         domainToPartitionToPartitionServingStatus.get(domain);
     int partitionsServedAndUpToDate = 0;
     if (partitionToServingStatus != null) {
       for (ServingStatus servingStatus : partitionToServingStatus.values()) {
         // A unique partition is served and up to date if all host corresponding domain partitions
         // are
         // served and up to date
         if (servingStatus.getNumPartitionsServedAndUpToDate()
             == servingStatus.getNumPartitions()) {
           partitionsServedAndUpToDate += 1;
         }
       }
     }
     result.aggregate(
         domain.getNumParts(), partitionToServingStatus == null ? 0 : partitionsServedAndUpToDate);
   }
   return result;
 }