Murtadha Hubail has posted comments on this change. Change subject: Asterix NCs Fault Tolerance ......................................................................
Patch Set 6: (3 comments) https://asterix-gerrit.ics.uci.edu/#/c/573/6/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixAppRuntimeContext.java File asterix-app/src/main/java/org/apache/asterix/api/common/AsterixAppRuntimeContext.java: Line 420: ExternalLibraryBootstrap.setUpExternaLibraries(isMetadataNode); > We don't end up importing the metadata from the library XML twice when we d That's a good point. I thought that there is something special to be done during setting up the libraries since isMetadataNode flag is passed, but it just inserts new libraries to the library dataset. Since inserting them generates logs, then replaying the logs during the takeover should do the trick. I moved ExternalLibraryBootstrap back to NCApplicationEntryPoint. https://asterix-gerrit.ics.uci.edu/#/c/573/6/asterix-om/src/main/java/org/apache/asterix/om/util/AsterixClusterProperties.java File asterix-om/src/main/java/org/apache/asterix/om/util/AsterixClusterProperties.java: Line 335: } catch (Exception e) { > Is there something else to do here besides printing the stack maybe? Till asked the same question :-) As you can see, the request is added to the pendingTakeoverRequests before we try to send it. If we fail to send it (an exception is thrown under the assumption that the message broker will keep trying to send the msg until the connection is refused), then this means this NC has died but we haven't received the notification yet. When the notification comes, any pending request, that should've been sent to the NC that just died, will be sent to a different active replica. I will add this note in the code. Line 380: } catch (Exception e) { > Ditto with above comment. Same as above. The metadata partition will be directed to a different active replica, then the metadata node takeover request will be sent to the newly assigned replica. -- To view, visit https://asterix-gerrit.ics.uci.edu/573 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ice26d980912a315fcb3efdd571d6ce88717cfea4 Gerrit-PatchSet: 6 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Ian Maxon <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Till Westmann <[email protected]> Gerrit-Reviewer: abdullah alamoudi <[email protected]> Gerrit-HasComments: Yes
