Skip to content

23-Compatibility

Comp: stream backward and forward
Test compatibility across 5 baseline versions with stream processing validation:
1. Test [v3.2.0.0 Base Version Compatibility]
1.1 Install v3.2.0.0 and prepare data using tdCb.prepareDataOnOldVersion()
1.1.1 Create test databases and tables with taosBenchmark
1.1.2 Insert sample data and create streams
1.1.3 Setup TMQ topics and consumers
1.1.4 Verify stream functionality on v3.2.0.0
1.2 Upgrade to new version with mode 2 (no upgrade mode)
1.2.1 Kill all dnodes and update to new version
1.2.2 Start new version with existing data
1.2.3 Verify cross-major version compatibility (corss_major_version=True)
1.3 Verify data and functionality using tdCb.verifyData()
1.3.1 Check table counts and row counts consistency
1.3.2 Verify stream processing functionality
1.3.3 Test TMQ consumer operations
1.3.4 Validate aggregation results accuracy
2. Test [v3.3.3.0 Base Version Compatibility]
2.1 Install v3.3.3.0 and prepare data using tdCb.prepareDataOnOldVersion()
2.1.1 Create test databases and tables with taosBenchmark
2.1.2 Insert sample data and create streams
2.1.3 Setup TMQ topics and consumers
2.1.4 Verify stream functionality on v3.3.3.0
2.2 Upgrade to new version with mode 2 (no upgrade mode)
2.2.1 Kill all dnodes and update to new version
2.2.2 Start new version with existing data
2.2.3 Verify compatibility (corss_major_version=True)
2.3 Verify data and functionality using tdCb.verifyData()
2.3.1 Check table counts and row counts consistency
2.3.2 Verify stream processing functionality
2.3.3 Test TMQ consumer operations
2.3.4 Validate aggregation results accuracy
3. Test [v3.3.4.3 Base Version Compatibility]
3.1 Install v3.3.4.3 and prepare data using tdCb.prepareDataOnOldVersion()
3.1.1 Create test databases and tables with taosBenchmark
3.1.2 Insert sample data and create streams
3.1.3 Setup TMQ topics and consumers
3.1.4 Verify stream functionality on v3.3.4.3
3.2 Upgrade to new version with mode 2 (no upgrade mode)
3.2.1 Kill all dnodes and update to new version
3.2.2 Start new version with existing data
3.2.3 Verify compatibility (corss_major_version=True)
3.3 Verify data and functionality using tdCb.verifyData()
3.3.1 Check table counts and row counts consistency
3.3.2 Verify stream processing functionality
3.3.3 Test TMQ consumer operations
3.3.4 Validate aggregation results accuracy
4. Test [v3.3.5.0 Base Version Compatibility]
4.1 Install v3.3.5.0 and prepare data using tdCb.prepareDataOnOldVersion()
4.1.1 Create test databases and tables with taosBenchmark
4.1.2 Insert sample data and create streams
4.1.3 Setup TMQ topics and consumers
4.1.4 Verify stream functionality on v3.3.5.0
4.2 Upgrade to new version with mode 2 (no upgrade mode)
4.2.1 Kill all dnodes and update to new version
4.2.2 Start new version with existing data
4.2.3 Verify compatibility (corss_major_version=True)
4.3 Verify data and functionality using tdCb.verifyData()
4.3.1 Check table counts and row counts consistency
4.3.2 Verify stream processing functionality
4.3.3 Test TMQ consumer operations
4.3.4 Validate aggregation results accuracy
5. Test [v3.3.6.0 Base Version Compatibility - Final]
5.1 Install v3.3.6.0 and prepare data using tdCb.prepareDataOnOldVersion()
5.1.1 Create test databases and tables with taosBenchmark
5.1.2 Insert sample data and create streams
5.1.3 Setup TMQ topics and consumers
5.1.4 Verify stream functionality on v3.3.6.0
5.2 Upgrade to new version with mode 2 (no upgrade mode)
5.2.1 Kill all dnodes and update to new version
5.2.2 Start new version with existing data
5.2.3 Verify compatibility (corss_major_version=False as final version)
5.3 Verify data and functionality using tdCb.verifyData()
5.3.1 Check table counts and row counts consistency
5.3.2 Verify stream processing functionality
5.3.3 Test TMQ consumer operations
5.3.4 Validate aggregation results accuracy
6. Test [SQL Syntax Compatibility Verification]
6.1 Test backticks in SQL using tdCb.verifyBackticksInTaosSql()
6.1.1 Test database operations with backticks
6.1.2 Test table operations with backticks
6.1.3 Test stream operations with backticks
6.1.4 Verify error handling for invalid backtick usage

