morningman commented on a change in pull request #3628:
URL: https://github.com/apache/incubator-doris/pull/3628#discussion_r426621699
##########
File path: be/src/olap/rowset/alpha_rowset.cpp
##########
@@ -300,16 +300,23 @@ OLAPStatus AlphaRowset::init() {
if (segment_group_meta.zone_maps_size() != 0) {
size_t zone_maps_size = segment_group_meta.zone_maps_size();
- size_t num_key_columns = _schema->keys_type() ==
KeysType::DUP_KEYS ? _schema->num_columns() : _schema->num_key_columns();
- if (num_key_columns != zone_maps_size) {
+ size_t expect_zone_maps_num = _schema->keys_type() ==
KeysType::DUP_KEYS ? _schema->num_columns() : _schema->num_key_columns();
Review comment:
Better add comment to explain the logic here.
##########
File path: be/src/olap/rowset/alpha_rowset.cpp
##########
@@ -300,16 +300,23 @@ OLAPStatus AlphaRowset::init() {
if (segment_group_meta.zone_maps_size() != 0) {
size_t zone_maps_size = segment_group_meta.zone_maps_size();
- size_t num_key_columns = _schema->keys_type() ==
KeysType::DUP_KEYS ? _schema->num_columns() : _schema->num_key_columns();
- if (num_key_columns != zone_maps_size) {
+ size_t expect_zone_maps_num = _schema->keys_type() ==
KeysType::DUP_KEYS ? _schema->num_columns() : _schema->num_key_columns();
+ if ((_schema->keys_type() != KeysType::DUP_KEYS &&
expect_zone_maps_num != zone_maps_size)
+ || (_schema->keys_type() == KeysType::DUP_KEYS &&
expect_zone_maps_num < zone_maps_size)) {
LOG(ERROR) << "column pruning size is error."
+ << "KeysType=" << KeysType_Name(_schema->keys_type())
<< ", "
<< "zone_maps_size=" << zone_maps_size << ", "
- << "num_key_columns=" << _schema->num_key_columns();
+ << "num_key_columns=" << _schema->num_key_columns() <<
", "
+ << "num_columns=" << _schema->num_columns();
return OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR;
}
- std::vector<std::pair<std::string, std::string>>
zone_map_strings(num_key_columns);
- std::vector<bool> null_vec(num_key_columns);
- for (size_t j = 0; j < num_key_columns; ++j) {
+ if (expect_zone_maps_num > zone_maps_size) {
+ LOG(WARNING) << "expect zone map size is " <<
expect_zone_maps_num << ", actrual num is " << zone_maps_size
Review comment:
```suggestion
LOG(WARNING) << "expect zone map size is " <<
expect_zone_maps_num << ", actual num is " << zone_maps_size
```
##########
File path: be/src/olap/rowset/alpha_rowset.cpp
##########
@@ -300,16 +300,23 @@ OLAPStatus AlphaRowset::init() {
if (segment_group_meta.zone_maps_size() != 0) {
size_t zone_maps_size = segment_group_meta.zone_maps_size();
- size_t num_key_columns = _schema->keys_type() ==
KeysType::DUP_KEYS ? _schema->num_columns() : _schema->num_key_columns();
- if (num_key_columns != zone_maps_size) {
+ size_t expect_zone_maps_num = _schema->keys_type() ==
KeysType::DUP_KEYS ? _schema->num_columns() : _schema->num_key_columns();
+ if ((_schema->keys_type() != KeysType::DUP_KEYS &&
expect_zone_maps_num != zone_maps_size)
+ || (_schema->keys_type() == KeysType::DUP_KEYS &&
expect_zone_maps_num < zone_maps_size)) {
LOG(ERROR) << "column pruning size is error."
+ << "KeysType=" << KeysType_Name(_schema->keys_type())
<< ", "
<< "zone_maps_size=" << zone_maps_size << ", "
- << "num_key_columns=" << _schema->num_key_columns();
+ << "num_key_columns=" << _schema->num_key_columns() <<
", "
+ << "num_columns=" << _schema->num_columns();
return OLAP_ERR_TABLE_INDEX_VALIDATE_ERROR;
}
- std::vector<std::pair<std::string, std::string>>
zone_map_strings(num_key_columns);
- std::vector<bool> null_vec(num_key_columns);
- for (size_t j = 0; j < num_key_columns; ++j) {
+ if (expect_zone_maps_num > zone_maps_size) {
+ LOG(WARNING) << "expect zone map size is " <<
expect_zone_maps_num << ", actrual num is " << zone_maps_size
Review comment:
Better to add tablet id in log, or we can not know what tablet is wrong
----------------------------------------------------------------
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:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]