trafodion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhu, Wen-Jun" <wenjun....@esgyn.cn>
Subject Question about metadata table creation
Date Tue, 02 Jan 2018 12:32:55 GMT
Hi,

Recently I added a field for metadata table seabaseRoutinesDDL in file CmpSeabaseDDLmd.h,
which is unrelated here. then I got the following error when I initialize the database in
trafci:

SQL>initialize trafodion;

*** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterface::nextRow returned
error HBASE_ACCESS_ERROR(-706). Cause: java.util.concurrent.ExecutionException: java.io.IOException:
PerformScan error on coprocessor call, scannerID: 0
java.util.concurrent.FutureTask.report(FutureTask.java:122)
java.util.concurrent.FutureTask.get(FutureTask.java:188)
org.trafodion.sql.HTableClient.fetchRows(HTableClient.java:1199) Caused by
java.io.IOException: PerformScan error on coprocessor call, scannerID: 0
org.apache.hadoop.hbase.client.transactional.TransactionalScanner.next(TransactionalScanner.java:249)
org.apache.hadoop.hbase.client.AbstractClientScanner.next(AbstractClientScanner.java:70)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:286)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:284)
java.util.concurrent.FutureTask.run(FutureTask.java:262)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
java.lang.Thread.run(Thread.java:748) Caused by
com.google.protobuf.ServiceException: Error calling method TrxRegionService.performScan
org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel.callBlockingMethod(CoprocessorRpcChannel.java:75)
org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$TrxRegionService$BlockingStub.performScan(TrxRegionProtos.java:50273)
org.apache.hadoop.hbase.client.transactional.TransactionalScanner.next(TransactionalScanner.java:244)
org.apache.hadoop.hbase.client.AbstractClientScanner.next(AbstractClientScanner.java:70)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:286)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:284)
java.util.concurrent.FutureTask.run(FutureTask.java:262)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
java.lang.Thread.run(Thread.java:748) Caused by
org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$PerformScanRequest
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2212)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:109)
        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$PerformScanRequest
        at org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$TrxRegionService.getRequestPrototype(TrxRegionProtos.java:49210)
        at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7786)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1988)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1970)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33652)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2170)
        ... 4 more

sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:526)
org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:327)
org.apache.hadoop.hbase.protobuf.ProtobufUtil.execService(ProtobufUtil.java:1624)
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel$1.call(RegionCoprocessorRpcChannel.java:92)
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel$1.call(RegionCoprocessorRpcChannel.java:89)
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel.callExecService(RegionCoprocessorRpcChannel.java:95)
org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel.callBlockingMethod(CoprocessorRpcChannel.java:73)
org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$TrxRegionService$BlockingStub.performScan(TrxRegionProtos.java:50273)
org.apache.hadoop.hbase.client.transactional.TransactionalScanner.next(TransactionalScanner.java:244)
org.apache.hadoop.hbase.client.AbstractClientScanner.next(AbstractClientScanner.java:70)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:286)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:284)
java.util.concurrent.FutureTask.run(FutureTask.java:262)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
java.lang.Thread.run(Thread.java:748) Caused by
org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.DoNotRetryIOException):
org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFoundError: Could not initialize
class org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$PerformScanRequest
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2212)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:109)
        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$PerformScanRequest
        at org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$TrxRegionService.getRequestPrototype(TrxRegionProtos.java:49210)
        at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7786)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1988)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1970)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33652)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2170)
        ... 4 more