Comp: stream backward and forward (Part 1/3)
Test compatibility across baseline versions 3.2.0.0 and 3.3.3.0 with stream processing validation:
1. Test [v3.2.0.0 Base Version Compatibility]
1.1 Install v3.2.0.0 and prepare data using tdCb.prepareDataOnOldVersion()
1.1.1 Create test databases and tables with taosBenchmark
1.1.2 Insert sample data and create streams
1.1.3 Setup TMQ topics and consumers
1.1.4 Verify stream functionality on v3.2.0.0
1.2 Upgrade to new version with mode 2 (no upgrade mode)
1.2.1 Kill all dnodes and update to new version
1.2.2 Start new version with existing data
1.2.3 Verify cross-major version compatibility (corss_major_version=True)
1.3 Verify data and functionality using tdCb.verifyData()
1.3.1 Check table counts and row counts consistency
1.3.2 Verify stream processing functionality
1.3.3 Test TMQ consumer operations
1.3.4 Validate aggregation results accuracy
2. Test [v3.3.3.0 Base Version Compatibility]
2.1 Install v3.3.3.0 and prepare data using tdCb.prepareDataOnOldVersion()
2.1.1 Create test databases and tables with taosBenchmark
2.1.2 Insert sample data and create streams
2.1.3 Setup TMQ topics and consumers
2.1.4 Verify stream functionality on v3.3.3.0
2.2 Upgrade to new version with mode 2 (no upgrade mode)
2.2.1 Kill all dnodes and update to new version
2.2.2 Start new version with existing data
2.2.3 Verify compatibility (corss_major_version=False as final version)
2.3 Verify data and functionality using tdCb.verifyData()
2.3.1 Check table counts and row counts consistency
2.3.2 Verify stream processing functionality
2.3.3 Test TMQ consumer operations
2.3.4 Validate aggregation results accuracy
3. Test [SQL Syntax Compatibility Verification]
3.1 Test backticks in SQL using tdCb.verifyBackticksInTaosSql()
3.1.1 Test database operations with backticks
3.1.2 Test table operations with backticks
3.1.3 Test stream operations with backticks
3.1.4 Verify error handling for invalid backtick usage

Comp: stream backward and forward (Part 2/3)
Test compatibility across baseline versions 3.3.4.3 and 3.3.5.0 with stream processing validation:
1. Test [v3.3.4.3 Base Version Compatibility]
1.1 Install v3.3.4.3 and prepare data using tdCb.prepareDataOnOldVersion()
1.1.1 Create test databases and tables with taosBenchmark
1.1.2 Insert sample data and create streams
1.1.3 Setup TMQ topics and consumers
1.1.4 Verify stream functionality on v3.3.4.3
1.2 Upgrade to new version with mode 2 (no upgrade mode)
1.2.1 Kill all dnodes and update to new version
1.2.2 Start new version with existing data
1.2.3 Verify cross-major version compatibility (corss_major_version=True)
1.3 Verify data and functionality using tdCb.verifyData()
1.3.1 Check table counts and row counts consistency
1.3.2 Verify stream processing functionality
1.3.3 Test TMQ consumer operations
1.3.4 Validate aggregation results accuracy
2. Test [v3.3.5.0 Base Version Compatibility]
2.1 Install v3.3.5.0 and prepare data using tdCb.prepareDataOnOldVersion()
2.1.1 Create test databases and tables with taosBenchmark
2.1.2 Insert sample data and create streams
2.1.3 Setup TMQ topics and consumers
2.1.4 Verify stream functionality on v3.3.5.0
2.2 Upgrade to new version with mode 2 (no upgrade mode)
2.2.1 Kill all dnodes and update to new version
2.2.2 Start new version with existing data
2.2.3 Verify compatibility (corss_major_version=False as final version)
2.3 Verify data and functionality using tdCb.verifyData()
2.3.1 Check table counts and row counts consistency
2.3.2 Verify stream processing functionality
2.3.3 Test TMQ consumer operations
2.3.4 Validate aggregation results accuracy
3. Test [SQL Syntax Compatibility Verification]
3.1 Test backticks in SQL using tdCb.verifyBackticksInTaosSql()
3.1.1 Test database operations with backticks
3.1.2 Test table operations with backticks
3.1.3 Test stream operations with backticks
3.1.4 Verify error handling for invalid backtick usage

