Skip to content

Commit 5ebe618

Browse files
committed
try to fix
1 parent 7b632b9 commit 5ebe618

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/Storages/ObjectStorage/DataLakes/Iceberg/AvroForIcebergDeserializer.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ TypeIndex AvroForIcebergDeserializer::getTypeForPath(const std::string & path) c
8383

8484
Field AvroForIcebergDeserializer::getValueFromRowByName(size_t row_num, const std::string & path, std::optional<TypeIndex> expected_type) const
8585
{
86+
std::lock_guard<std::mutex> lock(access_mutex);
87+
8688
auto current_column = parsed_column_data_type->getSubcolumn(path, parsed_column);
8789
auto current_data_type = parsed_column_data_type->getSubcolumnType(path);
8890

@@ -128,6 +130,8 @@ String removeAllSlashes(const String & input)
128130

129131
String AvroForIcebergDeserializer::getContent(size_t row_number) const
130132
{
133+
std::lock_guard<std::mutex> lock(access_mutex);
134+
131135
WriteBufferFromOwnString buf;
132136
FormatSettings settings;
133137
settings.write_statistics = false;

src/Storages/ObjectStorage/DataLakes/Iceberg/AvroForIcebergDeserializer.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <Core/Field.h>
1111

1212
#include <memory>
13+
#include <mutex>
1314

1415
namespace DB::Iceberg
1516
{
@@ -33,6 +34,8 @@ class AvroForIcebergDeserializer
3334
std::shared_ptr<const DB::DataTypeTuple> parsed_column_data_type;
3435

3536
std::map<std::string, std::vector<uint8_t>> metadata;
37+
38+
mutable std::mutex access_mutex;
3639
public:
3740

3841
AvroForIcebergDeserializer(

0 commit comments

Comments
 (0)