Alejandro Anadon created PHOENIX-6583: -----------------------------------------
Summary: in binary fields, if upsert with null, dont insert null, it insert 0 byte array Key: PHOENIX-6583 URL: https://issues.apache.org/jira/browse/PHOENIX-6583 Project: Phoenix Issue Type: Bug Components: core Affects Versions: 5.1.2 Reporter: Alejandro Anadon In binary fields, if I use upsert with null value, it "insert" the field with 0x00 0x00 bytes vaules. Example: create table DUMMYTABLE (id integer not null, text varchar(255), testbin binary(16), CONSTRAINT pk primary key (id)); 1) upsert into DUMMYTABLE (id,text) values (1,'null in testBinary'); select id,text,LENGTH(TEXT),TESTBIN,OCTET_LENGTH(TESTBIN) from DUMMYTABLE; result--> TESTBIN => null, OCTET_LENGTH(TESTBIN) => null . that's ok. 2) upsert into DUMMYTABLE (id,text,testbin) values (2,'IT DO NOT null in testBinary',null); select id,text,LENGTH(TEXT),TESTBIN,OCTET_LENGTH(TESTBIN) from DUMMYTABLE; result in seconf row-> TESTBIN => NOT NULL, OCTET_LENGTH(TESTBIN) => 16 . that's an error. I verified it in hbase and actually reserves empty data (it should not): hbase(main):001:0> scan 'DUMMYTABLE' ROW COLUMN+CELL \x80\x00\x00\x01 column=0:\x00\x00\x00\x00, timestamp=1635365632081, value=x \x80\x00\x00\x01 column=0:\x80\x0B, timestamp=1635365632081, value=null in testBinary \x80\x00\x00\x02 column=0:\x00\x00\x00\x00, timestamp=1635365696139, value=x \x80\x00\x00\x02 column=0:\x80\x0B, timestamp=1635365696139, value=IT DO NOT null in testBinary \x80\x00\x00\x02 column=0:\x80\x0C, timestamp=1635365696139, value=\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 2 row(s) Took 0.5030 seconds And now, it is imposible to delete that files: upsert into DUMMYTABLE (id,testbin) values (2,null); it does not removes the data. -- This message was sent by Atlassian Jira (v8.3.4#803005)