Comp: stream backward and forward (Part 3/3)
Test compatibility across baseline versions 3.3.6.0 and 3.3.7.0 with stream processing validation:
1. Test [v3.3.6.0 Base Version Compatibility]
1.1 Install v3.3.6.0 and prepare data using tdCb.prepareDataOnOldVersion()
1.1.1 Create test databases and tables with taosBenchmark
1.1.2 Insert sample data and create streams
1.1.3 Setup TMQ topics and consumers
1.1.4 Verify stream functionality on v3.3.6.0
1.2 Upgrade to new version with mode 2 (no upgrade mode)
1.2.1 Kill all dnodes and update to new version
1.2.2 Start new version with existing data
1.2.3 Verify cross-major version compatibility (corss_major_version=True)
1.3 Verify data and functionality using tdCb.verifyData()
1.3.1 Check table counts and row counts consistency
1.3.2 Verify stream processing functionality
1.3.3 Test TMQ consumer operations
1.3.4 Validate aggregation results accuracy
2. Test [v3.3.7.0 Base Version Compatibility]
2.1 Install v3.3.7.0 and prepare data using tdCb.prepareDataOnOldVersion()
2.1.1 Create test databases and tables with taosBenchmark
2.1.2 Insert sample data and create streams
2.1.3 Setup TMQ topics and consumers
2.1.4 Verify stream functionality on v3.3.7.0
2.2 Upgrade to new version with mode 2 (no upgrade mode)
2.2.1 Kill all dnodes and update to new version
2.2.2 Start new version with existing data
2.2.3 Verify compatibility (corss_major_version=False as final version)
2.3 Verify data and functionality using tdCb.verifyData()
2.3.1 Check table counts and row counts consistency
2.3.2 Verify stream processing functionality
2.3.3 Test TMQ consumer operations
2.3.4 Validate aggregation results accuracy
3. Test [SQL Syntax Compatibility Verification]
3.1 Test backticks in SQL using tdCb.verifyBackticksInTaosSql()
3.1.1 Test database operations with backticks
3.1.2 Test table operations with backticks
3.1.3 Test stream operations with backticks
3.1.4 Verify error handling for invalid backtick usage

Comp: stream backward and forward (Part 4/4)
Test compatibility across baseline versions 3.3.8.0 with stream processing validation:
1. Test [v3.3.8.0 Base Version Compatibility]
1.1 Install v3.3.8.0 and prepare data using tdCb.prepareDataOnOldVersion()
1.1.1 Create test databases and tables with taosBenchmark
1.1.2 Insert sample data and create streams
1.1.3 Setup TMQ topics and consumers
1.1.4 Verify stream functionality on v3.3.8.0
2. Test [v3.3.8.0 Base Version Compatibility]
2.1 Install v3.3.8.0 and prepare data using tdCb.prepareDataOnOldVersion()
2.1.1 Create test databases and tables with taosBenchmark
2.1.2 Insert sample data and create streams
2.1.3 Setup TMQ topics and consumers
2.1.4 Verify stream functionality on v3.3.8.0
2.2 Upgrade to new version with mode 2 (no upgrade mode)
2.2.1 Kill all dnodes and update to new version
2.2.2 Start new version with existing data
2.2.3 Verify compatibility (corss_major_version=True)
2.3 Verify data and functionality using tdCb.verifyData()
2.3.1 Check table counts and row counts consistency
2.3.2 Verify stream processing functionality
2.3.3 Test TMQ consumer operations
3. Test [SQL Syntax Compatibility Verification]
3.1 Test backticks in SQL using tdCb.verifyBackticksInTaosSql()
3.1.1 Test database operations with backticks
3.1.2 Test table operations with backticks
3.1.3 Test stream operations with backticks
3.1.4 Verify error handling for invalid backtick usage

