[ https://issues.apache.org/jira/browse/HDDS-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16604676#comment-16604676 ]
Shashikant Banerjee commented on HDDS-297: ------------------------------------------ Thanks [~nandakumar131], for the review. patch v10 addresses your review comments. ..Why do we need the old raftGroup for re-initialization? We need the raft groupId during reinitialization as with MutiRaft support in Ratis, during reinitialize the old RaftGroupId is removed and new one is added for raftServerImpl instance. Below is the code for reference: {code:java} public CompletableFuture<RaftClientReply> reinitializeAsync( ReinitializeRequest request) throws IOException { LOG.info("{}: reinitialize* {}", getId(), request); if (!reinitializeRequest.compareAndSet(null, request)) { throw new IOException("Another reinitialize is already in progress."); } final RaftGroupId oldGroupId = request.getRaftGroupId(); return getImplFuture(oldGroupId) .thenAcceptAsync(RaftServerImpl::shutdown) .thenAccept(_1 -> impls.remove(oldGroupId)) .thenCompose(_1 -> impls.addNew(request.getGroup())) .thenApply(newImpl -> { LOG.debug("{}: newImpl = {}", getId(), newImpl); final boolean started = newImpl.start(); Preconditions.assertTrue(started, () -> getId()+ ": failed to start a new impl: " + newImpl); return new RaftClientReply(request, newImpl.getCommitInfos()); }) .whenComplete((_1, throwable) -> { if (throwable != null) { impls.remove(request.getGroup().getGroupId()); LOG.warn(getId() + ": Failed reinitialize* " + request, throwable); } reinitializeRequest.set(null); }); } {code} > Add pipeline actions in Ozone > ----------------------------- > > Key: HDDS-297 > URL: https://issues.apache.org/jira/browse/HDDS-297 > Project: Hadoop Distributed Data Store > Issue Type: Bug > Components: SCM > Reporter: Mukul Kumar Singh > Assignee: Mukul Kumar Singh > Priority: Major > Fix For: 0.2.1 > > Attachments: HDDS-297.001.patch, HDDS-297.002.patch, > HDDS-297.003.patch, HDDS-297.004.patch, HDDS-297.005.patch, > HDDS-297.006.patch, HDDS-297.007.patch, HDDS-297.008.patch, > HDDS-297.009.patch, HDDS-297.010.patch > > > Pipeline in Ozone are created out of a group of nodes depending upon the > replication factor and type. These pipeline provide a transport protocol for > data transfer. > Inorder to detect any failure of pipeline, SCM should receive pipeline > reports from Datanodes and process it to identify various raft rings. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org