copy timeFilter when initQueryDataSource & initOperator
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/DataDriver.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/DataDriver.java
index ba6909e..4aec571 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/DataDriver.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/DataDriver.java
@@ -136,7 +136,7 @@
               pathList,
               selectedDeviceIdSet.size() == 1 ? selectedDeviceIdSet.iterator().next() : null,
               driverContext.getFragmentInstanceContext(),
-              context.getTimeFilter());
+              context.getTimeFilter().copy());
 
       // used files should be added before mergeLock is unlocked, or they may be deleted by
       // running merge
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
index c7964ae..484a342 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
@@ -177,6 +177,7 @@
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.TimeValuePair;
 import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
+import org.apache.iotdb.tsfile.read.filter.basic.Filter;
 import org.apache.iotdb.tsfile.read.filter.operator.Gt;
 import org.apache.iotdb.tsfile.read.filter.operator.GtEq;
 import org.apache.iotdb.tsfile.utils.Binary;
@@ -243,6 +244,8 @@
                 node.getPlanNodeId(),
                 SeriesScanOperator.class.getSimpleName());
 
+    Filter timeFilter = node.getTimeFilter();
+    Filter valueFilter = node.getValueFilter();
     SeriesScanOperator seriesScanOperator =
         new SeriesScanOperator(
             node.getPlanNodeId(),
@@ -250,8 +253,8 @@
             context.getAllSensors(seriesPath.getDevice(), seriesPath.getMeasurement()),
             seriesPath.getSeriesType(),
             operatorContext,
-            node.getTimeFilter(),
-            node.getValueFilter(),
+            timeFilter != null ? timeFilter.copy() : null,
+            valueFilter != null ? valueFilter.copy() : null,
             ascending);
 
     context.addSourceOperator(seriesScanOperator);
@@ -273,13 +276,15 @@
                 node.getPlanNodeId(),
                 AlignedSeriesScanOperator.class.getSimpleName());
 
+    Filter timeFilter = node.getTimeFilter();
+    Filter valueFilter = node.getValueFilter();
     AlignedSeriesScanOperator seriesScanOperator =
         new AlignedSeriesScanOperator(
             node.getPlanNodeId(),
             seriesPath,
             operatorContext,
-            node.getTimeFilter(),
-            node.getValueFilter(),
+            timeFilter != null ? timeFilter.copy() : null,
+            valueFilter != null ? valueFilter.copy() : null,
             ascending);
 
     context.addSourceOperator(seriesScanOperator);
@@ -320,6 +325,7 @@
         AggregationUtil.calculateMaxAggregationResultSize(
             node.getAggregationDescriptorList(), timeRangeIterator, context.getTypeProvider());
 
+    Filter timeFilter = node.getTimeFilter();
     SeriesAggregationScanOperator aggregateScanOperator =
         new SeriesAggregationScanOperator(
             node.getPlanNodeId(),
@@ -328,7 +334,7 @@
             operatorContext,
             aggregators,
             timeRangeIterator,
-            node.getTimeFilter(),
+            timeFilter != null ? timeFilter.copy() : null,
             ascending,
             node.getGroupByTimeParameter(),
             maxReturnSize);
@@ -381,6 +387,7 @@
         AggregationUtil.calculateMaxAggregationResultSize(
             node.getAggregationDescriptorList(), timeRangeIterator, context.getTypeProvider());
 
+    Filter timeFilter = node.getTimeFilter();
     AlignedSeriesAggregationScanOperator seriesAggregationScanOperator =
         new AlignedSeriesAggregationScanOperator(
             node.getPlanNodeId(),
@@ -388,7 +395,7 @@
             operatorContext,
             aggregators,
             timeRangeIterator,
-            node.getTimeFilter(),
+            timeFilter != null ? timeFilter.copy() : null,
             ascending,
             groupByTimeParameter,
             maxReturnSize);