Comp: stream cross-version
Test stream processing and TSMA compatibility across 4 base versions with actual stream/TSMA creation and verification:
1. Test [v3.3.3.0 Version Compatibility]
1.1 Install v3.3.3.0 enterprise package and create old format streams and TSMAs
1.1.1 Create avg_stream: INTERVAL(5s) aggregation on meters table
1.1.2 Create max_stream: trigger at_once with MAX aggregation by tbname
1.1.3 Create count_stream: INTERVAL(10s) with WHERE voltage > 10 filter
1.1.4 Create tsma_meters: 1-minute TSMA with avg(voltage), max(current), min(voltage), count(ts)
1.1.5 Create tsma_meters_hourly: 1-hour TSMA with avg(voltage), max(current), min(current), count(ts)
1.1.6 Create tsma_meters_detail: 30-second TSMA with sum(voltage), avg(current), max(phase), min(phase)
1.2 Verify new version startup behavior with old streams and TSMAs
1.2.1 Attempt to start new version (should fail due to incompatible streams/TSMAs)
1.2.2 Verify stream and TSMA incompatibility detection
1.3 Clean up old streams/TSMAs and create new format streams
1.3.1 Drop all old format streams and TSMAs before database cleanup
1.3.2 Create s_interval: INTERVAL(5s) SLIDING(5s) with trigger/source separation
1.3.3 Create s_count: COUNT_WINDOW(5) with %%trows reference
1.3.4 Create s_period: PERIOD(30s) with cross-database computation
1.3.5 Create s_session: SESSION(ts, 5s) with window boundary functions
2. Test [v3.3.4.0 Version Compatibility]
2.1 Install v3.3.4.0 enterprise package and create old format streams and TSMAs
2.1.1 Create avg_stream: INTERVAL(5s) aggregation on meters table
2.1.2 Create max_stream: trigger at_once with MAX aggregation by tbname
2.1.3 Create count_stream: INTERVAL(10s) with WHERE voltage > 10 filter
2.1.4 Create tsma_meters: 1-minute TSMA with avg(voltage), max(current), min(voltage), count(ts)
2.1.5 Create tsma_meters_hourly: 1-hour TSMA with avg(voltage), max(current), min(current), count(ts)
2.1.6 Create tsma_meters_detail: 30-second TSMA with sum(voltage), avg(current), max(phase), min(phase)
2.2 Verify new version startup behavior with old streams and TSMAs
2.2.1 Attempt to start new version (should fail due to incompatible streams/TSMAs)
2.2.2 Verify stream and TSMA incompatibility detection
2.3 Clean up old streams/TSMAs and create new format streams
2.3.1 Drop all old format streams and TSMAs before database cleanup
2.3.2 Create s_interval: INTERVAL(5s) SLIDING(5s) with trigger/source separation
2.3.3 Create s_count: COUNT_WINDOW(5) with %%trows reference
2.3.4 Create s_period: PERIOD(30s) with cross-database computation
2.3.5 Create s_session: SESSION(ts, 5s) with window boundary functions
3. Test [v3.3.5.0 Version Compatibility]
3.1 Install v3.3.5.0 enterprise package and create old format streams and TSMAs
3.1.1 Create avg_stream: INTERVAL(5s) aggregation on meters table
3.1.2 Create max_stream: trigger at_once with MAX aggregation by tbname
3.1.3 Create count_stream: INTERVAL(10s) with WHERE voltage > 10 filter
3.1.4 Create tsma_meters: 1-minute TSMA with avg(voltage), max(current), min(voltage), count(ts)
3.1.5 Create tsma_meters_hourly: 1-hour TSMA with avg(voltage), max(current), min(current), count(ts)
3.1.6 Create tsma_meters_detail: 30-second TSMA with sum(voltage), avg(current), max(phase), min(phase)
3.2 Verify new version startup behavior with old streams and TSMAs
3.2.1 Attempt to start new version (should fail due to incompatible streams/TSMAs)
3.2.2 Verify stream and TSMA incompatibility detection
3.3 Clean up old streams/TSMAs and create new format streams
3.3.1 Drop all old format streams and TSMAs before database cleanup
3.3.2 Create s_interval: INTERVAL(5s) SLIDING(5s) with trigger/source separation
3.3.3 Create s_count: COUNT_WINDOW(5) with %%trows reference
3.3.4 Create s_period: PERIOD(30s) with cross-database computation
3.3.5 Create s_session: SESSION(ts, 5s) with window boundary functions
4. Test [v3.3.6.0 Version Compatibility]
4.1 Install v3.3.6.0 enterprise package and create old format streams and TSMAs
4.1.1 Create avg_stream: INTERVAL(5s) aggregation on meters table
4.1.2 Create max_stream: trigger at_once with MAX aggregation by tbname
4.1.3 Create count_stream: INTERVAL(10s) with WHERE voltage > 10 filter
4.1.4 Create tsma_meters: 1-minute TSMA with avg(voltage), max(current), min(voltage), count(ts)
4.1.5 Create tsma_meters_hourly: 1-hour TSMA with avg(voltage), max(current), min(current), count(ts)
4.1.6 Create tsma_meters_detail: 30-second TSMA with sum(voltage), avg(current), max(phase), min(phase)
4.2 Verify new version startup behavior with old streams and TSMAs
4.2.1 Attempt to start new version (should fail due to incompatible streams/TSMAs)
4.2.2 Verify stream and TSMA incompatibility detection
4.3 Clean up old streams/TSMAs and create new format streams
4.3.1 Drop all old format streams and TSMAs before database cleanup
4.3.2 Create s_interval: INTERVAL(5s) SLIDING(5s) with trigger/source separation
4.3.3 Create s_count: COUNT_WINDOW(5) with %%trows reference
4.3.4 Create s_period: PERIOD(30s) with cross-database computation
4.3.5 Create s_session: SESSION(ts, 5s) with window boundary functions

