Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0d0ddfb
[OAP][5962] Support struct schema evolution matching by name
rui-mo Mar 18, 2025
ba66d01
[OAP][15173][15343]Allow reading integers into smaller-range types
rui-mo Sep 18, 2025
c7b518a
[OAP][11771]fix: Fix smj result mismatch issue in semi, anit and full…
zhouyuan Sep 4, 2025
563ea4a
[OAP][14722] Fix memory leak caused by asynchronous prefetch
rui-mo Nov 21, 2025
4ce8ebc
Revert "feat: Support iceberg partition transform (#15509)"
PingLiuPing Dec 10, 2025
038c328
Revert "refactor: Add Iceberg connector (#15581)"
PingLiuPing Nov 27, 2025
1ac8d91
Revert "feat: Add Iceberg partition name generator (#15461)"
PingLiuPing Nov 17, 2025
eaaa35f
Revert "feat: Add support for evaluating Iceberg partition transforms…
PingLiuPing Nov 14, 2025
d290e8a
Revert "feat: Add Iceberg partition name generation utility (#15443)"
PingLiuPing Nov 11, 2025
b469d01
Revert "feat: Add iceberg partition specification (#15423)"
PingLiuPing Nov 7, 2025
dd0f3dd
refactor: Move toValues from InPredicate.cpp to Filter.h
yingsu00 Mar 15, 2025
f9982ab
feat(connector): Support reading Iceberg split with equality deletes
yingsu00 May 1, 2024
b63dffb
Support insert data into iceberg table.
PingLiuPing Oct 3, 2025
593093a
Add iceberg partition transforms.
PingLiuPing Jul 1, 2025
acc08eb
Add NaN statistics to parquet writer.
PingLiuPing Sep 4, 2025
0a927e3
Collect Iceberg data file statistics in dwio.
PingLiuPing Jul 28, 2025
ad7701f
Integrate Iceberg data file statistics and adding unit test.
PingLiuPing Sep 1, 2025
8301a2a
Support write field_id to parquet metadata SchemaElement.
PingLiuPing Sep 5, 2025
8390215
Implement iceberg sort order
PingLiuPing May 30, 2025
60a6bb3
Add clustered Iceberg writer mode.
PingLiuPing Sep 1, 2025
1b42240
Fix parquet writer ut
PingLiuPing Jan 5, 2026
d93e450
Add IcebergConnector
PingLiuPing Jan 6, 2026
6f936a2
adding daily tests
zhouyuan Jul 3, 2025
9f12b2e
remote gluten daily build
FelixYBW Nov 25, 2025
3c3e517
fix: remove website folder to bypass the security issues
zhouyuan Jul 9, 2025
1b5b1de
Disable flaky test: partialAggregateWithTableScan
zhouyuan Nov 21, 2025
a5f7e46
1
Zouxxyy Jan 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/linux-build-base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ jobs:
env:
VELOX_DEPENDENCY_SOURCE: BUNDLED
ICU_SOURCE: SYSTEM
MAKEFLAGS: NUM_THREADS=8 MAX_HIGH_MEM_JOBS=4 MAX_LINK_JOBS=2
MAKEFLAGS: NUM_THREADS=8 MAX_HIGH_MEM_JOBS=4 MAX_LINK_JOBS=3
EXTRA_CMAKE_FLAGS: >-
-DCMAKE_LINK_LIBRARIES_STRATEGY=REORDER_FREELY
-DVELOX_ENABLE_PARQUET=ON
Expand Down
15 changes: 0 additions & 15 deletions .github/workflows/linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,6 @@
name: Linux Build using GCC

