imay commented on a change in pull request #3044: Write delete predicate into 
RowsetMeta upon upgrade from Doris-0.10 to Doris-0.11
URL: https://github.com/apache/incubator-doris/pull/3044#discussion_r388731769
 
 

 ##########
 File path: be/src/olap/olap_snapshot_converter.cpp
 ##########
 @@ -131,11 +136,23 @@ OLAPStatus 
OlapSnapshotConverter::to_tablet_meta_pb(const OLAPHeaderMessage& ola
     }
 
     std::unordered_map<Version, RowsetMetaPB*, HashOfVersion> _rs_version_map;
+    const DelPredicateArray& delete_conditions = 
olap_header.delete_data_conditions();
     for (auto& delta : olap_header.delta()) {
         RowsetId next_id = StorageEngine::instance()->next_rowset_id();
         RowsetMetaPB* rowset_meta = tablet_meta_pb->add_rs_metas();
-        convert_to_rowset_meta(delta, next_id, olap_header.tablet_id(), 
olap_header.schema_hash(), rowset_meta);
-        Version rowset_version = { delta.start_version(), delta.end_version() 
};
+        PDelta temp_delta = delta;
+        // PDelta is not corresponding with RowsetMeta in DeletePredicate
+        // Add delete predicate to PDelta from OLAPHeaderMessage.
+        // Only after this, convert from PDelta to RowsetMeta is valid.
+        for (auto& del_pred : delete_conditions) {
+            if (temp_delta.start_version() == temp_delta.end_version()
+                && temp_delta.start_version() == del_pred.version()) {
+                    DeletePredicatePB* delete_condition = 
temp_delta.mutable_delete_condition();
+                    *delete_condition = del_pred;
+                }
 
 Review comment:
   ```suggestion
           if (temp_delta.start_version() == temp_delta.end_version()) {
               for (auto& del_pred : delete_conditions) {
                   if (temp_delta.start_version() == del_pred.version()) {
                       DeletePredicatePB* delete_condition = 
temp_delta.mutable_delete_condition();
                       *delete_condition = del_pred;
                   }
   ```

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to