[ https://issues.apache.org/jira/browse/PHOENIX-5189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kiran Kumar Maturi updated PHOENIX-5189: ---------------------------------------- Summary: Index Scrutiny Fails when data table field (type:double) is null (was: Index Scrutiny Fails when field of type double is null) > Index Scrutiny Fails when data table field (type:double) is null > ----------------------------------------------------------------- > > Key: PHOENIX-5189 > URL: https://issues.apache.org/jira/browse/PHOENIX-5189 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.14.0 > Reporter: Kiran Kumar Maturi > Priority: Minor > > Steps to reproduce: > 1. Create a data table > {code} > CREATE TABLE IF NOT EXISTS TEST(k1 CHAR(5) NOT NULL, k2 INTEGER NOT NULL, v1 > DOUBLE, v2 VARCHAR(1),CONSTRAINT PK PRIMARY KEY( > k1, > k2 > )) > {code} > 2. Create index table > {code} > CREATE INDEX IF NOT EXISTS TEST_INDEX ON TEST (k1,v1) INCLUDE (v2) > {code} > 3. Write Data > {code} > UPSERT INTO TEST (k1, k2, v1, v2) VALUES ('00000', 1, null, 'a' ) > {code} > 4. Run Index Scrutiny Tool > {code} > hbase org.apache.phoenix.mapreduce.index.IndexScrutinyTool -dt TEST -it > TEST_INDEX -src DATA_TABLE_SOURCE > {code} > Map reduce Job Logs will contain the Exception > {code} > 2019-03-12 05:10:51,085 INFO [atcher event handler] impl.TaskAttemptImpl - > Diagnostics report from attempt_1550549758736_0287_m_000000_1001: Error: > org.apache.phoenix.schema.IllegalDataException: java.sql.SQLException: ERROR > 201 (22000): Illegal data. DOUBLE may not be null > at > org.apache.phoenix.schema.types.PDataType.newIllegalDataException(PDataType.java:305) > at org.apache.phoenix.schema.types.PDouble.toBytes(PDouble.java:93) > at org.apache.phoenix.schema.types.PDouble.toBytes(PDouble.java:86) > at > org.apache.phoenix.mapreduce.index.IndexScrutinyMapper.getPkHash(IndexScrutinyMapper.java:370) > at > org.apache.phoenix.mapreduce.index.IndexScrutinyMapper.buildTargetStatement(IndexScrutinyMapper.java:250) > at > org.apache.phoenix.mapreduce.index.IndexScrutinyMapper.processBatch(IndexScrutinyMapper.java:212) > at > org.apache.phoenix.mapreduce.index.IndexScrutinyMapper.cleanup(IndexScrutinyMapper.java:185) > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:149) > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:170) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1760) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:164) > Caused by: java.sql.SQLException: ERROR 201 (22000): Illegal data. DOUBLE may > not be null > at > org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:494) > at > org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)