org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1268)
org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:226)
org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:331)
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.execService(ClientProtos.java:34118)
org.apache.hadoop.hbase.protobuf.ProtobufUtil.execService(ProtobufUtil.java:1620)
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel$1.call(RegionCoprocessorRpcChannel.java:92)
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel$1.call(RegionCoprocessorRpcChannel.java:89)
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel.callExecService(RegionCoprocessorRpcChannel.java:95)
org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel.callBlockingMethod(CoprocessorRpcChannel.java:73)
org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos$TrxRegionService$BlockingStub.performScan(TrxRegionProtos.java:50273)
org.apache.hadoop.hbase.client.transactional.TransactionalScanner.next(TransactionalScanner.java:244)
org.apache.hadoop.hbase.client.AbstractClientScanner.next(AbstractClientScanner.java:70)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:286)
org.trafodion.sql.HTableClient$ScanHelper.call(HTableClient.java:284)
java.util.concurrent.FutureTask.run(FutureTask.java:262)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
java.lang.Thread.run(Thread.java:748). [2018-01-02 16:55:15]
*** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterface::scanOpen returned
error HBASE_OPEN_ERROR(-704). Cause: org.apache.hadoop.hbase.TableNotFoundException: TRAFODION._MD_.AUTHS
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1404)
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1199)
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1179)
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1136)
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getRegionLocation(ConnectionManager.java:971)
org.apache.hadoop.hbase.client.HRegionLocator.getRegionLocation(HRegionLocator.java:83)
org.apache.hadoop.hbase.client.HTable.getRegionLocation(HTable.java:569)
org.apache.hadoop.hbase.client.transactional.TransactionalTable.getRegionLocation(TransactionalTable.java:1115)
org.apache.hadoop.hbase.client.transactional.RMInterface.registerTransaction(RMInterface.java:349)
org.apache.hadoop.hbase.client.transactional.RMInterface.registerTransaction(RMInterface.java:393)
org.apache.hadoop.hbase.client.transactional.RMInterface.getScanner(RMInterface.java:592)
org.trafodion.sql.HTableClient.startScan(HTableClient.java:997). [2018-01-02 16:55:15]
*** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterface::scanOpen returned
error HBASE_OPEN_ERROR(-704). Cause: org.apache.hadoop.hbase.TableNotFoundException: TRAFODION._MD_.OBJECTS_UNIQ_IDX
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1404)
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1199)
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.relocateRegion(ConnectionManager.java:1166)
org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:303)
org.apache.hadoop.hbase.client.ScannerCallable.prepare(ScannerCallable.java:153)
org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.prepare(ScannerCallableWithReplicas.java:372)
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:124)
org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
java.lang.Thread.run(Thread.java:748). [2018-01-02 16:55:15]

and then I checked the table TRAFODION._MD_.OBJECT_UNIQ_IDX on other's database, and I found
none.
But there is a index with the same name for metadata table TRAFODION._MD_.OBJECTS in CmpSeabaseDDLmd.h.

static const QString seabaseObjectsUniqIdxIndexDDL[] =
{
  {" create unique index " SEABASE_OBJECTS_UNIQ_IDX" on " TRAFODION_SYSCAT_LIT".\"" SEABASE_MD_SCHEMA"\"."
SEABASE_OBJECTS" "},
  {" ( "},
  {"   object_uid "},
  {" ) "},
  {" attribute hbase format "},
  {" ; "}
};

static const QString seabaseObjectsUniqIdxDDL[] =
{
  {" create table " SEABASE_OBJECTS_UNIQ_IDX" "},
  {" ( "},
  {"   \"OBJECT_UID@\" largeint not null not serialized, "},
  {"   catalog_name varchar(256 bytes) character set utf8 not null not serialized, "},
  {"   schema_name varchar(256 bytes) character set utf8 not null not serialized, "},
  {"   object_name varchar(256 bytes) character set utf8 not null not serialized, "},
  {"   object_type char(2) character set iso88591 not null not serialized "},
  {" ) "},
  {" primary key (\"OBJECT_UID@\") "},
  {" attribute hbase format "},
  {" ; "}
};

In the source code, I found that there is a table and a index, with the same name, is that
correct?
But in trafci, they cannot be created with identical name.


Back to the the initialization issue, before my adding the field, it is all right. So I guess
have I broke some procedure?
like there is a order in metadata table creation, and one failed, causing the following failing,
and absent.
If so, is the order that in array allMDtablesInfo? How can I check the result of each creation,
i.e. success or failure?

Thanks.

---
Regards,
Wenjun Zhu.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message