错误1121XCL21:写索引失败

问题描述

我有init.sql

CREATE TABLE IF NOT EXISTS DOCUMENT (
    "did" VARCHAR NOT NULL PRIMARY KEY,"d"."id" VARCHAR,"d"."dt" TIMESTAMP,"d"."t" SMALLINT,"d"."st" UNSIGNED_tinyint,"d"."sid" VARCHAR,"d"."sinn" VARCHAR,"d"."sn" VARCHAR,"d"."sa" VARCHAR,"d"."said" VARCHAR,"d"."rid" VARCHAR,"d"."rinn" VARCHAR,"d"."rn" VARCHAR,"d"."ra" VARCHAR,"d"."raid" VARCHAR,"d"."invi" VARCHAR,"d"."invd" TIMESTAMP,"d"."cinvi" VARCHAR,"d"."cinvd" TIMESTAMP,"d"."fn" UNSIGNED_INT,"d"."fd" TIMESTAMP,"d"."tm" TIMESTAMP,"d"."tt" BIGINT,"d"."vat" BIGINT,"d"."exc" BIGINT,"d"."pgm" VARBINARY,"d"."j" VARCHAR,"b"."b" VARCHAR 
)
    SALT_BUCKETS=10,COLUMN_ENCODED_BYTES = NONE,UPDATE_CACHE_FREQUENCY=3600000,COMPRESSION='GZ',MAX_FILESIZE='32212254720',SPLIT_POLICY='org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy';

ALTER TABLE DOCUMENT SET disABLE_WAL=false,MEMSTORE_FLUSHSIZE=134217728,"hbase.hstore.blockingStoreFiles"=10,"hbase.hstore.compaction.min"=3,"hbase.hstore.compaction.max"=10;


CREATE INDEX IF NOT EXISTS "DOCUMENT_IDX_INV" ON "DOCUMENT" ("d"."invi","d"."invd","d"."t","d"."st")
SALT_BUCKETS=5,SPLIT_POLICY='org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy';

CREATE INDEX IF NOT EXISTS "DOCUMENT_IDX_CINV" ON "DOCUMENT" ("d"."cinvi","d"."cinvd",SPLIT_POLICY='org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy';

CREATE INDEX IF NOT EXISTS "DOCUMENT_IDX_SINN_DT" ON "DOCUMENT" ("d"."sinn","d"."dt","d"."st")
INCLUDE ("d"."sid","d"."sn","d"."sa","d"."rid","d"."rinn","d"."rn","d"."ra","d"."invi","d"."cinvi","d"."fn","d"."fd","d"."tm","d"."exc","d"."vat","d"."tt","d"."pgm")
SALT_BUCKETS=10,SPLIT_POLICY='org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy';

CREATE INDEX IF NOT EXISTS "DOCUMENT_IDX_RINN_DT" ON "DOCUMENT" ("d"."rinn","d"."sinn",SPLIT_POLICY='org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy';

应用程序正在插入数据。在字段“ d”。“ j”和“ b”。“ b”中插入xml或json。在某个时候,出现异常:

o.a.hadoop.hbase.client.AsyncProcess:#2,table = DOCUMENT, 尝试次数= 1/35,失败次数= 1ops,最后一个例外: org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException:错误1121(XCL21): 写入索引失败。 disableIndexOnFailure = false,失败 写入多个索引表:[DOCUMENT_IDX_RINN_DT, DOCUMENT_IDX_CINV],serverTimestamp = 1599730300877,位于 org.apache.phoenix.util.ServerUtil.wrapInDoNotRetryIOException(ServerUtil.java:265) 在 org.apache.phoenix.index.PhoenixIndexFailurePolicy.handleFailure(PhoenixIndexFailurePolicy.java:186) 在 org.apache.phoenix.hbase.index.write.IndexWriter.writeAndKillYourselfOnFailure(IndexWriter.java:161) 在 org.apache.phoenix.hbase.index.write.IndexWriter.writeAndKillYourselfOnFailure(IndexWriter.java:145) 在 org.apache.phoenix.hbase.index.Indexer.doPostWithExceptions(Indexer.java:614) 在org.apache.phoenix.hbase.index.Indexer.doPost(Indexer.java:589) 在 org.apache.phoenix.hbase.index.Indexer.postBatchMutateIndispensably(Indexer.java:572) 在 org.apache.hadoop.hbase.regionserver.RegioncoprocessorHost $ 37.call(RegioncoprocessorHost.java:1048) 在 org.apache.hadoop.hbase.regionserver.RegioncoprocessorHost $ Regionoperation.call(RegioncoprocessorHost.java:1711) 在 org.apache.hadoop.hbase.regionserver.RegioncoprocessorHost.execoperation(RegioncoprocessorHost.java:1789) 在 org.apache.hadoop.hbase.regionserver.RegioncoprocessorHost.execoperation(RegioncoprocessorHost.java:1745) 在 org.apache.hadoop.hbase.regionserver.RegioncoprocessorHost.postBatchMutateIndispensably(RegioncoprocessorHost.java:1044) 在 org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutation(HRegion.java:3702) 在 org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:3154) 在 org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:3096) 在 org.apache.hadoop.hbase.regionserver.RSRpcServices.dobatchOp(RSRpcServices.java:916) 在 org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:844) 在 org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2412) 在 org.apache.hadoop.hbase.protobuf.generation.ClientProtos $ ClientService $ 2.callBlockingMethod(ClientProtos.java:36812) 在org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2399) 在org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124) 在 org.apache.hadoop.hbase.ipc.RpcExecutor $ Handler.run(RpcExecutor.java:311) 在 org.apache.hadoop.hbase.ipc.RpcExecutor $ Handler.run(RpcExecutor.java:291) 引起原因:java.sql.sqlException:错误1121(XCL21):写入 索引失败。 disableIndexOnFailure = false,无法写入 多个索引表:[DOCUMENT_IDX_RINN_DT,DOCUMENT_IDX_CINV]位于 org.apache.phoenix.exception.sqlExceptionCode $ Factory $ 1.newException(sqlExceptionCode.java:498) 在 org.apache.phoenix.exception.sqlExceptionInfo.buildException(sqlExceptionInfo.java:150) 在 org.apache.phoenix.index.PhoenixIndexFailurePolicy.handleFailure(PhoenixIndexFailurePolicy.java:185) ... 21更多原因: org.apache.phoenix.hbase.index.exception.MultiIndexWriteFailureException: disableIndexOnFailure = false,无法写入多个索引表: [DOCUMENT_IDX_RINN_DT,DOCUMENT_IDX_CINV]在 org.apache.phoenix.hbase.index.write.TrackingParallelWriterIndexCommitter.write(TrackingParallelWriterIndexCommitter.java:236) 在 org.apache.phoenix.hbase.index.write.IndexWriter.write(IndexWriter.java:195) 在 org.apache.phoenix.hbase.index.write.IndexWriter.writeAndKillYourselfOnFailure(IndexWriter.java:156) ...另外20个

我不太了解发生了什么。告诉我错误是什么以及如何解决

P.S。我使用org.apache.phoenix:phoenix-core:4.14.2-HBase-1.4

没人知道答案吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)