Can you please attach Create the table/indexes SQL? is this Phoneix's version? Are you sure many rows data had been corrupted or only this one row?
---------------------------------------- Jaanai Zhang Best regards! William Shen <wills...@marinsoftware.com> 于2018年11月21日周三 上午10:20写道: > Hi there, > > We've encountered the following compaction failure(#1) for a Phoenix > table, and are not sure how to make sense of it. Using the HBase row key > from the error, we are able to query data directly from hbase shell, and by > examining the data, there arent anything immediately obvious about the data > as they seem to be stored consistent with the Phoenix data type (#2). When > querying Phoenix for the given row through sqline, the row would return if > only primary key columns are selected, and the query would not return if > non primary key columns are selected (#3). > > Few questions hoping to find some help on: > > a. Are we correct in understanding the error message to indicate an issue > with data for the row key ( > \x05\x80\x00\x00\x00\x00\x1FT\x9C\x80\x00\x00\x00\x00\x1C}E\x00\x04\x80\x00\x00\x00\x00\x1D\x0F\x19\x80\x00\x00\x00\x00Ij\x9D\x80\x00\x00\x00\x01\xD1W\x13)? > We are not sure what to make sense of the string " > 1539019716378.3dcf2b1e057915feb74395d9711ba4ad." that is included with > the row key... > > b. What is out of bound here? It's not apparently clear here what > StatisticsScanner and FastDiffDeltaEncoder are tripping over... > > c. Is it normal for hbase shell to return some parts of the hex string as > ascii characters? We are seeing that in the row key as well as column name > encoding and value. We are not sure if that is causing any issues, or if > that was just a display issue that we can safely ignore. > > *#1 Compaction Failure* > > Compaction failed Request = > regionName=qa2.ADGROUPS,\x05\x80\x00\x00\x00\x00\x1FT\x9C\x80\x00\x00\x00\x00\x1C}E\x00\x04\x80\x00\x00\x00\x00\x1D\x0F\x19\x80\x00\x00\x00\x00Ij\x9D\x80\x00\x00\x00\x01\xD1W\x13,1539019716378.3dcf2b1e057915feb74395d9711ba4ad., > storeName=AG, fileCount=4, fileSize=316.0 M (315.8 M, 188.7 K, 6.8 K, 14.2 > K), priority=1, time=40613533856170784 > java.lang.IndexOutOfBoundsException > at java.nio.Buffer.checkBounds(Buffer.java:567) > at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:149) > at > org.apache.hadoop.hbase.io.encoding.FastDiffDeltaEncoder$1.decode(FastDiffDeltaEncoder.java:465) > at > org.apache.hadoop.hbase.io.encoding.FastDiffDeltaEncoder$1.decodeNext(FastDiffDeltaEncoder.java:516) > at > org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder$BufferedEncodedSeeker.next(BufferedDataBlockEncoder.java:618) > at > org.apache.hadoop.hbase.io.hfile.HFileReaderV2$EncodedScannerV2.next(HFileReaderV2.java:1277) > at > org.apache.hadoop.hbase.regionserver.StoreFileScanner.next(StoreFileScanner.java:180) > at > org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:108) > at > org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:588) > at > org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:458) > at > org.apache.phoenix.schema.stats.StatisticsScanner.next(StatisticsScanner.java:69) > at > org.apache.phoenix.schema.stats.StatisticsScanner.next(StatisticsScanner.java:76) > at > org.apache.hadoop.hbase.regionserver.compactions.Compactor.performCompaction(Compactor.java:334) > at > org.apache.hadoop.hbase.regionserver.compactions.DefaultCompactor.compact(DefaultCompactor.java:106) > at > org.apache.hadoop.hbase.regionserver.DefaultStoreEngine$DefaultCompactionContext.compact(DefaultStoreEngine.java:131) > at org.apache.hadoop.hbase.regionserver.HStore.compact(HStore.java:1245) > at > org.apache.hadoop.hbase.regionserver.HRegion.compact(HRegion.java:1852) > at > org.apache.hadoop.hbase.regionserver.CompactSplitThread$CompactionRunner.doCompaction(CompactSplitThread.java:529) > at > org.apache.hadoop.hbase.regionserver.CompactSplitThread$CompactionRunner.run(CompactSplitThread.java:566) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:748) > > > *#2 Data on the HBase level* > > hbase(main):002:0> get 'qa2.ADGROUPS', > "\x05\x80\x00\x00\x00\x00\x1FT\x9C\x80\x00\x00\x00\x00\x1C}E\x00\x04\x80\x00\x00\x00\x00\x1D\x0F\x19\x80\x00\x00\x00\x00Ij\x9D\x80\x00\x00\x00\x01\xD1W\x13" > COLUMN CELL > AG:\x00\x00\x00\x00 timestamp=1539019457506, value=x > AG:\x80\x0F timestamp=1539019457506, > value=D:USA_AK:Nightmute:1456903:hotel > AG:\x80\x12 timestamp=1539019457506, value=ACTIVE > AG:\x80\x13 timestamp=1539019457506, value=ADD > AG:\x80# timestamp=1539019457506, > value=\x80\x00\x00\x00\x00\x00'\x10 > AG:\x80' timestamp=1539019457506, > value=\x80\x00\x01[\x97\x02\x02X\x00\x00\x00\x00 > AG:\x80( timestamp=1539019457506, > value=\x80\x00\x00\x00\x00\x1D\xEC\xA4 > AG:\x808 timestamp=1539019457506, value=\x00 > 8 row(s) in 0.0510 seconds > > > *#3 Data in Phoenix via sqline* > > 0: jdbc:phoenix:qa2-zod-journalnode-lv-101,qa> select "cstId", "cltId", > "pubId", "accId","cpgnId", "id" from "qa2".adgroups where "id" = 30496531; > +----------+----------+--------+----------+----------+-----------+ > | cstId | cltId | pubId | accId | cpgnId | id | > +----------+----------+--------+----------+----------+-----------+ > | 2053276 | 1867077 | 4 | 1904409 | 4811421 | 30496531 | > +----------+----------+--------+----------+----------+-----------+ > 1 row selected (0.095 seconds) > > 0: jdbc:phoenix:qa2-zod-journalnode-lv-101,qa> select "cstId", "cltId", > "pubId", "accId","cpgnId", "id", "stts" from "qa2".adgroups where "id" = > 30496531; > > *[hangs]* > > > Thanks in advance for your help! >