You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2015/05/29 21:08:12 UTC
[1/5] hbase git commit: HBASE-13789 ForeignException should not be
sent to the client
Repository: hbase
Updated Branches:
refs/heads/0.98 4273de58e -> a648e532c
refs/heads/branch-1 32f4a6ad8 -> 02af4b066
refs/heads/branch-1.0 62076f0b2 -> c377d2def
refs/heads/branch-1.1 293a41abc -> 9973b5c1d
refs/heads/master 62b5e578a -> 8ac8fb447
HBASE-13789 ForeignException should not be sent to the client
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8ac8fb44
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8ac8fb44
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8ac8fb44
Branch: refs/heads/master
Commit: 8ac8fb4476b32d156f155d40796183c8d7cc4740
Parents: 62b5e57
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Fri May 29 19:32:42 2015 +0100
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Fri May 29 19:32:42 2015 +0100
----------------------------------------------------------------------
.../apache/hadoop/hbase/master/MasterRpcServices.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/8ac8fb44/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index 6790c7e..e82bd54 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -38,6 +38,7 @@ import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.UnknownRegionException;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.client.TableState;
+import org.apache.hadoop.hbase.errorhandling.ForeignException;
import org.apache.hadoop.hbase.exceptions.MergeRegionException;
import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;
import org.apache.hadoop.hbase.ipc.QosPriority;
@@ -669,6 +670,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME;
return ExecProcedureResponse.newBuilder().setExpectedTimeout(
waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -919,6 +922,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = mpm.isProcedureDone(desc);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -944,6 +949,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isRestoreDone(snapshot);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -967,6 +974,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isSnapshotDone(request.getSnapshot());
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1179,6 +1188,8 @@ public class MasterRpcServices extends RSRpcServices
SnapshotDescription reqSnapshot = request.getSnapshot();
master.snapshotManager.restoreSnapshot(reqSnapshot);
return RestoreSnapshotResponse.newBuilder().build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1238,6 +1249,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.getMaxMasterTimeout(master.getConfiguration(),
snapshot.getType(), SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME);
return SnapshotResponse.newBuilder().setExpectedTimeout(waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
[3/5] hbase git commit: HBASE-13789 ForeignException should not be
sent to the client
Posted by mb...@apache.org.
HBASE-13789 ForeignException should not be sent to the client
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/02af4b06
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/02af4b06
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/02af4b06
Branch: refs/heads/branch-1
Commit: 02af4b066f871894b057d26b1ca2b5f031d18735
Parents: 32f4a6a
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Fri May 29 19:32:42 2015 +0100
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Fri May 29 12:02:32 2015 -0700
----------------------------------------------------------------------
.../hadoop/hbase/master/MasterRpcServices.java | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/02af4b06/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index 7a30bac..b2e8306 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.UnknownRegionException;
import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.errorhandling.ForeignException;
import org.apache.hadoop.hbase.exceptions.MergeRegionException;
import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;
import org.apache.hadoop.hbase.ipc.QosPriority;
@@ -667,6 +668,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME;
return ExecProcedureResponse.newBuilder().setExpectedTimeout(
waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -900,6 +903,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = mpm.isProcedureDone(desc);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -925,6 +930,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isRestoreDone(snapshot);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -948,6 +955,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isSnapshotDone(request.getSnapshot());
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1160,6 +1169,8 @@ public class MasterRpcServices extends RSRpcServices
SnapshotDescription reqSnapshot = request.getSnapshot();
master.snapshotManager.restoreSnapshot(reqSnapshot);
return RestoreSnapshotResponse.newBuilder().build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1219,6 +1230,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.getMaxMasterTimeout(master.getConfiguration(),
snapshot.getType(), SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME);
return SnapshotResponse.newBuilder().setExpectedTimeout(waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1341,7 +1354,7 @@ public class MasterRpcServices extends RSRpcServices
response.setEnabled(master.isBalancerOn());
return response.build();
}
-
+
@Override
public SetQuotaResponse setQuota(RpcController c, SetQuotaRequest req) throws ServiceException {
try {
[4/5] hbase git commit: HBASE-13789 ForeignException should not be
sent to the client
Posted by mb...@apache.org.
HBASE-13789 ForeignException should not be sent to the client
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c377d2de
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c377d2de
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c377d2de
Branch: refs/heads/branch-1.0
Commit: c377d2defac3df165c8ff65fb8972120836d7dc9
Parents: 62076f0
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Fri May 29 19:32:42 2015 +0100
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Fri May 29 12:04:15 2015 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/master/MasterRpcServices.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/c377d2de/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index b6180cf..0ddf0e4 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.UnknownRegionException;
import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.errorhandling.ForeignException;
import org.apache.hadoop.hbase.exceptions.MergeRegionException;
import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;
import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;
@@ -644,6 +645,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME;
return ExecProcedureResponse.newBuilder().setExpectedTimeout(
waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -877,6 +880,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = mpm.isProcedureDone(desc);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -902,6 +907,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isRestoreDone(snapshot);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -925,6 +932,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isSnapshotDone(request.getSnapshot());
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1098,6 +1107,8 @@ public class MasterRpcServices extends RSRpcServices
SnapshotDescription reqSnapshot = request.getSnapshot();
master.snapshotManager.restoreSnapshot(reqSnapshot);
return RestoreSnapshotResponse.newBuilder().build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1157,6 +1168,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.getMaxMasterTimeout(master.getConfiguration(),
snapshot.getType(), SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME);
return SnapshotResponse.newBuilder().setExpectedTimeout(waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
[5/5] hbase git commit: HBASE-13789 ForeignException should not be
sent to the client
Posted by mb...@apache.org.
HBASE-13789 ForeignException should not be sent to the client
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9973b5c1
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9973b5c1
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9973b5c1
Branch: refs/heads/branch-1.1
Commit: 9973b5c1d8e59d9894163bf1a5cd1e0ab264e5d5
Parents: 293a41a
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Fri May 29 19:32:42 2015 +0100
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Fri May 29 12:04:27 2015 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/master/MasterRpcServices.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/9973b5c1/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index d7083fa..773cb91 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.UnknownRegionException;
import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.errorhandling.ForeignException;
import org.apache.hadoop.hbase.exceptions.MergeRegionException;
import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;
import org.apache.hadoop.hbase.ipc.QosPriority;
@@ -687,6 +688,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME;
return ExecProcedureResponse.newBuilder().setExpectedTimeout(
waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -920,6 +923,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = mpm.isProcedureDone(desc);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -945,6 +950,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isRestoreDone(snapshot);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -968,6 +975,8 @@ public class MasterRpcServices extends RSRpcServices
boolean done = master.snapshotManager.isSnapshotDone(request.getSnapshot());
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1180,6 +1189,8 @@ public class MasterRpcServices extends RSRpcServices
SnapshotDescription reqSnapshot = request.getSnapshot();
master.snapshotManager.restoreSnapshot(reqSnapshot);
return RestoreSnapshotResponse.newBuilder().build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -1239,6 +1250,8 @@ public class MasterRpcServices extends RSRpcServices
long waitTime = SnapshotDescriptionUtils.getMaxMasterTimeout(master.getConfiguration(),
snapshot.getType(), SnapshotDescriptionUtils.DEFAULT_MAX_WAIT_TIME);
return SnapshotResponse.newBuilder().setExpectedTimeout(waitTime).build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
[2/5] hbase git commit: HBASE-13789 ForeignException should not be
sent to the client
Posted by mb...@apache.org.
HBASE-13789 ForeignException should not be sent to the client
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a648e532
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a648e532
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a648e532
Branch: refs/heads/0.98
Commit: a648e532c7fa6519de80861a24305dc89dd0d78d
Parents: 4273de5
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Fri May 29 11:59:51 2015 -0700
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Fri May 29 12:00:31 2015 -0700
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/master/HMaster.java | 21 +++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/a648e532/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index 1f9b13a..6d21573 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -77,6 +77,7 @@ import org.apache.hadoop.hbase.client.MetaScanner.MetaScannerVisitor;
import org.apache.hadoop.hbase.client.MetaScanner.MetaScannerVisitorBase;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
+import org.apache.hadoop.hbase.errorhandling.ForeignException;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.exceptions.MergeRegionException;
import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;
@@ -1073,10 +1074,10 @@ MasterServices, Server {
status.setStatus("Assigning hbase:meta region");
RegionStates regionStates = assignmentManager.getRegionStates();
-
+
RegionState regionState = this.catalogTracker.getMetaRegionState();
ServerName currentMetaServer = regionState.getServerName();
-
+
if (!ConfigUtil.useZKForAssignment(conf)) {
regionStates.createRegionState(HRegionInfo.FIRST_META_REGIONINFO, regionState.getState(),
currentMetaServer);
@@ -1157,7 +1158,7 @@ MasterServices, Server {
assignmentManager.assignMeta();
}
}
-
+
void initNamespace() throws IOException {
//create namespace manager
tableNamespaceManager = new TableNamespaceManager(this);
@@ -3078,6 +3079,8 @@ MasterServices, Server {
this.conf);
try {
snapshotManager.takeSnapshot(snapshot);
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -3128,6 +3131,8 @@ MasterServices, Server {
LOG.info(getClientIdAuditPrefix() + " delete " + request.getSnapshot());
snapshotManager.deleteSnapshot(request.getSnapshot());
return DeleteSnapshotResponse.newBuilder().build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -3150,6 +3155,8 @@ MasterServices, Server {
boolean done = snapshotManager.isSnapshotDone(request.getSnapshot());
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -3189,6 +3196,8 @@ MasterServices, Server {
SnapshotDescription reqSnapshot = request.getSnapshot();
snapshotManager.restoreSnapshot(reqSnapshot);
return RestoreSnapshotResponse.newBuilder().build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -3213,6 +3222,8 @@ MasterServices, Server {
boolean done = snapshotManager.isRestoreDone(snapshot);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -3238,6 +3249,8 @@ MasterServices, Server {
try {
mpm.execProcedure(desc);
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}
@@ -3275,6 +3288,8 @@ MasterServices, Server {
boolean done = mpm.isProcedureDone(desc);
builder.setDone(done);
return builder.build();
+ } catch (ForeignException e) {
+ throw new ServiceException(e.getCause());
} catch (IOException e) {
throw new ServiceException(e);
}