Skip to content

Commit 47cd2f0

Browse files
committed
fix core&&format
1 parent f1a46e9 commit 47cd2f0

File tree

7 files changed

+282
-277
lines changed

7 files changed

+282
-277
lines changed

be/src/vec/exec/format/table/deletion_vector_reader.cpp

Lines changed: 62 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -15,70 +15,77 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
#include "util/block_compression.h"
18+
#include "deletion_vector_reader.h"
19+
1920
#include "rapidjson/document.h"
2021
#include "rapidjson/stringbuffer.h"
21-
22-
#include "deletion_vector_reader.h"
22+
#include "util/block_compression.h"
2323

2424
namespace doris {
25-
namespace vectorized {
26-
Status DeletionVectorReader::open() {
27-
if (_is_opened) [[unlikely]] {
28-
return Status::OK();
29-
}
25+
namespace vectorized {
26+
Status DeletionVectorReader::open() {
27+
if (_is_opened) [[unlikely]] {
28+
return Status::OK();
29+
}
30+
31+
_init_system_properties();
32+
_init_file_description();
33+
RETURN_IF_ERROR(_create_file_reader());
3034

31-
_init_system_properties();
32-
_init_file_description();
33-
RETURN_IF_ERROR(_create_file_reader());
35+
_file_size = _file_reader->size();
36+
_is_opened = true;
37+
return Status::OK();
38+
}
3439

35-
_file_size = _file_reader->size();
36-
_is_opened = true;
37-
return Status::OK();
38-
}
40+
Status DeletionVectorReader::read_at(size_t offset, Slice result) {
41+
if (UNLIKELY(_io_ctx && _io_ctx->should_stop)) {
42+
return Status::EndOfFile("stop read.");
43+
}
44+
size_t bytes_read = 0;
45+
RETURN_IF_ERROR(_file_reader->read_at(offset, result, &bytes_read, _io_ctx));
46+
if (bytes_read != result.size) [[unlikely]] {
47+
return Status::IOError("Failed to read fully at offset {}, expected {}, got {}", offset,
48+
result.size, bytes_read);
49+
}
50+
return Status::OK();
51+
}
3952

40-
Status DeletionVectorReader::read_at(size_t offset, Slice result) {
41-
size_t bytes_read = 0;
42-
RETURN_IF_ERROR(_file_reader->read_at(offset, result, &bytes_read));
43-
if (bytes_read != result.size) [[unlikely]] {
44-
return Status::IOError("Failed to read fully at offset {}, expected {}, got {}",
45-
offset, result.size, bytes_read);
46-
}
47-
return Status::OK();
48-
}
53+
Status DeletionVectorReader::_create_file_reader() {
54+
if (UNLIKELY(_io_ctx && _io_ctx->should_stop)) {
55+
return Status::EndOfFile("stop read.");
56+
}
4957

50-
Status DeletionVectorReader::_create_file_reader() {
51-
_file_description.mtime = _range.__isset.modification_time ? _range.modification_time : 0;
52-
io::FileReaderOptions reader_options =
53-
FileFactory::get_reader_options(_state, _file_description);
54-
_file_reader = DORIS_TRY(io::DelegateReader::create_file_reader(
55-
_profile, _system_properties, _file_description, reader_options,
56-
io::DelegateReader::AccessMode::RANDOM, _io_ctx));
57-
return Status::OK();
58-
}
58+
_file_description.mtime = _range.__isset.modification_time ? _range.modification_time : 0;
59+
io::FileReaderOptions reader_options =
60+
FileFactory::get_reader_options(_state, _file_description);
61+
_file_reader = DORIS_TRY(io::DelegateReader::create_file_reader(
62+
_profile, _system_properties, _file_description, reader_options,
63+
io::DelegateReader::AccessMode::RANDOM, _io_ctx));
64+
return Status::OK();
65+
}
5966

60-
void DeletionVectorReader::_init_file_description() {
61-
_file_description.path = _range.path;
62-
_file_description.file_size = _range.__isset.file_size ? _range.file_size : -1;
63-
if (_range.__isset.fs_name) {
64-
_file_description.fs_name = _range.fs_name;
65-
}
66-
}
67+
void DeletionVectorReader::_init_file_description() {
68+
_file_description.path = _range.path;
69+
_file_description.file_size = _range.__isset.file_size ? _range.file_size : -1;
70+
if (_range.__isset.fs_name) {
71+
_file_description.fs_name = _range.fs_name;
72+
}
73+
}
6774

68-
void DeletionVectorReader::_init_system_properties() {
69-
if (_range.__isset.file_type) {
70-
// for compatibility
71-
_system_properties.system_type = _range.file_type;
72-
} else {
73-
_system_properties.system_type = _params.file_type;
74-
}
75-
_system_properties.properties = _params.properties;
76-
_system_properties.hdfs_params = _params.hdfs_params;
77-
if (_params.__isset.broker_addresses) {
78-
_system_properties.broker_addresses.assign(_params.broker_addresses.begin(),
79-
_params.broker_addresses.end());
80-
}
81-
}
75+
void DeletionVectorReader::_init_system_properties() {
76+
if (_range.__isset.file_type) {
77+
// for compatibility
78+
_system_properties.system_type = _range.file_type;
79+
} else {
80+
_system_properties.system_type = _params.file_type;
81+
}
82+
_system_properties.properties = _params.properties;
83+
_system_properties.hdfs_params = _params.hdfs_params;
84+
if (_params.__isset.broker_addresses) {
85+
_system_properties.broker_addresses.assign(_params.broker_addresses.begin(),
86+
_params.broker_addresses.end());
87+
}
88+
}
8289

83-
} // namespace iceberg
90+
} // namespace vectorized
8491
} // namespace doris