Comp: rolling upgrade
Test incremental rolling upgrade of individual nodes with stream processing validation:
1. Test [Version Detection and Upgrade Mode Selection]
1.1 Get current server version and calculate last big version
1.1.1 Query SELECT SERVER_VERSION() to get current version
1.1.2 Calculate lastBigVersion as major.minor.patch.0 format
1.1.3 Verify version format and compatibility
1.2 Setup upgrade environment
1.2.1 Stop all dnodes with tdDnodes.stopAll()
1.2.2 Get dnode paths for 3 nodes (dnode1, dnode2, dnode3)
1.2.3 Verify base version package availability
2. Test [Base Version Installation and Cluster Setup]
2.1 Install old version for rolling upgrade
2.1.1 Install TDengine using tdCb.installTaosdForRollingUpgrade()
2.1.2 Verify successful installation of base version
2.1.3 Start old version services
2.2 Create multi-node cluster
2.2.1 Create dnode with hostname:6130 port
2.2.2 Create dnode with hostname:6230 port
2.2.3 Wait 10 seconds for cluster stabilization
2.2.4 Verify cluster formation and node status
3. Test [Data Preparation on Old Version]
3.1 Create test data using tdCb.prepareDataOnOldVersion()
3.1.1 Create test databases and tables with taosBenchmark
3.1.2 Insert sample data across multiple tables
3.1.3 Create stream processing objects
3.1.4 Verify data consistency before upgrade
3.2 Setup stream processing infrastructure
3.2.1 Create streams with various window types
3.2.2 Setup TMQ topics and consumers
3.2.3 Verify stream functionality on old version
3.2.4 Flush databases to ensure data persistence
4. Test [Rolling Upgrade Execution - Mode 0 (Single Node)]
4.1 Execute upgrade using tdCb.updateNewVersion() with mode 0
4.1.1 Upgrade single dnode incrementally (mode=0)
4.1.2 Monitor upgrade process for individual node
4.1.3 Verify mixed-version cluster operation
4.1.4 Wait 10 seconds for upgrade completion
4.2 Verify cluster stability during incremental upgrade
4.2.1 Check upgraded node is running new version
4.2.2 Verify remaining nodes still on old version
4.2.3 Confirm cluster connectivity maintained
4.2.4 Validate data accessibility during upgrade
5. Test [Post-Upgrade Data Verification]
5.1 Verify data integrity using tdCb.verifyData()
5.1.1 Check table counts and row counts consistency
5.1.2 Verify stream processing functionality
5.1.3 Test TMQ consumer operations
5.1.4 Validate aggregation results accuracy
5.2 Verify new features and compatibility
5.2.1 Test stream recalculation features
5.2.2 Verify tag size modifications
5.2.3 Check configuration parameter compatibility
5.2.4 Validate error handling improvements
6. Test [SQL Syntax Compatibility Verification]
6.1 Test backticks in SQL using tdCb.verifyBackticksInTaosSql()
6.1.1 Test database operations with backticks
6.1.2 Test table operations with backticks
6.1.3 Test stream operations with backticks
6.1.4 Verify error handling for invalid backtick usage