on:
push:
branches:
- main
paths:
- velox/**
- '!velox/docs/**'
- CMakeLists.txt
- CMake/**
- scripts/setup-ubuntu.sh
- scripts/setup-common.sh
- scripts/setup-versions.sh
- scripts/setup-helper-functions.sh
- .github/workflows/linux-build.yml
- .github/workflows/linux-build-base.yml

pull_request:
paths:
- velox/**
Expand Down
7 changes: 6 additions & 1 deletion scripts/checks/license-header.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,12 @@ def wrapper_hash(header, args):
)

file_pattern = regex.compile(
"|".join(["^" + fnmatch.translate(type) + "$" for type in file_types.keys()])
"|".join(
[
"^" + fnmatch.translate(type).replace(r"\z", r"\Z") + "$"
for type in file_types.keys()
]
)
)


Expand Down
2 changes: 1 addition & 1 deletion velox/common/caching/AsyncDataCache.h
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@ class CoalescedLoad {
return state_;
}

void cancel() {
virtual void cancel() {
setEndState(State::kCancelled);
}

Expand Down
8 changes: 4 additions & 4 deletions velox/connectors/hive/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
velox_add_library(velox_hive_config OBJECT HiveConfig.cpp)
velox_link_libraries(velox_hive_config velox_core velox_exception)

add_subdirectory(iceberg)

velox_add_library(
velox_hive_connector
OBJECT
Expand All @@ -28,15 +26,17 @@ velox_add_library(
HiveConnectorSplit.cpp
HiveDataSink.cpp
HiveDataSource.cpp
HivePartitionName.cpp
HivePartitionUtil.cpp
PartitionIdGenerator.cpp
SplitReader.cpp
TableHandle.cpp
)

add_subdirectory(iceberg)

velox_link_libraries(
velox_hive_connector
PUBLIC velox_hive_iceberg_splitreader
PRIVATE velox_hive_iceberg_splitreader
PRIVATE velox_common_io velox_connector velox_dwio_catalog_fbhive velox_hive_partition_function
)

Expand Down
5 changes: 5 additions & 0 deletions velox/connectors/hive/HiveConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -273,4 +273,9 @@ std::string HiveConfig::schema(const config::ConfigBase* session) const {
kSchema, config_->get<std::string>(kSchema, ""));
}

bool HiveConfig::fanoutEnabled(const config::ConfigBase* session) const {
return session->get<bool>(
kFanoutEnabledSession, config_->get<bool>(kFanoutEnabled, true));
}

} // namespace facebook::velox::connector::hive
9 changes: 9 additions & 0 deletions velox/connectors/hive/HiveConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,12 @@ class HiveConfig {
static constexpr const char* kSource = "source";
static constexpr const char* kSchema = "schema";

/// Controls the writer mode, whether the fanout mode writer is enabled,
/// default value is true, setting to false means clustered mode.
/// Currently applies only to the Iceberg writer.
static constexpr const char* kFanoutEnabled = "fanout-enabled";
static constexpr const char* kFanoutEnabledSession = "fanout_enabled";

InsertExistingPartitionsBehavior insertExistingPartitionsBehavior(
const config::ConfigBase* session) const;

Expand Down Expand Up @@ -305,6 +311,9 @@ class HiveConfig {
/// Schema of the query. Used for storage logging.
std::string schema(const config::ConfigBase* session) const;

/// Return if fanout writer mode is enabled.
bool fanoutEnabled(const config::ConfigBase* session) const;

HiveConfig(std::shared_ptr<const config::ConfigBase> config) {
VELOX_CHECK_NOT_NULL(
config, "Config is null for HiveConfig initialization");
Expand Down
9 changes: 8 additions & 1 deletion velox/connectors/hive/HiveConnectorUtil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
#include "velox/expression/ExprConstants.h"
#include "velox/expression/ExprToSubfieldFilter.h"

#include <boost/lexical_cast.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>

namespace facebook::velox::connector::hive {
namespace {

Expand Down Expand Up @@ -807,7 +811,6 @@ std::unique_ptr<dwio::common::BufferedInput> createBufferedInput(
}

namespace {

core::CallTypedExprPtr replaceInputs(
const core::CallTypedExpr* call,
std::vector<core::TypedExprPtr>&& inputs) {
Expand Down Expand Up @@ -989,6 +992,10 @@ core::TypedExprPtr extractFiltersFromRemainingFilter(
}
} // namespace

std::string makeUuid() {
return boost::lexical_cast<std::string>(boost::uuids::random_generator()());
}

core::TypedExprPtr extractFiltersFromRemainingFilter(
const core::TypedExprPtr& expr,
core::ExpressionEvaluator* evaluator,
Expand Down
2 changes: 2 additions & 0 deletions velox/connectors/hive/HiveConnectorUtil.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,4 +152,6 @@ core::TypedExprPtr extractFiltersFromRemainingFilter(
common::SubfieldFilters& filters,
double& sampleRate);

std::string makeUuid();

} // namespace facebook::velox::connector::hive
Loading