be/src/vec/exec/format/table/deletion_vector_reader.h

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,57 +16,54 @@
1616
// under the License.
1717

1818
#include <cstdint>
19+
#include <memory>
1920
#include <string>
2021
#include <vector>
21-
#include <memory>
2222

2323
#include "common/status.h"
24+
#include "io/file_factory.h"
25+
#include "io/fs/buffered_reader.h"
2426
#include "io/fs/file_reader.h"
25-
#include "util/slice.h"
2627
#include "roaring/roaring64map.hh"
27-
#include "io/fs/file_reader.h"
2828
#include "util/profile_collector.h"
29+
#include "util/slice.h"
2930
#include "vec/exec/format/generic_reader.h"
30-
#include "common/status.h"
31-
#include "io/file_factory.h"
32-
#include "io/fs/buffered_reader.h"
3331

3432
namespace io {
35-
struct IOContext;
33+
struct IOContext;
3634
} // namespace io
3735

38-
3936
namespace doris {
40-
namespace vectorized {
41-
class DeletionVectorReader {
42-
ENABLE_FACTORY_CREATOR(DeletionVectorReader);
43-
public:
44-
DeletionVectorReader(RuntimeState* state, RuntimeProfile* profile , const TFileScanRangeParams& params,
45-
const TFileRangeDesc& range,io::IOContext* io_ctx)
46-
: _state(state), _profile(profile),_range(range),_params(params) ,_io_ctx(io_ctx) {
47-
}
48-
~DeletionVectorReader() = default;
49-
Status open();
50-
Status read_at(size_t offset, Slice result);
51-
private:
37+
namespace vectorized {
38+
class DeletionVectorReader {
39+
ENABLE_FACTORY_CREATOR(DeletionVectorReader);
5240

53-
void _init_system_properties();
54-
void _init_file_description();
55-
Status _create_file_reader();
41+
public:
42+
DeletionVectorReader(RuntimeState* state, RuntimeProfile* profile,
43+
const TFileScanRangeParams& params, const TFileRangeDesc& range,
44+
io::IOContext* io_ctx)
45+
: _state(state), _profile(profile), _range(range), _params(params), _io_ctx(io_ctx) {}
46+
~DeletionVectorReader() = default;
47+
Status open();
48+
Status read_at(size_t offset, Slice result);
5649

57-
private:
58-
RuntimeState* _state = nullptr;
59-
RuntimeProfile* _profile = nullptr;
60-
const TFileRangeDesc& _range;
61-
const TFileScanRangeParams& _params;
62-
io::IOContext* _io_ctx = nullptr;
50+
private:
51+
void _init_system_properties();
52+
void _init_file_description();
53+
Status _create_file_reader();
6354

64-
io::FileSystemProperties _system_properties;
65-
io::FileDescription _file_description;
66-
io::FileReaderSPtr _file_reader;
67-
int64_t _file_size = 0;
68-
bool _is_opened = false;
69-
};
70-
} // namespace vectorized
71-
} // namespace doris
55+
private:
56+
RuntimeState* _state = nullptr;
57+
RuntimeProfile* _profile = nullptr;
58+
const TFileRangeDesc& _range;
59+
const TFileScanRangeParams& _params;
60+
io::IOContext* _io_ctx = nullptr;
7261

62+
io::FileSystemProperties _system_properties;
63+
io::FileDescription _file_description;
64+
io::FileReaderSPtr _file_reader;
65+
int64_t _file_size = 0;
66+
bool _is_opened = false;
67+
};
68+
} // namespace vectorized
69+
} // namespace doris

0 commit comments

Comments
 (0)