Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] Optimize the Chunk destructor #53898

Merged
merged 1 commit into from
Dec 13, 2024

Conversation

stdpain
Copy link
Contributor

@stdpain stdpain commented Dec 13, 2024

Why I'm doing:

When phmap performs destructuring, it needs to iterate over the key/value to execute the destructor function of the slot type. But in fact, the Map storage in the Chunk is of type POD, so we don't need to traverse the hash table.

       │                                                                                                                                             ▒
       │     ~__shared_count() noexcept                                                                                                              ▒
       │     {                                                                                                                                       ▒
       │     if (_M_pi != nullptr)                                                                                                                   ▒
  0.13 │       mov     0xa0(%rdi),%rdi                                                                                                               ▒
       │       test    %rdi,%rdi                                                                                                                     ▒
  0.28 │     ↓ je      23                                                                                                                            ▒
       │     _M_pi->_M_release();                                                                                                                    ▒
       │     → call    std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release                                                                 ▒
       │     phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<int, unsigned long>, starrocks::StdHash<int>, phmap::EqualTo<int>, std::allocat▒
       │     be/build_Release/src/runtime/be/src/util/phmap/phmap.h:1839                                                                             ▒
 69.11 │ 23:   cmpq    $0x0,0x70(%rbx)                                                                                                               ▒
  0.67 │     ↓ je      3f                                                                                                                            ▒
       │     be/build_Release/src/runtime/be/src/util/phmap/phmap.h:1848                                                                             ▒
  0.34 │       mov     0x58(%rbx),%rdi                                                                                                               ▒
  0.02 │       lea     phmap::priv::EmptyGroup()::empty_group,%rax                                                                                   ▒
  0.12 │       cmp     %rax,%rdi                                                                                                                     ▒
       │     ↓ je      3f

I found that upstream already supports this optimization, so I introduced it to our repository.

commit 38ded9bba8d8962261848570583cc6f94a41ba98
Author: greg7mdp <[email protected]>
Date:   Sat Sep 2 14:47:18 2023 -0400

    Simplify `clear()` and avoid iterating when values have trivial destructor.

What I'm doing:

Fixes #issue

What type of PR is this:

  • BugFix
  • Feature
  • Enhancement
  • Refactor
  • UT
  • Doc
  • Tool

Does this PR entail a change in behavior?

  • Yes, this PR will result in a change in behavior.
  • No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

  • Interface/UI changes: syntax, type conversion, expression evaluation, display information
  • Parameter changes: default values, similar parameters but with different default values
  • Policy changes: use new policy to replace old one, functionality automatically enabled
  • Feature removed
  • Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

  • I have added test cases for my bug fix or my new feature
  • This pr needs user documentation (for new or modified features or behaviors)
    • I have added documentation for my new feature or new function
  • This is a backport pr

Bugfix cherry-pick branch check:

  • I have checked the version labels which the pr will be auto-backported to the target branch
    • 3.4
    • 3.3
    • 3.2
    • 3.1
    • 3.0

@stdpain stdpain requested a review from a team as a code owner December 13, 2024 02:59
@github-actions github-actions bot added the 3.4 label Dec 13, 2024
Seaven
Seaven previously approved these changes Dec 13, 2024
trueeyu
trueeyu previously approved these changes Dec 13, 2024
When phmap performs destructuring, it needs to iterate over the key/value to execute the destructor function of the slot type.
But in fact, the Map storage in the Chunk is of type POD, so we don't need to traverse the hash table.

```
       │                                                                                                                                             ▒
       │     ~__shared_count() noexcept                                                                                                              ▒
       │     {                                                                                                                                       ▒
       │     if (_M_pi != nullptr)                                                                                                                   ▒
  0.13 │       mov     0xa0(%rdi),%rdi                                                                                                               ▒
       │       test    %rdi,%rdi                                                                                                                     ▒
  0.28 │     ↓ je      23                                                                                                                            ▒
       │     _M_pi->_M_release();                                                                                                                    ▒
       │     → call    std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release                                                                 ▒
       │     phmap::priv::raw_hash_set<phmap::priv::FlatHashMapPolicy<int, unsigned long>, starrocks::StdHash<int>, phmap::EqualTo<int>, std::allocat▒
       │     be/build_Release/src/runtime/be/src/util/phmap/phmap.h:1839                                                                             ▒
 69.11 │ 23:   cmpq    $0x0,0x70(%rbx)                                                                                                               ▒
  0.67 │     ↓ je      3f                                                                                                                            ▒
       │     be/build_Release/src/runtime/be/src/util/phmap/phmap.h:1848                                                                             ▒
  0.34 │       mov     0x58(%rbx),%rdi                                                                                                               ▒
  0.02 │       lea     phmap::priv::EmptyGroup()::empty_group,%rax                                                                                   ▒
  0.12 │       cmp     %rax,%rdi                                                                                                                     ▒
       │     ↓ je      3f
```

I found that upstream already supports this optimization, so I introduced it to our repository.

```
commit 38ded9bba8d8962261848570583cc6f94a41ba98
Author: greg7mdp <[email protected]>
Date:   Sat Sep 2 14:47:18 2023 -0400

    Simplify `clear()` and avoid iterating when values have trivial destructor.
```

Signed-off-by: stdpain <[email protected]>
@stdpain stdpain dismissed stale reviews from trueeyu and Seaven via c165c20 December 13, 2024 04:45
Copy link

[Java-Extensions Incremental Coverage Report]

pass : 0 / 0 (0%)

Copy link

[FE Incremental Coverage Report]

pass : 0 / 0 (0%)

Copy link

[BE Incremental Coverage Report]

pass : 6 / 6 (100.00%)

file detail

path covered_line new_line coverage not_covered_line_detail
🔵 be/src/util/phmap/phmap.h 6 6 100.00% []

@Seaven Seaven merged commit 291562a into StarRocks:main Dec 13, 2024
45 checks passed
Copy link

@Mergifyio backport branch-3.4

@github-actions github-actions bot removed the 3.4 label Dec 13, 2024
Copy link
Contributor

mergify bot commented Dec 13, 2024

backport branch-3.4

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request Dec 13, 2024
Signed-off-by: stdpain <[email protected]>
(cherry picked from commit 291562a)

# Conflicts:
#	.github/CODEOWNERS
#	be/src/agent/agent_task.cpp
#	be/src/agent/finish_task.cpp
#	be/src/agent/heartbeat_server.cpp
#	be/src/column/datum.h
#	be/src/column/fixed_length_column_base.cpp
#	be/src/common/config.h
#	be/src/common/daemon.cpp
#	be/src/connector/CMakeLists.txt
#	be/src/connector/hive_connector.cpp
#	be/src/exec/CMakeLists.txt
#	be/src/exec/dictionary_cache_writer.h
#	be/src/exec/es/es_predicate.cpp
#	be/src/exec/hdfs_scanner.cpp
#	be/src/exec/hdfs_scanner.h
#	be/src/exec/hdfs_scanner_parquet.cpp
#	be/src/exec/olap_common.cpp
#	be/src/exec/olap_common.h
#	be/src/exec/olap_scan_prepare.cpp
#	be/src/exec/olap_scan_prepare.h
#	be/src/exec/pipeline/exchange/sink_buffer.cpp
#	be/src/exec/pipeline/exchange/sink_buffer.h
#	be/src/exec/pipeline/scan/connector_scan_operator.cpp
#	be/src/exec/pipeline/scan/connector_scan_operator.h
#	be/src/exec/pipeline/scan/meta_scan_operator.cpp
#	be/src/exec/pipeline/scan/meta_scan_operator.h
#	be/src/exec/pipeline/scan/olap_chunk_source.cpp
#	be/src/exec/pipeline/scan/olap_scan_operator.cpp
#	be/src/exec/pipeline/scan/olap_scan_operator.h
#	be/src/exec/pipeline/scan/scan_operator.cpp
#	be/src/exec/pipeline/scan/scan_operator.h
#	be/src/exec/pipeline/scan/schema_scan_operator.cpp
#	be/src/exec/pipeline/scan/schema_scan_operator.h
#	be/src/exec/pipeline/select_operator.cpp
#	be/src/exec/pipeline/select_operator.h
#	be/src/exec/schema_scanner.cpp
#	be/src/exec/schema_scanner/schema_helper.cpp
#	be/src/exec/schema_scanner/schema_helper.h
#	be/src/exec/select_node.cpp
#	be/src/exec/select_node.h
#	be/src/exec/tablet_info.cpp
#	be/src/exec/tablet_info.h
#	be/src/exec/tablet_sink.cpp
#	be/src/exec/tablet_sink_index_channel.cpp
#	be/src/exec/tablet_sink_index_channel.h
#	be/src/exprs/CMakeLists.txt
#	be/src/exprs/cast_expr.cpp
#	be/src/exprs/cast_expr.h
#	be/src/exprs/runtime_filter_bank.cpp
#	be/src/exprs/string_functions.cpp
#	be/src/exprs/string_functions.h
#	be/src/formats/parquet/file_reader.cpp
#	be/src/formats/parquet/file_reader.h
#	be/src/formats/parquet/statistics_helper.cpp
#	be/src/formats/parquet/statistics_helper.h
#	be/src/gen_cpp/CMakeLists.txt
#	be/src/http/action/metrics_action.h
#	be/src/runtime/CMakeLists.txt
#	be/src/runtime/data_stream_mgr.h
#	be/src/runtime/data_stream_sender.h
#	be/src/runtime/lake_tablets_channel.cpp
#	be/src/runtime/load_channel.cpp
#	be/src/runtime/load_channel.h
#	be/src/runtime/local_tablets_channel.cpp
#	be/src/runtime/local_tablets_channel.h
#	be/src/runtime/runtime_filter_worker.cpp
#	be/src/runtime/tablets_channel.h
#	be/src/runtime/types.h
#	be/src/service/internal_service.cpp
#	be/src/service/internal_service.h
#	be/src/service/service_be/arrow_flight_sql_service.cpp
#	be/src/service/service_be/arrow_flight_sql_service.h
#	be/src/service/service_be/internal_service.cpp
#	be/src/service/service_be/internal_service.h
#	be/src/service/service_be/starrocks_be.cpp
#	be/src/storage/CMakeLists.txt
#	be/src/storage/async_delta_writer.cpp
#	be/src/storage/column_expr_predicate.h
#	be/src/storage/column_in_predicate.cpp
#	be/src/storage/column_not_in_predicate.cpp
#	be/src/storage/column_null_predicate.cpp
#	be/src/storage/column_or_predicate.cpp
#	be/src/storage/column_or_predicate.h
#	be/src/storage/column_predicate_cmp.cpp
#	be/src/storage/delta_writer.cpp
#	be/src/storage/delta_writer.h
#	be/src/storage/lake/local_pk_index_manager.cpp
#	be/src/storage/lake/local_pk_index_manager.h
#	be/src/storage/memtable.cpp
#	be/src/storage/memtable.h
#	be/src/storage/memtable_flush_executor.cpp
#	be/src/storage/memtable_flush_executor.h
#	be/src/storage/olap_common.h
#	be/src/storage/olap_runtime_range_pruner.h
#	be/src/storage/olap_runtime_range_pruner.hpp
#	be/src/storage/primary_index.cpp
#	be/src/storage/range.h
#	be/src/storage/rowset/column_iterator.h
#	be/src/storage/rowset/column_reader.cpp
#	be/src/storage/rowset/column_reader.h
#	be/src/storage/rowset/ordinal_page_index.cpp
#	be/src/storage/rowset/ordinal_page_index.h
#	be/src/storage/rowset/rowset.cpp
#	be/src/storage/rowset/rowset_options.h
#	be/src/storage/rowset/scalar_column_iterator.h
#	be/src/storage/rowset/segment_iterator.cpp
#	be/src/storage/rowset/segment_options.h
#	be/src/storage/segment_flush_executor.cpp
#	be/src/storage/segment_flush_executor.h
#	be/src/storage/segment_replicate_executor.cpp
#	be/src/storage/segment_replicate_executor.h
#	be/src/storage/table_reader.cpp
#	be/src/storage/tablet.cpp
#	be/src/storage/tablet_reader.cpp
#	be/src/storage/tablet_reader_params.h
#	be/src/storage/tablet_updates.cpp
#	be/src/storage/txn_manager.cpp
#	be/src/storage/types.cpp
#	be/src/storage/zone_map_detail.h
#	be/src/testutil/exprs_test_helper.h
#	be/src/testutil/schema_test_helper.cpp
#	be/src/testutil/schema_test_helper.h
#	be/src/types/CMakeLists.txt
#	be/src/util/CMakeLists.txt
#	be/src/util/arrow/starrocks_column_to_arrow.cpp
#	be/src/util/brpc_stub_cache.h
#	be/src/util/int96.cpp
#	be/src/util/mysql_row_buffer.cpp
#	be/src/util/phmap/phmap.h
#	be/test/CMakeLists.txt
#	be/test/agent/agent_task_test.cpp
#	be/test/exec/column_value_range_test.cpp
#	be/test/exprs/array_functions_test.cpp
#	be/test/exprs/cast_expr_test.cpp
#	be/test/exprs/string_fn_test.cpp
#	be/test/formats/parquet/file_reader_test.cpp
#	be/test/runtime/decimalv3_test.cpp
#	be/test/runtime/lake_tablets_channel_test.cpp
#	be/test/runtime/large_int_value_test.cpp
#	be/test/runtime/local_tablets_channel_test.cpp
#	be/test/storage/column_predicate_test.cpp
#	be/test/storage/lake/local_pk_index_manager_test.cpp
#	be/test/storage/rowset/frame_of_reference_page_test.cpp
#	be/test/storage/tablet_updates_test.cpp
#	be/test/util/arrow/starrocks_column_to_arrow_test.cpp
#	be/test/util/mysql_row_buffer_test.cpp
#	contrib/starrocks-python-client/setup.py
#	contrib/starrocks-python-client/starrocks/__init__.py
#	docker/dockerfiles/dev-env/dev-env.Dockerfile
#	docker/dockerfiles/toolchains/toolchains-centos7.Dockerfile
#	docker/dockerfiles/toolchains/toolchains-ubuntu.Dockerfile
#	docs/docusaurus/i18n/zh/docusaurus-plugin-content-docs/current.json
#	docs/en/administration/Query_planning.md
#	docs/en/administration/management/Backup_and_restore.md
#	docs/en/administration/management/resource_management/query_queues.md
#	docs/en/release_notes/release-3.2.md
#	docs/en/release_notes/release-3.3.md
#	docs/en/sql-reference/sql-statements/Database/SHOW_DATA.md
#	docs/en/sql-reference/sql-statements/table_bucket_part_index/ALTER_TABLE.md
#	docs/en/using_starrocks/Materialized_view-single_table.md
#	docs/en/using_starrocks/async_mv/Materialized_view.md
#	docs/zh/administration/Query_planning.md
#	docs/zh/administration/management/Backup_and_restore.md
#	docs/zh/deployment/environment_configurations.md
#	docs/zh/release_notes/release-3.2.md
#	docs/zh/release_notes/release-3.3.md
#	docs/zh/sql-reference/sql-statements/table_bucket_part_index/ALTER_TABLE.md
#	docs/zh/using_starrocks/Materialized_view-single_table.md
#	docs/zh/using_starrocks/async_mv/Materialized_view.md
#	fe/fe-core/src/main/java/com/starrocks/StarRocksFE.java
#	fe/fe-core/src/main/java/com/starrocks/alter/AlterHandler.java
#	fe/fe-core/src/main/java/com/starrocks/alter/AlterJobExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/alter/AlterJobMgr.java
#	fe/fe-core/src/main/java/com/starrocks/alter/AlterJobV2Builder.java
#	fe/fe-core/src/main/java/com/starrocks/alter/AlterMVJobExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/alter/CompactionHandler.java
#	fe/fe-core/src/main/java/com/starrocks/alter/LakeTableAlterJobV2Builder.java
#	fe/fe-core/src/main/java/com/starrocks/alter/LakeTableRollupBuilder.java
#	fe/fe-core/src/main/java/com/starrocks/alter/MaterializedViewHandler.java
#	fe/fe-core/src/main/java/com/starrocks/alter/OlapTableAlterJobV2Builder.java
#	fe/fe-core/src/main/java/com/starrocks/alter/OlapTableRollupJobBuilder.java
#	fe/fe-core/src/main/java/com/starrocks/alter/OptimizeJobV2Builder.java
#	fe/fe-core/src/main/java/com/starrocks/alter/SchemaChangeHandler.java
#	fe/fe-core/src/main/java/com/starrocks/alter/SystemHandler.java
#	fe/fe-core/src/main/java/com/starrocks/analysis/OutFileClause.java
#	fe/fe-core/src/main/java/com/starrocks/analysis/ParseNode.java
#	fe/fe-core/src/main/java/com/starrocks/analysis/TableName.java
#	fe/fe-core/src/main/java/com/starrocks/backup/BackupJob.java
#	fe/fe-core/src/main/java/com/starrocks/backup/BlobStorage.java
#	fe/fe-core/src/main/java/com/starrocks/backup/RestoreJob.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/Column.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/Database.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/DictionaryMgr.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/GlobalFunctionMgr.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/IcebergView.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/ListPartitionInfo.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/MaterializedView.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/MvBaseTableUpdateInfo.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/MvRefreshArbiter.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/MvUpdateInfo.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/OlapTable.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/Table.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/TableFunctionTable.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/TableProperty.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/Type.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/View.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessArbiter.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessListPartitionArbiter.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessNonPartitionArbiter.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessRangePartitionArbiter.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/system/SystemId.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/system/SystemTable.java
#	fe/fe-core/src/main/java/com/starrocks/catalog/system/information/InfoSchemaDb.java
#	fe/fe-core/src/main/java/com/starrocks/clone/DynamicPartitionScheduler.java
#	fe/fe-core/src/main/java/com/starrocks/clone/TabletScheduler.java
#	fe/fe-core/src/main/java/com/starrocks/common/AlreadyExistsException.java
#	fe/fe-core/src/main/java/com/starrocks/common/AnalysisException.java
#	fe/fe-core/src/main/java/com/starrocks/common/AuthenticationException.java
#	fe/fe-core/src/main/java/com/starrocks/common/Config.java
#	fe/fe-core/src/main/java/com/starrocks/common/ConfigBase.java
#	fe/fe-core/src/main/java/com/starrocks/common/DdlException.java
#	fe/fe-core/src/main/java/com/starrocks/common/ErrorCode.java
#	fe/fe-core/src/main/java/com/starrocks/common/ErrorReport.java
#	fe/fe-core/src/main/java/com/starrocks/common/FeConstants.java
#	fe/fe-core/src/main/java/com/starrocks/common/LoadException.java
#	fe/fe-core/src/main/java/com/starrocks/common/MarkDownParser.java
#	fe/fe-core/src/main/java/com/starrocks/common/MetaNotFoundException.java
#	fe/fe-core/src/main/java/com/starrocks/common/NoAliveBackendException.java
#	fe/fe-core/src/main/java/com/starrocks/common/NotImplementedException.java
#	fe/fe-core/src/main/java/com/starrocks/common/TimeoutException.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/AutoInferUtil.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/BrokerUtil.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/DynamicPartitionUtil.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/KafkaUtil.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/ParseUtil.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/ProfileManager.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/PropertyAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/PulsarUtil.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/TimeUtils.java
#	fe/fe-core/src/main/java/com/starrocks/common/util/concurrent/lock/Locker.java
#	fe/fe-core/src/main/java/com/starrocks/connector/CatalogConnectorMetadata.java
#	fe/fe-core/src/main/java/com/starrocks/connector/ConnectorMetadata.java
#	fe/fe-core/src/main/java/com/starrocks/connector/ConnectorPartitionTraits.java
#	fe/fe-core/src/main/java/com/starrocks/connector/PartitionUtil.java
#	fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaConnectorScanRangeSource.java
#	fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaLakeMetadata.java
#	fe/fe-core/src/main/java/com/starrocks/connector/delta/FileScanTask.java
#	fe/fe-core/src/main/java/com/starrocks/connector/delta/ScanFileUtils.java
#	fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveMetadata.java
#	fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveWriteUtils.java
#	fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergMetadata.java
#	fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergPartitionUtils.java
#	fe/fe-core/src/main/java/com/starrocks/connector/kudu/KuduPredicateConverter.java
#	fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/CachedPartitionTraits.java
#	fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/DefaultTraits.java
#	fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/OlapPartitionTraits.java
#	fe/fe-core/src/main/java/com/starrocks/datacache/DataCacheSelectExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/fs/HdfsUtil.java
#	fe/fe-core/src/main/java/com/starrocks/fs/hdfs/HdfsFsManager.java
#	fe/fe-core/src/main/java/com/starrocks/fs/hdfs/HdfsService.java
#	fe/fe-core/src/main/java/com/starrocks/fs/hdfs/WildcardURI.java
#	fe/fe-core/src/main/java/com/starrocks/http/HttpConnectProcessor.java
#	fe/fe-core/src/main/java/com/starrocks/http/rest/CancelStreamLoad.java
#	fe/fe-core/src/main/java/com/starrocks/http/rest/CheckDecommissionAction.java
#	fe/fe-core/src/main/java/com/starrocks/http/rest/TransactionLoadAction.java
#	fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/BypassWriteTransactionHandler.java
#	fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/TransactionOperationHandler.java
#	fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/TransactionWithChannelHandler.java
#	fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/TransactionWithoutChannelHandler.java
#	fe/fe-core/src/main/java/com/starrocks/lake/StarMgrMetaSyncer.java
#	fe/fe-core/src/main/java/com/starrocks/lake/StarOSAgent.java
#	fe/fe-core/src/main/java/com/starrocks/lake/Utils.java
#	fe/fe-core/src/main/java/com/starrocks/lake/compaction/CompactionScheduler.java
#	fe/fe-core/src/main/java/com/starrocks/lake/compaction/CompactionTxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/lake/delete/LakeDeleteJob.java
#	fe/fe-core/src/main/java/com/starrocks/leader/LeaderImpl.java
#	fe/fe-core/src/main/java/com/starrocks/load/DeleteJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/ExportChecker.java
#	fe/fe-core/src/main/java/com/starrocks/load/ExportJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/ExportMgr.java
#	fe/fe-core/src/main/java/com/starrocks/load/Load.java
#	fe/fe-core/src/main/java/com/starrocks/load/OlapDeleteJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/BrokerLoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/BrokerLoadPendingTask.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/BulkLoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/InsertLoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadJobFinalOperation.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadLoadingTask.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadMgr.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadTask.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/ManualLoadTxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/MiniLoadTxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkEtlJobHandler.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkLoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkLoadPendingTask.java
#	fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkRepository.java
#	fe/fe-core/src/main/java/com/starrocks/load/pipe/FilePipeSource.java
#	fe/fe-core/src/main/java/com/starrocks/load/pipe/Pipe.java
#	fe/fe-core/src/main/java/com/starrocks/load/pipe/PipeListener.java
#	fe/fe-core/src/main/java/com/starrocks/load/pipe/filelist/FileListTableRepo.java
#	fe/fe-core/src/main/java/com/starrocks/load/pipe/filelist/RepoCreator.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/KafkaProgress.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/KafkaRoutineLoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/KafkaTaskInfo.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/PulsarRoutineLoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/PulsarTaskInfo.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/RLTaskTxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadJob.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadMgr.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadScheduler.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadTaskInfo.java
#	fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadTaskScheduler.java
#	fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadInfo.java
#	fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadMgr.java
#	fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadTask.java
#	fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadTxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/metric/JsonMetricVisitor.java
#	fe/fe-core/src/main/java/com/starrocks/metric/MetricRepo.java
#	fe/fe-core/src/main/java/com/starrocks/planner/AggregationNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/AnalyticEvalNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/BinlogScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/DeltaLakeScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/EsScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/ExchangeNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/FileScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/IcebergMetadataScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/IcebergScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/JDBCScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/JoinNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/LoadScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/MysqlScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/OlapScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/OlapTableSink.java
#	fe/fe-core/src/main/java/com/starrocks/planner/PlanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/ProjectNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/RepeatNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/ScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/SchemaScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/SelectNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/SortNode.java
#	fe/fe-core/src/main/java/com/starrocks/planner/StreamLoadPlanner.java
#	fe/fe-core/src/main/java/com/starrocks/planner/StreamLoadScanNode.java
#	fe/fe-core/src/main/java/com/starrocks/plugin/BuiltinPluginLoader.java
#	fe/fe-core/src/main/java/com/starrocks/plugin/DynamicPluginLoader.java
#	fe/fe-core/src/main/java/com/starrocks/plugin/PluginException.java
#	fe/fe-core/src/main/java/com/starrocks/plugin/PluginLoader.java
#	fe/fe-core/src/main/java/com/starrocks/plugin/PluginMgr.java
#	fe/fe-core/src/main/java/com/starrocks/plugin/PluginZip.java
#	fe/fe-core/src/main/java/com/starrocks/qe/BackendSelector.java
#	fe/fe-core/src/main/java/com/starrocks/qe/ColocatedBackendSelector.java
#	fe/fe-core/src/main/java/com/starrocks/qe/ConnectContext.java
#	fe/fe-core/src/main/java/com/starrocks/qe/ConnectProcessor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/CoordinatorPreprocessor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/DDLStmtExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/DefaultCoordinator.java
#	fe/fe-core/src/main/java/com/starrocks/qe/ExecuteExceptionHandler.java
#	fe/fe-core/src/main/java/com/starrocks/qe/ExecuteScriptExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/HDFSBackendSelector.java
#	fe/fe-core/src/main/java/com/starrocks/qe/NormalBackendSelector.java
#	fe/fe-core/src/main/java/com/starrocks/qe/QeProcessor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/QeProcessorImpl.java
#	fe/fe-core/src/main/java/com/starrocks/qe/QueryQueueManager.java
#	fe/fe-core/src/main/java/com/starrocks/qe/QueryStateException.java
#	fe/fe-core/src/main/java/com/starrocks/qe/SessionVariable.java
#	fe/fe-core/src/main/java/com/starrocks/qe/SetDefaultRoleExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/SetRoleExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/ShortCircuitHybridExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/StmtExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/Coordinator.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/Deployer.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/SchedulerException.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/FragmentAssignmentStrategy.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/LocalFragmentAssignmentStrategy.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/RemoteFragmentAssignmentStrategy.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/AllAtOnceExecutionSchedule.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/ExecutionSchedule.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/PhasedExecutionSchedule.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/ScheduleNextTurnRunner.java
#	fe/fe-core/src/main/java/com/starrocks/qe/scheduler/slot/GlobalSlotProvider.java
#	fe/fe-core/src/main/java/com/starrocks/replication/ReplicationJob.java
#	fe/fe-core/src/main/java/com/starrocks/replication/ReplicationMgr.java
#	fe/fe-core/src/main/java/com/starrocks/replication/ReplicationTxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/rpc/ThriftRPCRequestExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/Constants.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/DataCacheSelectProcessor.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/MvTaskRunContext.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessor.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/TableWithPartitions.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/history/TableKeeper.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshListPartitioner.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshNonPartitioner.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshPartitioner.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshRangePartitioner.java
#	fe/fe-core/src/main/java/com/starrocks/scheduler/mv/TxnBasedEpochCoordinator.java
#	fe/fe-core/src/main/java/com/starrocks/server/GlobalStateMgr.java
#	fe/fe-core/src/main/java/com/starrocks/server/LocalMetastore.java
#	fe/fe-core/src/main/java/com/starrocks/server/MetadataMgr.java
#	fe/fe-core/src/main/java/com/starrocks/server/NodeMgr.java
#	fe/fe-core/src/main/java/com/starrocks/server/OlapTableFactory.java
#	fe/fe-core/src/main/java/com/starrocks/server/WarehouseManager.java
#	fe/fe-core/src/main/java/com/starrocks/service/FrontendServiceImpl.java
#	fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlConnectProcessor.java
#	fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlService.java
#	fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlServiceImpl.java
#	fe/fe-core/src/main/java/com/starrocks/sql/DeletePlanner.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ExplainAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/InsertPlanner.java
#	fe/fe-core/src/main/java/com/starrocks/sql/LoadPlanner.java
#	fe/fe-core/src/main/java/com/starrocks/sql/UpdatePlanner.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AlterRoutineLoadAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AlterTableClauseAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AnalyzeStmtAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/Analyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AstToSQLBuilder.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AuthorizerStmtVisitor.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/CreateRoutineLoadAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/QueryAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/SetStmtAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/analyzer/WarehouseAnalyzer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/AlterRoutineLoadStmt.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/AnalyzeStmt.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/AstVisitor.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateMaterializedViewStatement.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateRoutineLoadStmt.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/DropPartitionClause.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/ShowAnalyzeStatusStmt.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/TableRelation.java
#	fe/fe-core/src/main/java/com/starrocks/sql/ast/warehouse/ShowWarehousesStmt.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/ListPartitionDiffer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/PListCell.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/PRangeCell.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/PRangeCellPlus.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/PartitionDiff.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/PartitionDiffResult.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/PartitionDiffer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/RangePartitionDiffer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/common/SyncPartitionUtils.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializationContext.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializedViewOptimizer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/Optimizer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/Utils.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/base/ColumnRefFactory.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/Operator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/Projection.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalOlapScanOperator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalOlapScanOperator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/scalar/ConstantOperator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/OptExternalPartitionPruner.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/OptOlapPartitionPruner.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/PartitionColPredicateEvaluator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/PartitionColPredicateExtractor.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/ReplaceColumnRefRewriter.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/ScalarOperatorEvaluator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/scalar/NormalizePredicateRule.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/scalar/ReduceCastRule.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/RuleType.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/ListPartitionPruner.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PushDownPredicateScanRule.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/SplitAggregateRule.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/BestMvSelector.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MVTransparentState.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvPartitionCompensator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtils.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/compensation/MVCompensationBuilder.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/compensation/OptCompensator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/PreAggregateTurnOnRule.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/ScalarOperatorsReuseRule.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/lowcardinality/DecodeCollector.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/CachedStatisticStorage.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/ColumnBasicStatsCacheLoader.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/StatisticStorage.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/StatisticsCalculator.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/transformer/RelationTransformer.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/validate/InputDependenciesChecker.java
#	fe/fe-core/src/main/java/com/starrocks/sql/optimizer/validate/TypeChecker.java
#	fe/fe-core/src/main/java/com/starrocks/sql/parser/AstBuilder.java
#	fe/fe-core/src/main/java/com/starrocks/sql/parser/StarRocks.g4
#	fe/fe-core/src/main/java/com/starrocks/sql/parser/StarRocksLex.g4
#	fe/fe-core/src/main/java/com/starrocks/sql/plan/PlanFragmentBuilder.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/AnalyzeMgr.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/AnalyzeStatus.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/HistogramStatisticsCollectJob.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/NativeAnalyzeStatus.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/StatisticExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/StatisticsCollectJobFactory.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/StatisticsMetaManager.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/sample/SampleInfo.java
#	fe/fe-core/src/main/java/com/starrocks/statistic/sample/TabletStats.java
#	fe/fe-core/src/main/java/com/starrocks/system/BackendHbResponse.java
#	fe/fe-core/src/main/java/com/starrocks/system/ComputeNode.java
#	fe/fe-core/src/main/java/com/starrocks/system/HeartbeatMgr.java
#	fe/fe-core/src/main/java/com/starrocks/system/NodeSelector.java
#	fe/fe-core/src/main/java/com/starrocks/system/SystemInfoService.java
#	fe/fe-core/src/main/java/com/starrocks/task/CreateReplicaTask.java
#	fe/fe-core/src/main/java/com/starrocks/task/ExportExportingTask.java
#	fe/fe-core/src/main/java/com/starrocks/task/TabletTaskExecutor.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/AbstractTxnStateChangeCallback.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/DatabaseTransactionMgr.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/GlobalTransactionMgr.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/IllegalTransactionParameterException.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/InsertTxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/PublishVersionDaemon.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/TransactionException.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/TransactionState.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/TransactionStateBatch.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/TxnCommitAttachment.java
#	fe/fe-core/src/main/java/com/starrocks/transaction/TxnStateChangeCallback.java
#	fe/fe-core/src/main/java/com/starrocks/warehouse/DefaultWarehouse.java
#	fe/fe-core/src/main/java/com/starrocks/warehouse/WarehouseProcDir.java
#	fe/fe-core/src/test/java/com/starrocks/alter/AlterTest.java
#	fe/fe-core/src/test/java/com/starrocks/alter/CompactionHandlerTest.java
#	fe/fe-core/src/test/java/com/starrocks/alter/OptimizeJobV2BuilderTest.java
#	fe/fe-core/src/test/java/com/starrocks/alter/RollupJobV2Test.java
#	fe/fe-core/src/test/java/com/starrocks/alter/SchemaChangeJobV2Test.java
#	fe/fe-core/src/test/java/com/starrocks/alter/SystemHandlerTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/CancelLoadStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/CreateMaterializedViewTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/CreateRoutineLoadStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/CreateTableWithPartitionTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/InstallPluginStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/LoadStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/PreparedStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/RefreshMaterializedViewStatementTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/RefreshMaterializedViewTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/SelectStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/SetPassVarTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/SetStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/SetUserPropertyVarTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/ShowEnginesStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/ShowLoadStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/ShowLoadWarningsStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/analysis/ShowTransactionStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/authorization/AuthorizationMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/backup/RestoreJobMaterializedViewTest.java
#	fe/fe-core/src/test/java/com/starrocks/backup/RestoreJobTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/DatabaseTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/GlobalFunctionMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/HiveResourceTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/HudiResourceTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/IcebergResourceTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/ListPartitionInfoTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/MaterializedViewTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/ResourceMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/SparkResourceTest.java
#	fe/fe-core/src/test/java/com/starrocks/catalog/TableFunctionTableTest.java
#	fe/fe-core/src/test/java/com/starrocks/clone/DynamicPartitionSchedulerTest.java
#	fe/fe-core/src/test/java/com/starrocks/cluster/SystemInfoServiceTest.java
#	fe/fe-core/src/test/java/com/starrocks/common/ConfigTest.java
#	fe/fe-core/src/test/java/com/starrocks/common/MarkDownParserTest.java
#	fe/fe-core/src/test/java/com/starrocks/common/lock/TestLockInterface.java
#	fe/fe-core/src/test/java/com/starrocks/common/proc/LakeTabletsProcNodeTest.java
#	fe/fe-core/src/test/java/com/starrocks/common/util/AutoInferUtilTest.java
#	fe/fe-core/src/test/java/com/starrocks/common/util/BrokerUtilTest.java
#	fe/fe-core/src/test/java/com/starrocks/common/util/KafkaUtilTest.java
#	fe/fe-core/src/test/java/com/starrocks/common/util/ProfileManagerTest.java
#	fe/fe-core/src/test/java/com/starrocks/connector/CatalogConnectorMetadataTest.java
#	fe/fe-core/src/test/java/com/starrocks/connector/PartitionUtilTest.java
#	fe/fe-core/src/test/java/com/starrocks/connector/hive/HiveWriteUtilsTest.java
#	fe/fe-core/src/test/java/com/starrocks/connector/iceberg/IcebergMetadataTest.java
#	fe/fe-core/src/test/java/com/starrocks/connector/kudu/KuduPredicateConverterTest.java
#	fe/fe-core/src/test/java/com/starrocks/fs/HdfsUtilTest.java
#	fe/fe-core/src/test/java/com/starrocks/fs/TestHdfsFsManager.java
#	fe/fe-core/src/test/java/com/starrocks/fs/WildcardURITest.java
#	fe/fe-core/src/test/java/com/starrocks/http/TransactionLoadActionTest.java
#	fe/fe-core/src/test/java/com/starrocks/journal/bdbje/BDBEnvironmentTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/AlterTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/CreateLakeTableTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/StarOSAgent2ndTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/StarOSAgentTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/UtilsTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/compaction/CompactionTxnCommitAttachmentTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/delete/DeleteTest.java
#	fe/fe-core/src/test/java/com/starrocks/lake/qe/scheduler/DefaultSharedDataWorkerProviderTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/BrokerFileGroupTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/DeleteHandlerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/ExportCheckerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/LoadPlannerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/LoadTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/loadv2/BrokerLoadJobTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/loadv2/BrokerLoadPendingTaskTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/loadv2/InsertLoadJobTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/loadv2/LoadMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/loadv2/SparkEtlJobHandlerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/loadv2/SparkRepositoryTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/pipe/PipeManagerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/pipe/filelist/FileListRepoTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/routineload/KafkaProgressTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/routineload/KafkaRoutineLoadJobTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/routineload/KafkaTaskInfoTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadJobMetaTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadJobTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadManagerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadTaskSchedulerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadManagerTest.java
#	fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadTaskTest.java
#	fe/fe-core/src/test/java/com/starrocks/planner/FileScanNodeTest.java
#	fe/fe-core/src/test/java/com/starrocks/planner/OlapTableSinkTest.java
#	fe/fe-core/src/test/java/com/starrocks/planner/OlapTableSinkTest2.java
#	fe/fe-core/src/test/java/com/starrocks/planner/OnPredicateMoveAroundRuleTest.java
#	fe/fe-core/src/test/java/com/starrocks/planner/StreamLoadPlannerTest.java
#	fe/fe-core/src/test/java/com/starrocks/planner/StreamLoadScanNodeTest.java
#	fe/fe-core/src/test/java/com/starrocks/plugin/PluginZipTest.java
#	fe/fe-core/src/test/java/com/starrocks/pseudocluster/BeTabletManager.java
#	fe/fe-core/src/test/java/com/starrocks/pseudocluster/BeTxnManager.java
#	fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoBackend.java
#	fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoCluster.java
#	fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoClusterTest.java
#	fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoFrontend.java
#	fe/fe-core/src/test/java/com/starrocks/qe/ColocatedBackendSelectorTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/ExecuteExceptionHandlerTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/ExportHandleTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/SetExecutorTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/ShowExecutorTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/VariableMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/scheduler/DefaultWorkerProviderTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/scheduler/GetNextTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/scheduler/QueryQueueManagerTest.java
#	fe/fe-core/src/test/java/com/starrocks/qe/scheduler/StartSchedulingTest.java
#	fe/fe-core/src/test/java/com/starrocks/scheduler/PCTRefreshListPartitionOlapTest.java
#	fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorIcebergTest.java
#	fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorOlapPart2Test.java
#	fe/fe-core/src/test/java/com/starrocks/scheduler/history/TaskRunHistoryTest.java
#	fe/fe-core/src/test/java/com/starrocks/server/WarehouseManagerTest.java
#	fe/fe-core/src/test/java/com/starrocks/service/FrontendServiceImplTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeStmtTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/analyzer/MaterializedViewAnalyzerTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/common/SyncPartitionUtilsTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/OptimizerTaskTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/SelectStmtWithCaseWhenTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/JoinPredicatePushdownTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/scalar/FoldConstantsRuleTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/scalar/NormalizePredicateRuleTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/scalar/ReduceCastRuleTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/PartitionPruneRuleTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteHiveTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteListPartitionTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvTransparentRewriteWithOlapTableTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/parser/ParserTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/CTEPlanTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/DistributedEnvPlanWithCostTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/ExpressionTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/IcebergEqualityDeletePlanTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/LowCardinalityTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/LowCardinalityTest2.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/PlanTestBase.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/PlanTestNoneDBBase.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/PredicatePushDownTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/RemoveAggTest.java
#	fe/fe-core/src/test/java/com/starrocks/sql/plan/ReplayFromDumpTest.java
#	fe/fe-core/src/test/java/com/starrocks/statistic/AnalyzeMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/statistic/BasicStatsMetaTest.java
#	fe/fe-core/src/test/java/com/starrocks/statistic/StatisticsCollectJobTest.java
#	fe/fe-core/src/test/java/com/starrocks/statistic/StatisticsSQLTest.java
#	fe/fe-core/src/test/java/com/starrocks/system/ComputeNodeTest.java
#	fe/fe-core/src/test/java/com/starrocks/transaction/DatabaseTransactionMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/transaction/GlobalTransactionMgrTest.java
#	fe/fe-core/src/test/java/com/starrocks/transaction/TransactionStateBatchTest.java
#	fe/fe-core/src/test/java/com/starrocks/utframe/MockedFrontend.java
#	fe/fe-core/src/test/java/com/starrocks/utframe/StarRocksAssert.java
#	fe/fe-core/src/test/java/com/starrocks/utframe/UtFrameUtils.java
#	fe/fe-core/src/test/resources/sql/subquery/in-subquery.sql
#	fe/fe-core/src/test/resources/sql/subquery/scalar-subquery.sql
#	gensrc/proto/descriptors.proto
#	gensrc/proto/internal_service.proto
#	gensrc/script/functions.py
#	gensrc/thrift/AgentService.thrift
#	gensrc/thrift/Descriptors.thrift
#	gensrc/thrift/FrontendService.thrift
#	gensrc/thrift/HeartbeatService.thrift
#	gensrc/thrift/PlanNodes.thrift
#	test/lib/sr_sql_lib.py
#	test/sql/test_list_partition/R/test_add_list_partition
#	test/sql/test_list_partition/T/test_add_list_partition
#	test/sql/test_materialized_view_refresh/R/test_mv_refresh_list_partitions_basic
#	test/sql/test_materialized_view_refresh/R/test_mv_refresh_list_partitions_partial_refresh
#	test/sql/test_materialized_view_refresh/R/test_mv_refresh_list_partitions_with_nullable
#	test/sql/test_materialized_view_refresh/R/test_mv_refresh_with_mv_reuse
#	test/sql/test_materialized_view_refresh/T/test_mv_refresh_list_partitions_basic
#	test/sql/test_materialized_view_refresh/T/test_mv_refresh_list_partitions_partial_refresh
#	test/sql/test_materialized_view_refresh/T/test_mv_refresh_list_partitions_with_nullable
#	test/sql/test_materialized_view_refresh/T/test_mv_refresh_with_mv_reuse
#	test/sql/test_profile/T/test_load_channel_profile_analysis.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants