[ https://issues.apache.org/jira/browse/TRAFODION-2766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sandhya Sundaresan resolved TRAFODION-2766. ------------------------------------------- Resolution: Fixed Fix Version/s: 2.3-incubating > HIVE: Inserted row into a hive table has gone missing > ----------------------------------------------------- > > Key: TRAFODION-2766 > URL: https://issues.apache.org/jira/browse/TRAFODION-2766 > Project: Apache Trafodion > Issue Type: Bug > Components: sql-exe > Affects Versions: 2.3-incubating > Reporter: Sandhya Sundaresan > Assignee: Sandhya Sundaresan > Fix For: 2.3-incubating > > > An inserted row into a hive table would go missing in various circumstances. > As shown in the following occurrence, the first 2 inserts were executed fine. > Select afterwards also showed that the rows were there: > 1st insert: (C_CHAR10, P_CHAR10) = ('STR_1_01', 'STR_1_01') > 2nd insert: (C_CHAR10, P_CHAR10) = (NULL, 'STR_1_02') > Then the 3rd insert inserted a new row, which was inserted fine too: > 3rd insert: (C_CHAR10, P_CHAR10) = ('STR_1_03', NULL) > But the select statement afterwards only got 2 rows back. The row from the > 2nd insert (C_CHAR10, P_CHAR10) = (NULL, 'STR_1_02') has gone missing after > the 3rd insert took place. This doesn't appear to be a select problem, since > a select from the hive shell in the end doesn't show the row from the 2nd > insert either. > Simpler testcase : > cqd hive_max_string_length_in_bytes '10'; > process hive statement 'drop table t031hive1'; > process hive statement 'create table t031hive1 (a int, b timestamp, c > string)'; > insert into hive.hive.t031hive1 values ('1', '2017-01-01 10:10:10', 2); > --select * from hive.hive.t031hive1; > insert into hive.hive.t031hive1 values ('2', '2017-01-02 11:11:11', 3), > ('3', '2017-01-03 11:11:11', 4), > (4, timestamp '2017-01-04 11:11:11', '5'); > > --select * from hive.hive.t031hive1; > insert into hive.hive.t031hive1 values (2, '2017-01-02 11:11:11', 'a'), > (111111111111, '2017-01-03 11:11:11', 'b'); > select * from hive.hive.t031hive1; > >>process hive statement 'create table t031hive1 (a int, b timestamp, c > >>string)'; > --- SQL operation complete. > >>insert into hive.hive.t031hive1 values ('1', '2017-01-01 10:10:10', 2); > --- 1 row(s) inserted. > >>insert into hive.hive.t031hive1 values ('2', '2017-01-02 11:11:11', 3), > +> ('3', '2017-01-03 11:11:11', 4), > +> (4, timestamp '2017-01-04 11:11:11', '5'); > --- 3 row(s) inserted. > >> > >>-- this insert should return overflow error > >>insert into hive.hive.t031hive1 values (2, '2017-01-02 11:11:11', 'a'), > +> (111111111111, '2017-01-03 11:11:11', 'b'); > *** ERROR[8411] A numeric overflow occurred during an arithmetic computation > or data conversion. Conversion of Source Type:LARGEINT(REC_BIN64_SIGNED) > Source Value:111111111111 to Target Type:INTEGER SIGNED(REC_BIN32_SIGNED). > --- 0 row(s) inserted. > >> > >>select * from hive.hive.t031hive1; > A B C > ----------- -------------------------- ---------- > 1 2017-01-01 10:10:10.000000 2 > --- 1 row(s) selected. > >> -- This message was sent by Atlassian JIRA (v6.4.14#64029)