diff --git a/src/paimon/indexer/lumina/lumina_global_index_test.cpp b/src/paimon/indexer/lumina/lumina_global_index_test.cpp index 0d5605f49..b8cb20dfe 100644 --- a/src/paimon/indexer/lumina/lumina_global_index_test.cpp +++ b/src/paimon/indexer/lumina/lumina_global_index_test.cpp @@ -281,7 +281,27 @@ class LuminaGlobalIndexTest : public ::testing::Test { std::vector query_ = {1.0f, 1.0f, 1.0f, 1.1f}; }; -TEST_F(LuminaGlobalIndexTest, TestSimple) { +class LuminaGlobalIndexBackendTest : public LuminaGlobalIndexTest, + public ::testing::WithParamInterface { + public: + void SetUp() override { + LuminaGlobalIndexTest::SetUp(); + options_["lumina.index.type"] = GetParam(); + if (GetParam() == "flatnsw") { + options_["lumina.flatnsw.build.thread_count"] = "1"; + // Use a large search width for the small dataset to reduce approximate-search misses. + options_["lumina.flatnsw.search.ef_search"] = "64"; + } + } +}; + +INSTANTIATE_TEST_SUITE_P(Backends, LuminaGlobalIndexBackendTest, + ::testing::Values(std::string("bruteforce"), std::string("flatnsw")), + [](const ::testing::TestParamInfo& info) { + return info.param; + }); + +TEST_P(LuminaGlobalIndexBackendTest, TestSimple) { auto test_root_dir = paimon::test::UniqueTestDirectory::Create(); ASSERT_TRUE(test_root_dir); std::string test_root = test_root_dir->Str(); @@ -315,7 +335,7 @@ TEST_F(LuminaGlobalIndexTest, TestSimple) { } } -TEST_F(LuminaGlobalIndexTest, TestWithFilter) { +TEST_P(LuminaGlobalIndexBackendTest, TestWithFilter) { auto test_root_dir = paimon::test::UniqueTestDirectory::Create(); ASSERT_TRUE(test_root_dir); std::string test_root = test_root_dir->Str(); @@ -736,7 +756,7 @@ TEST_F(LuminaGlobalIndexTest, TestWriteAndReadWithTagFilter) { } } -TEST_F(LuminaGlobalIndexTest, TestWriteAndReadWithMixedTagPredicates) { +TEST_P(LuminaGlobalIndexBackendTest, TestWriteAndReadWithMixedTagPredicates) { auto test_root_dir = paimon::test::UniqueTestDirectory::Create(); ASSERT_TRUE(test_root_dir); std::string test_root = test_root_dir->Str(); @@ -1360,7 +1380,7 @@ TEST_F(LuminaGlobalIndexTest, TestHighCardinalityAndMultiThreadSearch) { } } -TEST_F(LuminaGlobalIndexTest, TestWriteWithNullRows) { +TEST_P(LuminaGlobalIndexBackendTest, TestWriteWithNullRows) { auto test_root_dir = paimon::test::UniqueTestDirectory::Create(); ASSERT_TRUE(test_root_dir); std::string test_root = test_root_dir->Str(); diff --git a/third_party/versions.txt b/third_party/versions.txt index 0a33e25ff..08081e6a1 100644 --- a/third_party/versions.txt +++ b/third_party/versions.txt @@ -139,8 +139,8 @@ PAIMON_DATASKETCHES_BUILD_VERSION=5.2.0 PAIMON_DATASKETCHES_BUILD_SHA256_CHECKSUM=63e6bda660ee9730cc39746de87fd983118c28149e32ff9389fac98b27010a53 PAIMON_DATASKETCHES_PKG_NAME=datasketches-cpp-${PAIMON_DATASKETCHES_BUILD_VERSION}.tar.gz -PAIMON_LUMINA_BUILD_VERSION=0.3.1 -PAIMON_LUMINA_BUILD_SHA256_CHECKSUM=2aed1ae238c866c12ee01fad17d52651a9029cba1b972b23cd640959310e2149 +PAIMON_LUMINA_BUILD_VERSION=0.4.0 +PAIMON_LUMINA_BUILD_SHA256_CHECKSUM=5e23348383d3aace6c9c8b3590e560273fa77d671f338ae6a6d98b8c6fa61dcd PAIMON_LUMINA_PKG_NAME=lumina_release-${PAIMON_LUMINA_BUILD_VERSION}.tar.gz PAIMON_JINDOSDK_C_BUILD_VERSION=6.10.2