You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by si...@apache.org on 2022/04/13 19:54:55 UTC

[ozone] branch HDDS-4944 updated: HDDS-6375. [Multi-Tenant] Implement tenant request metrics (#3256)

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

siyao pushed a commit to branch HDDS-4944
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/HDDS-4944 by this push:
     new 9280b67553 HDDS-6375. [Multi-Tenant] Implement tenant request metrics (#3256)
9280b67553 is described below

commit 9280b675537cc79ba6caa93636c0cecb988f761d
Author: Siyao Meng <50...@users.noreply.github.com>
AuthorDate: Wed Apr 13 12:54:49 2022 -0700

    HDDS-6375. [Multi-Tenant] Implement tenant request metrics (#3256)
---
 .../java/org/apache/hadoop/ozone/om/OMMetrics.java | 174 +++++++++++++++++++++
 .../org/apache/hadoop/ozone/om/OzoneManager.java   |   6 +
 .../s3/tenant/OMTenantAssignAdminRequest.java      |   7 +-
 .../tenant/OMTenantAssignUserAccessIdRequest.java  |   7 +-
 .../request/s3/tenant/OMTenantCreateRequest.java   |  10 +-
 .../request/s3/tenant/OMTenantDeleteRequest.java   |   8 +-
 .../s3/tenant/OMTenantRevokeAdminRequest.java      |   7 +-
 .../tenant/OMTenantRevokeUserAccessIdRequest.java  |   7 +-
 8 files changed, 214 insertions(+), 12 deletions(-)

diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
index 827727c2c2..01318a86dc 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
@@ -114,6 +114,35 @@ public class OMMetrics {
   private @Metric MutableCounterLong numListMultipartUploadPartFails;
   private @Metric MutableCounterLong numOpenKeyDeleteRequestFails;
 
+  // Number of tenant operations attempted
+  private @Metric MutableCounterLong numTenantOps;
+  // Metrics for a total number of tenants
+  private @Metric MutableCounterLong numTenants;
+  // Metrics for tenant create operation
+  private @Metric MutableCounterLong numTenantCreates;
+  private @Metric MutableCounterLong numTenantCreateFails;
+  // Metrics for tenant delete operation
+  private @Metric MutableCounterLong numTenantDeletes;
+  private @Metric MutableCounterLong numTenantDeleteFails;
+  // Metrics for tenant assign user operation
+  private @Metric MutableCounterLong numTenantAssignUsers;
+  private @Metric MutableCounterLong numTenantAssignUserFails;
+  // Metrics for tenant revoke user operation
+  private @Metric MutableCounterLong numTenantRevokeUsers;
+  private @Metric MutableCounterLong numTenantRevokeUserFails;
+  // Metrics for tenant assign admin operation
+  private @Metric MutableCounterLong numTenantAssignAdmins;
+  private @Metric MutableCounterLong numTenantAssignAdminFails;
+  // Metrics for tenant revoke admin operation
+  private @Metric MutableCounterLong numTenantRevokeAdmins;
+  private @Metric MutableCounterLong numTenantRevokeAdminFails;
+  // Metric for tenant list operation
+  private @Metric MutableCounterLong numTenantLists;
+  // Metric for tenant get user info
+  private @Metric MutableCounterLong numTenantGetUserInfos;
+  // Metric for list users in tenant operation
+  private @Metric MutableCounterLong numTenantTenantUserLists;
+
   private @Metric MutableCounterLong numGetFileStatusFails;
   private @Metric MutableCounterLong numCreateDirectoryFails;
   private @Metric MutableCounterLong numCreateFileFails;
@@ -400,6 +429,83 @@ public class OMMetrics {
     numListMultipartUploadParts.incr();
   }
 
+  public void incNumTenants() {
+    numTenants.incr();
+  }
+
+  public void decNumTenants() {
+    numTenants.incr(-1);
+  }
+
+  public void incNumTenantCreates() {
+    numTenantOps.incr();
+    numTenantCreates.incr();
+  }
+
+  public void incNumTenantCreateFails() {
+    numTenantCreateFails.incr();
+  }
+
+  public void incNumTenantDeletes() {
+    numTenantOps.incr();
+    numTenantDeletes.incr();
+  }
+
+  public void incNumTenantDeleteFails() {
+    numTenantDeleteFails.incr();
+  }
+
+  public void incNumTenantAssignUsers() {
+    numTenantOps.incr();
+    numTenantAssignUsers.incr();
+  }
+
+  public void incNumTenantAssignUserFails() {
+    numTenantAssignUserFails.incr();
+  }
+
+  public void incNumTenantRevokeUsers() {
+    numTenantOps.incr();
+    numTenantRevokeUsers.incr();
+  }
+
+  public void incNumTenantRevokeUserFails() {
+    numTenantRevokeUserFails.incr();
+  }
+
+  public void incNumTenantAssignAdmins() {
+    numTenantOps.incr();
+    numTenantAssignAdmins.incr();
+  }
+
+  public void incNumTenantAssignAdminFails() {
+    numTenantAssignAdminFails.incr();
+  }
+
+  public void incNumTenantRevokeAdmins() {
+    numTenantOps.incr();
+    numTenantRevokeAdmins.incr();
+  }
+
+  public void incNumTenantRevokeAdminFails() {
+    numTenantRevokeAdminFails.incr();
+  }
+
+  public void incNumTenantLists() {
+    numTenantOps.incr();
+    numTenantLists.incr();
+  }
+
+  public void incNumTenantGetUserInfos() {
+    numTenantOps.incr();
+    numTenantGetUserInfos.incr();
+  }
+
+  public void incNumTenantUserLists() {
+    numTenantOps.incr();
+    numTenantTenantUserLists.incr();
+  }
+
   public void incNumGetFileStatus() {
     numKeyOps.incr();
     numFSOps.incr();
@@ -872,6 +978,74 @@ public class OMMetrics {
     return numRemoveAcl.value();
   }
 
+  public long getNumTenantOps() {
+    return numTenantOps.value();
+  }
+
+  public long getNumTenants() {
+    return numTenants.value();
+  }
+
+  public long getNumTenantCreates() {
+    return numTenantCreates.value();
+  }
+
+  public long getNumTenantCreateFails() {
+    return numTenantCreateFails.value();
+  }
+
+  public long getNumTenantDeletes() {
+    return numTenantDeletes.value();
+  }
+
+  public long getNumTenantDeleteFails() {
+    return numTenantDeleteFails.value();
+  }
+
+  public long getNumTenantAssignUsers() {
+    return numTenantAssignUsers.value();
+  }
+
+  public long getNumTenantAssignUserFails() {
+    return numTenantAssignUserFails.value();
+  }
+
+  public long getNumTenantRevokeUsers() {
+    return numTenantRevokeUsers.value();
+  }
+
+  public long getNumTenantRevokeUserFails() {
+    return numTenantRevokeUserFails.value();
+  }
+
+  public long getNumTenantAssignAdmins() {
+    return numTenantAssignAdmins.value();
+  }
+
+  public long getNumTenantAssignAdminFails() {
+    return numTenantAssignAdminFails.value();
+  }
+
+  public long getNumTenantRevokeAdmins() {
+    return numTenantRevokeAdmins.value();
+  }
+
+  public long getNumTenantRevokeAdminFails() {
+    return numTenantRevokeAdminFails.value();
+  }
+
+  public long getNumTenantLists() {
+    return numTenantLists.value();
+  }
+
+  public long getNumTenantGetUserInfos() {
+    return numTenantGetUserInfos.value();
+  }
+
+  public long getNumTenantTenantUserLists() {
+    return numTenantTenantUserLists.value();
+  }
+
   public void incNumTrashRenames() {
     numTrashRenames.incr();
   }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
index 0dc4825fcb..83708c20d0 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
@@ -2952,6 +2952,8 @@ public final class OzoneManager extends ServiceRuntimeInfoImpl
    */
   public TenantStateList listTenant() throws IOException {
 
+    metrics.incNumTenantLists();
+
     final UserGroupInformation ugi = getRemoteUser();
     if (!isAdmin(ugi)) {
       final OMException omEx = new OMException(
@@ -3004,6 +3006,8 @@ public final class OzoneManager extends ServiceRuntimeInfoImpl
   public TenantUserInfoValue tenantGetUserInfo(String userPrincipal)
       throws IOException {
 
+    metrics.incNumTenantGetUserInfos();
+
     if (StringUtils.isEmpty(userPrincipal)) {
       return null;
     }
@@ -3066,6 +3070,8 @@ public final class OzoneManager extends ServiceRuntimeInfoImpl
   public TenantUserList listUsersInTenant(String tenantId, String prefix)
       throws IOException {
 
+    metrics.incNumTenantUserLists();
+
     if (StringUtils.isEmpty(tenantId)) {
       return null;
     }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
index da90f5fd95..8a3cd7e108 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
@@ -26,6 +26,7 @@ import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
 import org.apache.hadoop.ozone.OzoneConsts;
 import org.apache.hadoop.ozone.audit.OMAction;
 import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.OMMetrics;
 import org.apache.hadoop.ozone.om.OMMultiTenantManager;
 import org.apache.hadoop.ozone.om.OzoneManager;
 import org.apache.hadoop.ozone.om.exceptions.OMException;
@@ -160,6 +161,9 @@ public class OMTenantAssignAdminRequest extends OMClientRequest {
       OzoneManager ozoneManager, long transactionLogIndex,
       OzoneManagerDoubleBufferHelper ozoneManagerDoubleBufferHelper) {
 
+    final OMMetrics omMetrics = ozoneManager.getMetrics();
+    omMetrics.incNumTenantAssignAdmins();
+
     OMClientResponse omClientResponse = null;
     final OMResponse.Builder omResponse =
         OmResponseUtil.getOMResponseBuilder(getOmRequest());
@@ -242,12 +246,11 @@ public class OMTenantAssignAdminRequest extends OMClientRequest {
     if (exception == null) {
       LOG.info("Assigned admin to accessId '{}' in tenant '{}', "
               + "delegated: {}", accessId, tenantId, delegated);
-      // TODO: HDDS-6375: omMetrics.incNumTenantAssignAdmin()
     } else {
       LOG.error("Failed to assign admin to accessId '{}' in tenant '{}', "
               + "delegated: {}: {}",
           accessId, tenantId, delegated, exception.getMessage());
-      // TODO: HDDS-6375: omMetrics.incNumTenantAssignAdminFails()
+      omMetrics.incNumTenantAssignAdminFails();
     }
     return omClientResponse;
   }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
index 473259b6b1..e30913620a 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
@@ -27,6 +27,7 @@ import org.apache.hadoop.ozone.OmUtils;
 import org.apache.hadoop.ozone.OzoneConsts;
 import org.apache.hadoop.ozone.audit.OMAction;
 import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.OMMetrics;
 import org.apache.hadoop.ozone.om.OzoneManager;
 import org.apache.hadoop.ozone.om.exceptions.OMException;
 import org.apache.hadoop.ozone.om.helpers.OmDBAccessIdInfo;
@@ -206,6 +207,9 @@ public class OMTenantAssignUserAccessIdRequest extends OMClientRequest {
       OzoneManager ozoneManager, long transactionLogIndex,
       OzoneManagerDoubleBufferHelper ozoneManagerDoubleBufferHelper) {
 
+    final OMMetrics omMetrics = ozoneManager.getMetrics();
+    omMetrics.incNumTenantAssignUsers();
+
     OMClientResponse omClientResponse = null;
     final OMResponse.Builder omResponse =
         OmResponseUtil.getOMResponseBuilder(getOmRequest());
@@ -363,11 +367,10 @@ public class OMTenantAssignUserAccessIdRequest extends OMClientRequest {
     if (exception == null) {
       LOG.info("Assigned user '{}' to tenant '{}' with accessId '{}'",
           userPrincipal, tenantId, accessId);
-      // TODO: HDDS-6375: omMetrics.incNumTenantAssignUser()
     } else {
       LOG.error("Failed to assign '{}' to tenant '{}' with accessId '{}': {}",
           userPrincipal, tenantId, accessId, exception.getMessage());
-      // TODO: HDDS-6375: omMetrics.incNumTenantAssignUserFails()
+      omMetrics.incNumTenantAssignUserFails();
     }
     return omClientResponse;
   }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
index fa4bb48941..27e25be6fa 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
@@ -27,6 +27,7 @@ import org.apache.hadoop.ozone.OmUtils;
 import org.apache.hadoop.ozone.OzoneConsts;
 import org.apache.hadoop.ozone.audit.OMAction;
 import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.OMMetrics;
 import org.apache.hadoop.ozone.om.OMMultiTenantManager;
 import org.apache.hadoop.ozone.om.OzoneManager;
 import org.apache.hadoop.ozone.om.exceptions.OMException;
@@ -208,6 +209,10 @@ public class OMTenantCreateRequest extends OMVolumeRequest {
       OzoneManager ozoneManager, long transactionLogIndex,
       OzoneManagerDoubleBufferHelper ozoneManagerDoubleBufferHelper) {
 
+    final OMMetrics omMetrics = ozoneManager.getMetrics();
+    omMetrics.incNumTenantCreates();
+    omMetrics.incNumVolumeCreates();
+
     OMClientResponse omClientResponse = null;
     final OMResponse.Builder omResponse =
         OmResponseUtil.getOMResponseBuilder(getOmRequest());
@@ -349,10 +354,11 @@ public class OMTenantCreateRequest extends OMVolumeRequest {
 
     if (exception == null) {
       LOG.info("Created tenant '{}' and volume '{}'", tenantId, volumeName);
-      // TODO: HDDS-6375: omMetrics.incNumTenants()
+      omMetrics.incNumTenants();
+      omMetrics.incNumVolumes();
     } else {
       LOG.error("Failed to create tenant '{}'", tenantId, exception);
-      // TODO: HDDS-6375: omMetrics.incNumTenantCreateFails()
+      omMetrics.incNumTenantCreateFails();
     }
     return omClientResponse;
   }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
index 3987224179..9e6b146cb0 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
@@ -25,6 +25,7 @@ import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
 import org.apache.hadoop.ozone.OzoneConsts;
 import org.apache.hadoop.ozone.audit.OMAction;
 import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.OMMetrics;
 import org.apache.hadoop.ozone.om.OzoneManager;
 import org.apache.hadoop.ozone.om.exceptions.OMException;
 import org.apache.hadoop.ozone.om.helpers.OmDBTenantState;
@@ -82,6 +83,9 @@ public class OMTenantDeleteRequest extends OMVolumeRequest {
       OzoneManager ozoneManager, long transactionLogIndex,
       OzoneManagerDoubleBufferHelper ozoneManagerDoubleBufferHelper) {
 
+    final OMMetrics omMetrics = ozoneManager.getMetrics();
+    omMetrics.incNumTenantDeletes();
+
     OMClientResponse omClientResponse = null;
     final OMResponse.Builder omResponse =
         OmResponseUtil.getOMResponseBuilder(getOmRequest());
@@ -202,10 +206,10 @@ public class OMTenantDeleteRequest extends OMVolumeRequest {
 
     if (exception == null) {
       LOG.info("Deleted tenant '{}' and volume '{}'", tenantId, volumeName);
-      // TODO: HDDS-6375: omMetrics.decNumTenants()
+      omMetrics.decNumTenants();
     } else {
       LOG.error("Failed to delete tenant '{}'", tenantId, exception);
-      // TODO: HDDS-6375: omMetrics.incNumTenantDeleteFails()
+      omMetrics.incNumTenantDeleteFails();
     }
     return omClientResponse;
   }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
index d03b948f33..eb74972b74 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
@@ -26,6 +26,7 @@ import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
 import org.apache.hadoop.ozone.OzoneConsts;
 import org.apache.hadoop.ozone.audit.OMAction;
 import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.OMMetrics;
 import org.apache.hadoop.ozone.om.OMMultiTenantManager;
 import org.apache.hadoop.ozone.om.OzoneManager;
 import org.apache.hadoop.ozone.om.exceptions.OMException;
@@ -143,6 +144,9 @@ public class OMTenantRevokeAdminRequest extends OMClientRequest {
       OzoneManager ozoneManager, long transactionLogIndex,
       OzoneManagerDoubleBufferHelper ozoneManagerDoubleBufferHelper) {
 
+    final OMMetrics omMetrics = ozoneManager.getMetrics();
+    omMetrics.incNumTenantRevokeAdmins();
+
     OMClientResponse omClientResponse = null;
     final OMResponse.Builder omResponse =
         OmResponseUtil.getOMResponseBuilder(getOmRequest());
@@ -222,11 +226,10 @@ public class OMTenantRevokeAdminRequest extends OMClientRequest {
     if (exception == null) {
       LOG.info("Revoked admin of accessId '{}' from tenant '{}'",
           accessId, tenantId);
-      // TODO: HDDS-6375: omMetrics.incNumTenantRevokeAdmin()
     } else {
       LOG.error("Failed to revoke admin of accessId '{}' from tenant '{}': {}",
           accessId, tenantId, exception.getMessage());
-      // TODO: HDDS-6375: omMetrics.incNumTenantRevokeAdminFails()
+      omMetrics.incNumTenantRevokeAdminFails();
     }
     return omClientResponse;
   }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
index 24ee6d5022..f83d301a09 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
@@ -26,6 +26,7 @@ import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
 import org.apache.hadoop.ozone.OzoneConsts;
 import org.apache.hadoop.ozone.audit.OMAction;
 import org.apache.hadoop.ozone.om.OMMetadataManager;
+import org.apache.hadoop.ozone.om.OMMetrics;
 import org.apache.hadoop.ozone.om.OMMultiTenantManager;
 import org.apache.hadoop.ozone.om.OzoneManager;
 import org.apache.hadoop.ozone.om.exceptions.OMException;
@@ -150,6 +151,9 @@ public class OMTenantRevokeUserAccessIdRequest extends OMClientRequest {
       OzoneManager ozoneManager, long transactionLogIndex,
       OzoneManagerDoubleBufferHelper ozoneManagerDoubleBufferHelper) {
 
+    final OMMetrics omMetrics = ozoneManager.getMetrics();
+    omMetrics.incNumTenantRevokeUsers();
+
     OMClientResponse omClientResponse = null;
     final OzoneManagerProtocolProtos.OMResponse.Builder omResponse =
         OmResponseUtil.getOMResponseBuilder(getOmRequest());
@@ -244,11 +248,10 @@ public class OMTenantRevokeUserAccessIdRequest extends OMClientRequest {
     if (exception == null) {
       LOG.info("Revoked user '{}' accessId '{}' to tenant '{}'",
           userPrincipal, accessId, tenantId);
-      // TODO: HDDS-6375: omMetrics.incNumTenantRevokeUser()
     } else {
       LOG.error("Failed to revoke user '{}' accessId '{}' to tenant '{}': {}",
           userPrincipal, accessId, tenantId, exception.getMessage());
-      // TODO: HDDS-6375: omMetrics.incNumTenantRevokeUserFails()
+      omMetrics.incNumTenantRevokeUserFails();
     }
     return omClientResponse;
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org