You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by sa...@apache.org on 2017/07/06 20:55:11 UTC
phoenix git commit: PHOENIX-3938 Don't throw IOException out of
coprocessor hooks
Repository: phoenix
Updated Branches:
refs/heads/4.x-HBase-0.98 ed61837f5 -> ccbbb79df
PHOENIX-3938 Don't throw IOException out of coprocessor hooks
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/ccbbb79d
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/ccbbb79d
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/ccbbb79d
Branch: refs/heads/4.x-HBase-0.98
Commit: ccbbb79df2de8e86256b0b5ed54542953e8965b8
Parents: ed61837
Author: Samarth Jain <sa...@apache.org>
Authored: Thu Jul 6 13:54:58 2017 -0700
Committer: Samarth Jain <sa...@apache.org>
Committed: Thu Jul 6 13:54:58 2017 -0700
----------------------------------------------------------------------
.../coprocessor/MetaDataEndpointImpl.java | 14 ++++--
.../coprocessor/ServerCachingEndpointImpl.java | 48 ++++++++++----------
.../UngroupedAggregateRegionObserver.java | 2 +
3 files changed, 36 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/ccbbb79d/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
index 550b133..58178e9 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
@@ -3097,8 +3097,10 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso
if (result != null) {
done.run(MetaDataMutationResult.toProto(result));
}
- } catch (IOException ioe) {
- ProtobufUtil.setControllerException(controller, ioe);
+ } catch (Throwable e) {
+ logger.error("Add column failed: ", e);
+ ProtobufUtil.setControllerException(controller,
+ ServerUtil.createIOException("Error when adding column: ", e));
}
}
@@ -3344,8 +3346,10 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso
if (result != null) {
done.run(MetaDataMutationResult.toProto(result));
}
- } catch (IOException ioe) {
- ProtobufUtil.setControllerException(controller, ioe);
+ } catch (Throwable e) {
+ logger.error("Drop column failed: ", e);
+ ProtobufUtil.setControllerException(controller,
+ ServerUtil.createIOException("Error when dropping column: ", e));
}
}
@@ -3724,7 +3728,7 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso
GlobalCache.getInstance(this.env).getMetaDataCache();
metaDataCache.invalidate(cacheKey);
} catch (Throwable t) {
- logger.error("incrementTableTimeStamp failed", t);
+ logger.error("clearTableFromCache failed", t);
ProtobufUtil.setControllerException(controller,
ServerUtil.createIOException(SchemaUtil.getTableName(schemaName, tableName), t));
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/ccbbb79d/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ServerCachingEndpointImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ServerCachingEndpointImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ServerCachingEndpointImpl.java
index 98f57ad..0944fdf 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ServerCachingEndpointImpl.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ServerCachingEndpointImpl.java
@@ -36,6 +36,7 @@ import org.apache.phoenix.coprocessor.generated.ServerCachingProtos.ServerCachin
import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
import org.apache.phoenix.protobuf.ProtobufUtil;
import org.apache.phoenix.util.ByteUtil;
+import org.apache.phoenix.util.ServerUtil;
import com.google.protobuf.RpcCallback;
import com.google.protobuf.RpcController;
@@ -55,31 +56,32 @@ public class ServerCachingEndpointImpl extends ServerCachingService implements C
@Override
public void addServerCache(RpcController controller, AddServerCacheRequest request,
- RpcCallback<AddServerCacheResponse> done) {
- ImmutableBytesPtr tenantId = null;
- if (request.hasTenantId()) {
- tenantId = new ImmutableBytesPtr(request.getTenantId().toByteArray());
- }
- TenantCache tenantCache = GlobalCache.getTenantCache(this.env, tenantId);
- ImmutableBytesWritable cachePtr =
- org.apache.phoenix.protobuf.ProtobufUtil
- .toImmutableBytesWritable(request.getCachePtr());
- byte[] txState = request.hasTxState() ? request.getTxState().toByteArray() : ByteUtil.EMPTY_BYTE_ARRAY;
+ RpcCallback<AddServerCacheResponse> done) {
+ ImmutableBytesPtr tenantId = null;
+ if (request.hasTenantId()) {
+ tenantId = new ImmutableBytesPtr(request.getTenantId().toByteArray());
+ }
+ TenantCache tenantCache = GlobalCache.getTenantCache(this.env, tenantId);
+ ImmutableBytesWritable cachePtr =
+ org.apache.phoenix.protobuf.ProtobufUtil
+ .toImmutableBytesWritable(request.getCachePtr());
+ byte[] txState = request.hasTxState() ? request.getTxState().toByteArray() : ByteUtil.EMPTY_BYTE_ARRAY;
- try {
- @SuppressWarnings("unchecked")
- Class<ServerCacheFactory> serverCacheFactoryClass =
+ try {
+ @SuppressWarnings("unchecked")
+ Class<ServerCacheFactory> serverCacheFactoryClass =
(Class<ServerCacheFactory>) Class.forName(request.getCacheFactory().getClassName());
- ServerCacheFactory cacheFactory = serverCacheFactoryClass.newInstance();
- tenantCache.addServerCache(new ImmutableBytesPtr(request.getCacheId().toByteArray()),
- cachePtr, txState, cacheFactory, request.hasHasProtoBufIndexMaintainer() && request.getHasProtoBufIndexMaintainer());
- } catch (Throwable e) {
- ProtobufUtil.setControllerException(controller, new IOException(e));
- }
- AddServerCacheResponse.Builder responseBuilder = AddServerCacheResponse.newBuilder();
- responseBuilder.setReturn(true);
- AddServerCacheResponse result = responseBuilder.build();
- done.run(result);
+ ServerCacheFactory cacheFactory = serverCacheFactoryClass.newInstance();
+ tenantCache.addServerCache(new ImmutableBytesPtr(request.getCacheId().toByteArray()),
+ cachePtr, txState, cacheFactory, request.hasHasProtoBufIndexMaintainer() && request.getHasProtoBufIndexMaintainer());
+ } catch (Throwable e) {
+ ProtobufUtil.setControllerException(controller,
+ ServerUtil.createIOException("Error when adding cache: ", e));
+ }
+ AddServerCacheResponse.Builder responseBuilder = AddServerCacheResponse.newBuilder();
+ responseBuilder.setReturn(true);
+ AddServerCacheResponse result = responseBuilder.build();
+ done.run(result);
}
@Override
http://git-wip-us.apache.org/repos/asf/phoenix/blob/ccbbb79d/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 3a2fbca..3eaec2b 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -244,6 +244,7 @@ public class UngroupedAggregateRegionObserver extends BaseScannerRegionObserver
try {
table.batch(mutations);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -1177,6 +1178,7 @@ public class UngroupedAggregateRegionObserver extends BaseScannerRegionObserver
try {
lock.wait(1000);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
}
}
}