This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new b1d9b54805 BetaRowsetReader::next_block does not return 0 rows before 
eof (#10367)
b1d9b54805 is described below

commit b1d9b548057696652fdd1e6a422148b349ae6375
Author: Yongqiang YANG <98214048+dataroar...@users.noreply.github.com>
AuthorDate: Fri Jun 24 07:22:45 2022 +0800

    BetaRowsetReader::next_block does not return 0 rows before eof (#10367)
---
 be/src/olap/rowset/beta_rowset_reader.cpp | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/be/src/olap/rowset/beta_rowset_reader.cpp 
b/be/src/olap/rowset/beta_rowset_reader.cpp
index ba5795c3c0..b5ff00e077 100644
--- a/be/src/olap/rowset/beta_rowset_reader.cpp
+++ b/be/src/olap/rowset/beta_rowset_reader.cpp
@@ -184,15 +184,17 @@ Status BetaRowsetReader::next_block(RowBlock** block) {
 Status BetaRowsetReader::next_block(vectorized::Block* block) {
     SCOPED_RAW_TIMER(&_stats->block_fetch_ns);
     if (config::enable_storage_vectorization && _context->is_vec) {
-        auto s = _iterator->next_batch(block);
-        if (!s.ok()) {
-            if (s.is_end_of_file()) {
-                return Status::OLAPInternalError(OLAP_ERR_DATA_EOF);
-            } else {
-                LOG(WARNING) << "failed to read next block: " << s.to_string();
-                return Status::OLAPInternalError(OLAP_ERR_ROWSET_READ_FAILED);
+        do {
+            auto s = _iterator->next_batch(block);
+            if (!s.ok()) {
+                if (s.is_end_of_file()) {
+                    return Status::OLAPInternalError(OLAP_ERR_DATA_EOF);
+                } else {
+                    LOG(WARNING) << "failed to read next block: " << 
s.to_string();
+                    return 
Status::OLAPInternalError(OLAP_ERR_ROWSET_READ_FAILED);
+                }
             }
-        }
+        } while (block->rows() == 0);
     } else {
         bool is_first = true;
 


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

Reply via email to