Comp: rolling upgrade all dnodes
Test rolling upgrade of all cluster nodes simultaneously with stream processing validation:
1. Test [Version Detection and Preparation]
1.1 Get current server version and calculate last big version
1.1.1 Query SELECT SERVER_VERSION() to get current version
1.1.2 Calculate lastBigVersion as major.minor.patch.0 format
1.1.3 Verify version format and compatibility
1.2 Setup cluster environment for upgrade testing
1.2.1 Get build path and dnode paths for 3 nodes
1.2.2 Kill all existing dnode processes
1.2.3 Verify base version package availability
2. Test [Base Version Installation and Cluster Setup]
2.1 Install old version across all dnodes
2.1.1 Install TDengine using tdCb.installTaosdForRollingUpgrade()
2.1.2 Verify successful installation of base version
2.1.3 Start old version services on all nodes
2.2 Create multi-node cluster
2.2.1 Create dnode with hostname:6130 port
2.2.2 Create dnode with hostname:6230 port
2.2.3 Wait 10 seconds for cluster stabilization
2.2.4 Verify cluster formation and node status
3. Test [Data Preparation on Old Version]
3.1 Create test data using tdCb.prepareDataOnOldVersion()
3.1.1 Create test databases and tables with taosBenchmark
3.1.2 Insert sample data across multiple tables
3.1.3 Create stream processing objects
3.1.4 Verify data consistency before upgrade
3.2 Setup stream processing infrastructure
3.2.1 Create streams with various window types
3.2.2 Setup TMQ topics and consumers
3.2.3 Verify stream functionality on old version
3.2.4 Flush databases to ensure data persistence
4. Test [Rolling Upgrade Execution - Mode 1 (All Dnodes)]
4.1 Execute upgrade using tdCb.updateNewVersion() with mode 1
4.1.1 Upgrade all dnodes simultaneously (mode=1)
4.1.2 Monitor upgrade process and timing
4.1.3 Handle upgrade failures and rollback if needed
4.1.4 Wait 10 seconds for upgrade completion
4.2 Verify cluster stability after upgrade
4.2.1 Check all nodes are running new version
4.2.2 Verify cluster connectivity and communication
4.2.3 Confirm no data loss during upgrade
4.2.4 Validate cluster configuration consistency
5. Test [Post-Upgrade Data Verification]
5.1 Verify data integrity using tdCb.verifyData()
5.1.1 Check table counts and row counts consistency
5.1.2 Verify stream processing functionality
5.1.3 Test TMQ consumer operations
5.1.4 Validate aggregation results accuracy
5.2 Verify new features and compatibility
5.2.1 Test stream recalculation features
5.2.2 Verify tag size modifications
5.2.3 Check configuration parameter compatibility
5.2.4 Validate error handling improvements
6. Test [SQL Syntax Compatibility Verification]
6.1 Test backticks in SQL using tdCb.verifyBackticksInTaosSql()
6.1.1 Test database operations with backticks
6.1.2 Test table operations with backticks
6.1.3 Test stream operations with backticks
6.1.4 Verify error handling for invalid backtick usage

Comp: stream backward and forward
Test compatibility across 3 baseline versions with stream processing validation:
1. Test [v3.3.7.9 Base Version Compatibility]
1.1 Install v3.3.7.9 and prepare data using tdCb.prepareDataOnOldVersion()
1.1.1 Create test databases and tables
1.1.2 Create streams and insert sample data
1.1.3 Verify stream functionality on v3.3.7.9
1.2 Upgrade to new version with mode 2 (no upgrade mode)
1.2.1 Kill all dnodes and update to new version
1.2.2 Start new version with existing data
1.2.3 Verify cross-major version compatibility (corss_major_version=True)
1.3 Verify data and functionality using tdCb.verifyData()
1.3.1 Check table counts and row counts consistency
1.3.2 Verify stream processing functionality
1.3.3 Validate aggregation results accuracy
2. Test [v3.3.8.5 Base Version Compatibility]
3. Test [v3.3.8.6 Base Version Compatibility]