Skip to content

Commit 7a631bc

Browse files
committed
rq
1 parent 36154e5 commit 7a631bc

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/load/LoadTsFileDispatcherImpl.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@
3131
import org.apache.iotdb.commons.consensus.DataRegionId;
3232
import org.apache.iotdb.commons.consensus.index.ProgressIndex;
3333
import org.apache.iotdb.commons.consensus.index.ProgressIndexType;
34+
import org.apache.iotdb.consensus.iot.IoTConsensus;
3435
import org.apache.iotdb.db.conf.IoTDBDescriptor;
36+
import org.apache.iotdb.db.consensus.DataRegionConsensusImpl;
3537
import org.apache.iotdb.db.exception.load.LoadFileException;
3638
import org.apache.iotdb.db.exception.mpp.FragmentInstanceDispatchException;
3739
import org.apache.iotdb.db.pipe.agent.PipeDataNodeAgent;
@@ -182,6 +184,17 @@ public void dispatchLocally(FragmentInstance instance) throws FragmentInstanceDi
182184
cloneTsFileResource = tsFileResource.shallowClone();
183185
}
184186

187+
if (DataRegionConsensusImpl.getInstance() instanceof IoTConsensus
188+
&& !((IoTConsensus) DataRegionConsensusImpl.getInstance())
189+
.getImpl(groupId)
190+
.isActive()) {
191+
throw new FragmentInstanceDispatchException(
192+
RpcUtils.getStatus(
193+
TSStatusCode.WRITE_PROCESS_REJECT,
194+
String.format(
195+
"Peer is inactive and not ready to write request, %s, DataNode Id: %s",
196+
groupId, IoTDBDescriptor.getInstance().getConfig().getDataNodeId())));
197+
}
185198
StorageEngine.getInstance()
186199
.getDataRegion((DataRegionId) groupId)
187200
.loadNewTsFile(

0 commit comments

Comments
 (0)