Yukang-Lian commented on issue #34551: URL: https://github.com/apache/doris/issues/34551#issuecomment-2114299826
**Prerequisite Knowledge:** During the process of updating partial columns, existing data may be read. If the key of the newly imported data for partial columns already exists, BE (Backend) will read the rows with the same key and update the data of the partial columns. If the key does not exist, BE will write the newly imported data of the partial columns and fill in the default values for other columns. Since the storage engine used by Doris is similar to the LSM-tree structure, the delete statement does not actually delete the data but marks it for deletion. The delete statement in Doris writes the delete information into the delete predicate, marking the data for deletion with a predicate. **Reason:** In step 3, the data with key=1 was deleted, so key=1 was written into the delete predicate. In step 5, when partially updating the columns with key=1, the old data was read without considering the effect of the delete predicate, resulting in the ID2 column showing the previously deleted value. **Solution:** When reading and completing data for partial column updates, consider the delete predicate to solve the issue. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org